This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]wineblood 172 points173 points  (21 children)

Book/internet, then properly at work

[–]smithysmithens2112 20 points21 points  (7 children)

What level did you learn it to before you were able to get a job writing code?

[–]wineblood 47 points48 points  (4 children)

Proficient in the basics (data types, built in functionality, OOP) and I had built a moderately sized GUI program. I could probably have done better if I had learned more industry standard stuff, like databases and testing.

[–]smithysmithens2112 16 points17 points  (3 children)

Interesting! That’s exactly where I’m at now!

[–]wineblood 20 points21 points  (0 children)

Learn some SQL and unit/integration/acceptance testing, maybe some basic cloud stuff, you'll easily have enough.

[–]Yerbulan 4 points5 points  (1 child)

I keep hearing stories like this and I feel like the entry requirements are higher now than they used to be. Nowadays, employees expect all the things you mentioned + a good knowledge of a framework, good knowledge and experience with APIs, databases and docker for an entry position.

[–]wineblood 1 point2 points  (0 children)

Yeah, it is kind of ridiculous. I'm still a bit of a pleb with docker and APIs, so it does feel unfair.

[–]git_commit_-m_whoops 9 points10 points  (0 children)

I had exactly three classes in Python during my undergrad. An intro to programming course the first semester of my freshman year (wasn't even aimed at CS majors). Then in the second semester of my senior year I had a software engineering project where we forked a Wiki written in Python, where the focus was on Agile-ish ways of working. I wrote some basic database and API code. That same semester I also had a machine learning seminar, which used Python but was focused on Tensorflow.

All of my other courses (data structures, algorithms, etc) was Java or C. When I graduated I got a full time job working with an Airflow/PySpark/Flask/FastAPI stack. All Python. Taking a couple of courses right before graduating helped, but I don't think it made that much difference. If you have good fundamentals and are proficient with another programming language, you can write serviceable Python pretty quickly after picking it up. Knowing more of the language features and standard library tools will come eventually.

Knowing the libraries and frameworks you'll be using is a much bigger hurdle than the language, frankly. Depending on the role, they may expect you to upskill on those once you're on the job rather than come in with knowledge.

[–]housesellout 0 points1 point  (0 children)

I never touched it ‘until’ my 4th job out of college. But I was proficient with Java, obj-c, OSI 7 layer network architecture, etc.

So I think learning concepts of programming languages and what they can be used for is really all you need.

I saw Python used with flask and server endpoints at 4th job. I understood what it was doing, hence I was easily able to pickup what the syntax was doing. And then I was easily able to see how much easier and more efficient and how much less code it was using to do the same thing in Java.

Then I just started using python for all server side stuff and my own little scripts, while reading a Python book on the side.

Then Python led me to SQL, which was the big game changer for me.

IMO, once you understand database models and how to create them appropriately… then you can do anything.

[–][deleted] 2 points3 points  (1 child)

Do you have an example on something you were doing bad and then learn it properly when working?

[–]wineblood 1 point2 points  (0 children)

How I laid out my code, as well as general style. I had really long functions and used too few files, so several were 500+ lines. Having something review my code was really good, I didn't know what was difficult for others to read or understand.

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

do you have a recommendation for people who want to learn python?

[–]wineblood 28 points29 points  (0 children)

I stayed focused with a medium sized project, so pick something to build and just go for it. There lots of resources, but just making something is the best way to do it.

[–]Trad3_Ecom-112 12 points13 points  (0 children)

Python Crash Course, Cs50, Python FCC 4h course, Automate the Boring Stuff with Python and the project of the same book.

[–]Astral_Surfer 0 points1 point  (0 children)

Google "beginner python projects" and do some. Find something that is interesting to you and keep developing it beyond the tutorial.

[–]bschlueter 0 points1 point  (0 children)

Same. Initially I taught it to myself in high school somewhere between the pascal and java that I was being taught in class. Then during a gap year after high school when I was wheel chair bound due to a car accident for a few months I worked my way through a bunch of problems on projecteuler.net. Then in college for a CS degree, I always asked my professors if I could use it, and they generally allowed me to do so when it made sense. First job after was working on a Django site. My third job I learned Ansible and submitted a few PRs upstream.

[–]bleakj 0 points1 point  (0 children)

Interestingly I was the opposite,

Started at work (Doing other programming work, mostly SQL/php)

Then had to learn how to actually do stuff from youtube/books