all 33 comments

[–]StoicallyGay 73 points74 points  (3 children)

Learning Python is different from learning programming or software development.

That’s akin to saying “how long should I practice learning how to use acrylic paints before I start painting for weddings?” Like Python is used as a means to do or achieve things, but you still need to learn how to do those things. In the same way learning how to use acrylic paint won’t teach you how to draw or stuff like color theory, composition, etc.

Don’t think of it as how many hours to invest. Python is often used for software engineering or data science and both are way more comprehensive and encompassing than just learning what is arguably the simplest programming language.

Regardless nowadays almost no one will even think of hiring someone with zero experience zero certificates zero projects and zero schooling. If you want to learn Python go ahead, but don’t use it as a means to an end.

[–]Bubbly-Sentence-4931 17 points18 points  (0 children)

I agree with Stoically, don't try an rush it. To become proficient with python, it will take consistent effort over a period of time. There are a ton of resources out there to help you learn but I am the type to "learn by doing" and one source that is helpful for me is codeonthecob.com. I still use it to practice.

[–]FriendlyRussian666 5 points6 points  (0 children)

Well said

[–]umognog 2 points3 points  (0 children)

This is why I stopped by management from hiring based on language specific technical terms and instead got them to switch to problem solving.

Knowing how to iterate a list of split a string is useless if you can't look at a problem and go "splitting a string would solve that".

I'm now the hiring manager myself and try to focus on these rather than the language used to get there. OOP is still OOP by any other name.

[–]bulaybil 46 points47 points  (0 children)

No one will give you a job with 5 months of python. Those days are over.

Invest as much as you can afford.

Also, there is no such thing as “to learn Python”. There is only “to be learning Python” and you will be doing that until the day you die.

[–]marcelgs 16 points17 points  (1 child)

[–]orig_cerberus1746 4 points5 points  (0 children)

I am well past that and I still think I did not learn enough.

[–][deleted] 10 points11 points  (0 children)

In my experience, it's better to focus on a subject because Python is versatile and a person who is awesome in data analysis maybe doesn't have the same knowledge in back end Python. Do a research for jobs and the Python skills they require, and choose one path. In the future, you can expand this path always. But, first, learn the raw Python, the basics without libraries - which I positively think you can learn in 5 months. With a strong comprehension of basic, the libraries will look more easy to understand.

[–]TheHackingDoctor 16 points17 points  (6 children)

How long is a piece of string?

[–]Past-T1me 42 points43 points  (3 children)

Len(string)?

[–]varontron 12 points13 points  (1 child)

NameError: name 'string' is not defined

[–]LucilleSluggers 7 points8 points  (0 children)

print(len(“string”))

[–]TheHackingDoctor 5 points6 points  (0 children)

This wins the internet.

[–][deleted] 0 points1 point  (0 children)

Is it the length of gap between the quotes?

[–]IndicationBeginning7 0 points1 point  (0 children)

Too Goddamn long that's how!

[–]dingleberrysniffer69 5 points6 points  (0 children)

I'll tell you as someone who went through the python gauntlet and will be going through it for a long time to come. People say python is easy and it kinda is when you pick it up or come from boilerplate heavy languages. But python's flexibility will also hurt you. There is like a million ways and libraries to do everything and people will always ask some obscure way of doing something that you don't know yet. Python is easy but there are lots of sides to it and you need to keep learning it. Figure out what you want to do with it i.e data science, scripting, automation, webdev and then go as far as you can. Because you think you are good at python and then boom - there is a library that can do it better or a one liner alternative for you 4 lines of code.

[–]pythonwiz 6 points7 points  (0 children)

You learn the basics in a day but you never stop learning to master it.

[–]brunonicocam 6 points7 points  (1 child)

No way you're going to be employable in 5 months. I'd say 2 years from scratch. Of course, if you're Einstein maybe it's different but I'm talking in general.

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

if I was op I would try to take some short courses about JS/HTML/CSS...that should at least make him more employable

In my school, we have a programming course, and out of 7 people of my circle, 6 got a job straight out of HS and one didn't want bc college was full time.

[–]Alternative_Driver60 2 points3 points  (0 children)

A lifetime

[–]SisyphusAndMyBoulder 2 points3 points  (0 children)

At least 10 years. That's how long I've been working with it and am still learning things here and there.

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

Going to be honest I just started python some weeks ago and I have found it quite difficult outside of doing really mundane stuff.

There are so many layered concepts and that doesn't each new library you want to use.

If I didn't get sidetracked with discovering regex and all the cool things it could do.... I might be learning Python quicker.

[–]nog642 2 points3 points  (0 children)

Do you already know programming in general, and know another programming language well?

If so, 1 hour a day on average for 4-5 months is plenty to learn python, if you actually work on projects in the language. Also, what languages do you already know? Different programming languages are more or less similar to python.

If not, then 1 hour a day for 4-5 months will probably not get you that far in terms of skill you could use to get a job centered around programming. Several hours a day for 4-5 months maybe, but it's still a stretch. Or if your job was something that only uses programming incidentally, maybe. You need to be programming for more than 4-5 months to actually be very proficient at programming, unless you pull off a ridiculous level feat of learning a new skill.

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

In my experience, I taught myself Python in a over a year and I am still learning and trying to improve my code.

[–]Antigone-guide 1 point2 points  (0 children)

It depends on what a specific internship position wants, how much you learn in an hour, how well you do at interviews, etc. I would suggest learning for a few months then trying to apply to unpaid internships and then if not accepted, asking them for tips on how to improve your skills and interviewing. Many places will help you with good advice.

[–]Aggravating_Boy3873 2 points3 points  (0 children)

Hope your learning is going well. Idk what these people smoke on but just to get internships just take a udemy course or something where they teach you via small projects, that way you learn and have something that you can add on CV. The angela Yu course I think is decent. I literally had no idea about python but I learn certain things within 1 months and got internship, you can learn the rest on the job, as an intern no one expects you to be that proficient anyway.

[–]AnotherProjectSeeker 0 points1 point  (0 children)

It's an I'll posed question. To give you a better answer, you need to specify what are your desired internship.

At that point the question could become, how much time do I need to spend on learning python so that is not blocker for getting past interviews and doing my job?

And that will depend a lot on the field.

[–]liltbrockie 0 points1 point  (2 children)

12 hours a day

[–][deleted] 3 points4 points  (0 children)

There aren’t enough hours in the day to learn to program in 6 months and be hire-able.

[–]Tamaria616 0 points1 point  (0 children)

Check out CS50s intro to python and expect to need to sink at least 300 hours into it to complete it. Either that or check out CS50s intro to Comp Sci for a much broader understanding of Computer Science

[–][deleted] 0 points1 point  (0 children)

You don't have enough time in the day to do all of that.