How many time did you spend learning programming?
Posted by huejiojio@reddit | learnprogramming | View on Reddit | 34 comments
Hi, everyone! I'm currently self-learning programming (Python), and I've found that I really enjoy learning it! But the reason why I'm trying to learn is beacause I want to make a career change, and right now I'm unemployed. I make this question having this practical condition in mind, I would like to have a temporal expectation, even if I know that it's hard to tell accurately how many time I will spend. So I wanted to know about your case.
Thank you very much in advance!
vegan_antitheist@reddit
It's about 25 years now. It takes about 10 years to get good at it. Around 3 years to get good enough to get a job. But IT is a lot more than just programming. Good programming isn't that important for success.
deleted_by_reddit@reddit
[removed]
AdeptLilPotato@reddit
However, most people with CS degrees aren’t actually that skilled in programming.
If you take time to build out a bunch of your own projects, you will come out more skilled than them.
I know because I tutor some now. Even a genius I was tutoring, but he was simply lacking experience. He got the degree, but didn’t come out with the skill gained through experience. He picked things up really quick, but experience even with him being faster simply isn’t a quick process.
PoMoAnachro@reddit
In other words: as long as any other professional career takes to learn.
Most people won't become a software developer any faster than they could become an engineer, nurse, or certified accountant.
One advantage though is it is a lot easier to self teach yourself software development than, say, nursing so you can learn faster if you're brighter or more driven than average.
exomni@reddit
LMFAO, this is so not anywhere close to true. You can't become an engineer, nurse, or certified accountant after a 6-week bootcamp dude, but tons of junior engineers in the US have successfully landed jobs with nothing else.
PoMoAnachro@reddit
You can't become a hireable software engineer after a 6 week bootcamp either.
There was a period where they were hiring anyone with a pulse, but those days were an aberration. We're back to 4 year degrees being the standard, though highly motivated people can still probably get there in a year. You could probably also do all the CS classes in a 4 year degree almost as fast if you skipped the electives.
huejiojio@reddit (OP)
Thank you! Your insight is very helpful :)
changingpace1300@reddit
Good answer 👏
akoOfIxtall@reddit
Spent? You're kind enough to think that i finished it?
Rain-And-Coffee@reddit
Since you are currently unemployed you might have a slight advantage.
If I were you, and determined I was serious about making this change, I would treat it like a job.
Get up early, got to coffee shop, and crank out 2-3 solid hours, then another 1 or 2 later in the day. Obviously adjust as needed.
I would also try and have some structure, maybe follow an online free program. Then do a self assessment 6 months out and see where you are.
Aglet_Green@reddit
44 years. I'm just about done figuring out how to type out "Hello World," but I figure it's a good start.
Muhammad_C@reddit
1st Tech Role
My first tech role was “Process Engineer - Technology” (PE), or also “IT App Analyst”, at Amazon, and I only had ~1 month of self teaching myself programming in JavaScript.
The PE role builds software for Amazon.com Seller Support. The primary tool is an internal visual scripting tool called “Paramount Workflow Designer”, but also uses programming languages JavaScript, Ruby, and ION & Fusion (internal).
Background
I graduate with a Bachelor of Arts in Art in Summer 2021 and started as a College Hire L4 Area Manager on the Warehouse Ops side of Amazon.
Side Note: I worked for a few years as a Tier 1 Warehouse Associate while working on my bachelors degree
Programming Journey
I started to seriously learn programming in December 2021 after work as an Area Manager.
I started with JavaScript and book “Head First JavaScript”, along with YouTube videos & edabit.com to practice syntax.
Transition to Process Engineer - Technology
I ended up getting lucky and finding this PE on the Amazon.jobs site.
The requirements for the L4 role are low, no specific degree is required nor work experience; but they do want you to know some programming & process mapping (or similar).
Timeline
Interview Process
After December 2021 I slacked off and stopped self teaching myself programming. So, when I did my interview for PE I only had ~1 month of learning JavaScript.
Luckily, the interview process is fairly easy and only required reading code snippets that covered programming fundamentals (I.e. variables, loops, functions, arrays, exceptions, etc..).
I somehow passed even though I gave up on answering the last question that covered looping through an array because I stopped at the arrays section.
2nd Tech Role
Currently, I’m in my second tech role working on converting over as a “Software Development Engineer” (SDE) at Amazon (internally).
Note: * ~17 months after self teaching myself programming in JavaScript I was able to internally start the conversion process as a software engineer * I started back self teaching myself programming after internally transferring over as a Process Engineer - Technology * After being a PE & self teaching programming for ~8 months I enrolled at Western Governors University (WGU) for a 2nd bachelors, Bachelor of Science in Software Development (BSSD) * Completed the BSSD from WGU in ~13 months (2 terms + term extension); and only paid $8k USD total
t00oldforthis@reddit
About 1.5 years before I landed a job and then about 4 years and counting since. I still am learning every single day, it's the coolest thing about fields like this!
alwyn@reddit
38 years and still going...
Aexxys@reddit
11 years soon 12
NemATolvajkergetok@reddit
This learning curve never ends. I've been on it for 26 years.
nagmamantikang_bayag@reddit
Two main factors: how fast you can absorb things and how much time you can dedicate to studying.
Learning the fundamentals could take about 1-2 months if you dedicate yourself full time.
Structured learning helps a ton instead of mindlessly googling programming concepts.
After learning the fundamentals, start building projects.
Start simple, then gradually add/learn advanced features such as OOP, database connection, async, login sessions, security, design patterns, etc.
This could easily take months but building projects will accelerate your learning 10x.
So with a structured approach, I’d say the minimum is 6 months to 1 year of full time learning.
Also, take breaks from time to time. If you study every day without breaks, it will only burn you out and make you hate what you’re doing.
exomni@reddit
How long to become employable in Python?
Months, if you find the right job. Learn Web development: how to write RESTful backends, how to use an ORM, basic SQL, how to write unit tests. Learn HTML/CSS and basic ES6 JavaScript for the frontend.
With that very little amount you can start doing lots of basic web work in very short order, which means someone will be willing to pay you.
BlueHost_gr@reddit
35 years. Started to learn with gwbasic and now at my 47 still learning everyday although I am a professional running my own business as a programmer.
kevinossia@reddit
Thousands of hours spread out over a few years.
After that, a lifetime.
Careful-Lecture-9846@reddit
I spend many a time
HoboBeered@reddit
20 years or so and counting...
And I'm still not very good at it.
arkvesper@reddit
From not coding at all to being employable, without any courses or anything? Unless you have good connections, I would give yourself a year, and start building projects to throw into a portfolio (git & personal website)
It could be less, but it could easily be more, and that's a reasonable expectation imo.
sorry, I know that's probably not what you want to hear but unless you're good at networking or have someone that can get you interviews, it's likely to be a bit of a grind
huejiojio@reddit (OP)
Thank you very much! Your answer has helped me a lot!
CodeTinkerer@reddit
It also depends on what you choose to learn and how much time you spent. A while ago, someone said they only wanted to spend 2-3 hours a week. That's too little. You don't have to go crazy and spend 40 hours a week. It's hard to absorb material at that pace, but maybe 10-12 hours a week?
The key is more about consistency. If you do too much, and then get burnt out and take a break for a few weeks or a few months, you can potentially forget all you've learned. Even a week or two can start to lead to forgetfulness.
The key is to program, don't try to rely on Chat GPT if you get stuck, and ask yourself, each day, what did I learn yesterday, and what did you learn today? What can you program?
Your ability to understand programming, to program, and to debug your programs should be the benchmark by which you judge (some) of your progress.
huejiojio@reddit (OP)
Thanks! I'm binging all the concepts so I can start playing and doing things. Your advice is very helpful!
CodeTinkerer@reddit
Try writing down what those concepts are, say, in a Word or Google document or some note taking app. It's easy to get confused when you're trying to absorb that material. Summarizing is a key skill that forces you to explain, on paper, what you understand. If you don't know what you understand, you probably don't understand it.
f0brin@reddit
Also self-taught and currently working as Frontend Developer. I was unemployed for a while in a foreign country. Spent literally 8-10 hours a day almost everyday. It became my full time job. I of course gave myself time to spend with my friends and my partner. Now that I'm employed I chilled a little and currently learning backend maybe 2 hours every other day.
It's a never ending journey and if you really love it, it's just rewarding. You've got this. Good luck!
lambdaline@reddit
I spent about two years studying it seriously before I got a job. And by studying it seriously, I mean devoting around 2 to 4 hours every week day to working on it most weeks. It was about a year and a couple of months before I started casually looking.
But it's worth noting that I'd done some casual programming (learning a bit of python, java, sql and php, mostly, though not enought to make anything substantial in any of those languages) when I was in high school and had dabbled here and there with it through college, including at some point doing about half of the Ruby track of the Odin Project, back when it was rails-oriented. It wasn't the most effective learning, but it got me comfortable enough with the basics of it (i.e. I had a pretty instinctive grasp of how to write a loop and conditionals and functions, and knew what recursion did even if I didn't always know how to apply it; I was mostly at the point where I didn't know how to string together the fundamentals to make a large app that did something useful and had significant gaps in the theory).
huejiojio@reddit (OP)
Thank you very much for your experience! :)
SoftwareDoctor@reddit
I started coding when I was 15 and found my first programmer job when I was 20. And I spend around 4 hours a day coding on average. I didn't do any bootcamps or courses or anything, so it definitely can be done faster.
huejiojio@reddit (OP)
Thanks for sharing your experience with me :)
ajorigman@reddit
For me? 6 months from deciding to change careers to starting as a junior dev.
But as others have said, it varies a lot between people. My approach was to immerse myself and be completely full on which fast tracked things. Also did a bootcamp so I wasn’t completely self taught, which again massively sped things up as I had a structure and timeline already mapped out for me with plenty of support.
onebraincellperson@reddit
lucky guy!