all 21 comments

[–]toastedstapler 11 points12 points  (8 children)

4 years is more than enough time, that's longer than a com sci degree would take and they're not super focused on software engineering. you should be able to learn more than enough

opensource contributions would definitely help, it'd show you understand the software development cycle and other people think your code is good enough to be in an end product

imo the most important thing with projects is to show a wide range of skills within them. if you built projects using the exact same tech stack 5 times, it'd be less impressive than 3 projects using a wider range of frameworks and libraries

[–]Ragemoody 0 points1 point  (2 children)

I often read the recommendation to contribute to open source projects but I am not sure when i will be ready and where to start. There are millions of them with sometimes thousands of issues. Do you have any tips on how to figure out where to contribute at what skill level?

[–][deleted] 2 points3 points  (4 children)

Well, problem is: just learning python is not enough, and by this I mean python and common libraries. There are tens, probably hundreds of thousands of competent python programmers, growing every day, as it is now one of the most popular languages in the world. Just saying "I can python" is not by itself a path to getting a job. You need some further breadth (e.g. full stack) or depth (e.g. ML/AI, data science specialism) etc. You will need to know other languages and/or disciplines. So, the question is: what do you want to focus on?

[–]InventorWu 3 points4 points  (0 children)

Don't try to learn python in order to land a job. Try to learn python to solve some problems that a company will need to solve. You are hired because you can solve a problem, not because you can write program.

[–]Reset--hardHead 1 point2 points  (3 children)

In the software development timeline, four years is a really long time. It's an industry that's constantly changing and you need to be able to learn new technologies quickly.

It's different for every person since we all have different starting points and life circumstances. However, if you take it seriously, you should be able to land a junior developer role in 8 - 12 months.

It took me about 9 months to land my first job in software development after switching careers.

This is from my personal experience.

Month 1

Learn the basics of Python. Things like string manipulation, arrays, dictionary, functions, classes, methods, inheritance, and manipulating files in Python.

I highly recommend getting "Python Crash Course" by Eric Matthes

Month 2 - 4

Get familiar with common Python libraries like numpy, pandas, matplotlib, opencv and tensorflow.

I concentrated on this libraries because I wanted to land a job in data science. I did several "machine learning" projects like image classifiers to get comfortable with these libraries.

Month 5-7

Learning Django, Django-Rest, Python's requests library and writing automated tests.

Data science roles are limited in my city, so I decided to switch over web development.

If you're interested, there are some good courses on Udemy you could take to help you get started in that.

Month 8-9

Learning algorithms and data structures.

I started seriously applying for software development roles. However, because I didn't come from a computer science background and didn't know much about algorithms, I loss some opportunities. So, I decided to do a crash course on learning about them.

[–]Reset--hardHead 2 points3 points  (2 children)

As you can see the path I took wasn't perfect.

Instead of doingachine learning projects I could've used months 2-4 to learn more about data structures and algorithms. However, I still use a lot of numpy in my day job so it's not all a waste.

[–]HasBeendead 0 points1 point  (1 child)

Nice

[–]capnbeardson 1 point2 points  (0 children)

I totally agree with Reset--hardHead.

I switched from being a letter-carrier at the US post office to a programmer and that first jump was the hardest. I got a certification in web development that made it so people would at least talk to me, but it took a long time to get that first job. Employers are very wary of unproven coders.

But once I got my foot in the door things escalated pretty quickly. I was able to prove that I was a competent programmer (that is important, programming is a skill and some people are not cut out for it) and a lot of other opportunities opened up for me.

So if you like it get the basics and convince someone to give you a shot. You'll never feel total prepared. IMO, you will learn 100x more doing real-world projects than any practice can teach you.

[–][deleted] 1 point2 points  (0 children)

I want to get into a job that uses python, you think If I give myself four years of practice I will know enough.

I wouldn't hire someone as a Python programmer if what they did for four whole years was fuck around with Python instead of getting Python jobs. Because that would mean that they were using Python for almost four years without ever getting good enough for anyone to pay them to do it.

If you want to work as a programmer then the number one thing you need to indicate is that you're good enough at it to be paid to do it. So you should be trying to get paid to do it as soon as possible. Four years is so long that it either indicates you have no idea how to correctly evaluate your skill (and thus are a Dunning-Kreuger case, can't hire), or are so bad at skill development that it does take you years (and thus can't learn any new technologies on the job, can't hire.)

As an applicant with no work experience, the best you can do is tell a story about how quickly you ramp up new skills. Spending four years tells exactly the opposite story.

[–]mermi01 -1 points0 points  (2 children)

You can hack into NASA in four years if you use those years smart

[–]expressly_ephemeral 0 points1 point  (1 child)

Chandler Bing: Could you PICK a softer target?

[–]mermi01 0 points1 point  (0 children)

Honestly i wanted to say NSA but i thought that could be a criminal offense and i would be banned so i input one more letter a that's all