I used to teach programming to students and really enjoyed that novice people learn how to program. But when I read things such as how someone got a high paying programming job with only 5 months of learning, I can't stop thinking about an old saying in the stock markets that goes something like "when your taxi driver starts giving you tips on which stocks to buy, sell it all and leave the stock market asap"..
I don't know if it is me and I'm too stupid that I've done 12 of higher level studies (5 BSc + 2 MSc + 5 PhD) when 5 months were enough, or if I'm targeting the wrong subfield. If we look carefully, all this "boom" with shitty software practices and instability is on web development and front end tools, and this is what most of these "5 month" learners are targeting. Similarly to the taxi driver above, I guess I should leave the web development job market asap..
Did you actually do that stuff to get a job as a programmer? Getting that much education with the idea that it would make you more employable probably would be pretty misguided, but I doubt that was your motivation.
I don't think the investing comparison is apt either. When a taxi driver is paying attention to the stock market, it is getting a lot of attention from the public. This is a different phenomenon than companies offering high wages for (presumably) relatively basic skills.
> Did you actually do that stuff to get a job as a programmer?
No, I just climbed the academic ladder as I was very fond of teaching. Unfortunately the academic world has too few jobs..
> I don't think the investing comparison is apt either. When a taxi driver is paying attention to the stock market, it is getting a lot of attention from the public.
The idea behind the saying is that when everyone is paying too much attention to the stock market it's because it has been rising so fast, lots of "dumb money" has been coming in, and a crash is imminent. I see something similar when I read about learning how to program in 5 months.
> This is a different phenomenon than companies offering high wages for (presumably) relatively basic skills.
These workers with basic skills is similar to the "dumb money" that is entering the market, with all its consequences..
Hi jventura, I completely agree with you with the exception of one axiom: efficiency is more important than time spent when learning. If you read the article, I only mention the best way to get your first programming job with the least amount of friction. It takes years and years to truly develop your skills, but I have met many people that get discouraged because of the little progress they seem to be making when they are starting off (especially when they don't come from a computer science background like yourself). I wanted to write this article to show someone how it might be done in order to get those positive reinforcements as soon as possible so they become good developers in the future and they want to put in those years of practice (but efficiently) to get truly proficient.
Hi evantai, please don't get me wrong as I'm really glad that you could figure out a better deal for you.
My comment should be seen more as a kind-of rant because, in one hand, there's lots of instability on the web dev subfield, on the other hand, there's too much people without real skills entering the job market and these things are interconnected. On a final note, my comment only shows to me that I should think about moving along to another CS subfield, as web dev is currently too "hot" and plagued by low quality tooling and practices.
All in all, it is me that is wrong, not you, as I've probably lost too much time learning only to be doing web dev.. :)
> 2. Demand for people with this skill must be higher than the supply.
This point goes against all of his other points. A skill that takes six months to get extremely good at is going to be commoditized in short order. So, it seems like a mistake to bank on this kind of knowledge being relevant in 40 years.
Honestly though, I am starting to feel like a fool for completing a CS degree. While I have a great career, most of the what I learned was useless. Back in 2012, I couldn't get a job doing machine learning because nobody wanted people with those skills, and the few companies that did looked for Ph.Ds. So even though I could build do cool stuff with ML in plain Octave, I couldn't get a job in the field.
Today, all you need to do is to break into the field is read a few books and learn a tool. The skill has been completely commoditized, rendering all that I work I did moot. Then again, at least now I sort of have a job in the field.
Thanks for taking the time to read the article mywittyname. You make a valid point, and the more experience I gain, the more I see the barrier to entry being lowered. One thing that counterbalances this barrier to entry is that the development in the industry is exponential right now that even if you enter the field and overcome this barrier, you have to keep going. Resting on your laurels will make you irrelevant quite quickly as you need to constantly learn the new "tools" that come out. So I believe that if you have the ambitious to constantly learn, then you can stay relevant for the next 40 years.
PS I actually do see a lot of value in a CS degree. I find myself spending more and more time reading and learning about general CS theories and concepts lately. I find them extremely useful for expanding my higher level understanding of the field and I think it's really important. I don't think you can truly be a GREAT programmer without them.
Hi agree somewhat with you (read my opinion on the other comment) and the only solution so far seems to be to go "up the ladder" where it is not so easy for beginners to reach. Maybe it's Machine Learning, maybe dealing with other kind of data, maybe mobile development, maybe developing specialized algorithms, I don't know. My only problem is that currently I'm a freelancer, so probably I'll have to reinvent myself..
You're right that the solution is to move into a field that was out-of-reach to beginners. That was actually my entire purpose for going and getting a CS degree. I discovered data mining/machine learning in and figured that the crazy math required would keep it somewhat exclusive.
It didn't. Anaconda or Tensorflow + a book is all you need anymore.
I think the author is exploiting a fundamental fact of programming: smart people make hard things easy. So you're either in the top X% of smart CS people that make these awesome tools that allow everyone to do complex things, or you're on the other side competing against smart people like the author who just leverage these tools to build cool products.
It's like being in a fish tank with sharks and piranhas, no matter what side you go to, somebody's going to eat you up.
I'm a self-taught programmer and I'm considering getting a CS degree. I can do quite a bit, but I don't see any storied jobs open to people with only a few months of training. Is the demand really that high? Am I looking in the wrong place?
I'm motivated to get the degree because I actually want to learn the material though, not just because I want to make money.
That's what I did. I started off learning LAMP back in high school and found a good job so I didn't bother with college after the first year.
What I got most out of it was math. The CS courses are largely trivial if you're a decent developer who keeps up with learning. However, I would have never learned calc, linear algebra, coding theory, or encryption on my own. So, if I were to go back and talk to pre-college me, I'd tell him to skip CS and just do straight math/physics.
Hi RUG3Y. From my experience, there are a ton of jobs for the skill-set I have mentioned above in my article. There will be more jobs in metropolitan areas than rural, but you can also find remote friendly workplaces. I've mentioned some places to check out in the article.
As for CS degree I don't have one so you will have to speak with someone that does. In my opinion there is no better learning than when you are employed and working in teams so I prefer that method for practicality purposes.
I don't think you can get good at anything non-trivial. I think you can become average. That's why I recommended in the article to start working in teams and on real projects. That's when the real growth happens, and that's why you want to get hired as soon as possible. From there, you're on equal footing with everyone else and the rest is ambition.
What does "code" mean to a person who doesn't know data structures or algorithms? This man says he's a "software developer". What does that mean if all you know is JS and Angular? Web Apps?
I'm a web developer WITHOUT a CS degree, but with many years of JS etc. experience... what can I do to transition into the role of "software developer", which undoubtedly comes with a higher salary??
18 comments
[ 2.7 ms ] story [ 34.3 ms ] threadI don't know if it is me and I'm too stupid that I've done 12 of higher level studies (5 BSc + 2 MSc + 5 PhD) when 5 months were enough, or if I'm targeting the wrong subfield. If we look carefully, all this "boom" with shitty software practices and instability is on web development and front end tools, and this is what most of these "5 month" learners are targeting. Similarly to the taxi driver above, I guess I should leave the web development job market asap..
I don't think the investing comparison is apt either. When a taxi driver is paying attention to the stock market, it is getting a lot of attention from the public. This is a different phenomenon than companies offering high wages for (presumably) relatively basic skills.
No, I just climbed the academic ladder as I was very fond of teaching. Unfortunately the academic world has too few jobs..
> I don't think the investing comparison is apt either. When a taxi driver is paying attention to the stock market, it is getting a lot of attention from the public.
The idea behind the saying is that when everyone is paying too much attention to the stock market it's because it has been rising so fast, lots of "dumb money" has been coming in, and a crash is imminent. I see something similar when I read about learning how to program in 5 months.
> This is a different phenomenon than companies offering high wages for (presumably) relatively basic skills.
These workers with basic skills is similar to the "dumb money" that is entering the market, with all its consequences..
My comment should be seen more as a kind-of rant because, in one hand, there's lots of instability on the web dev subfield, on the other hand, there's too much people without real skills entering the job market and these things are interconnected. On a final note, my comment only shows to me that I should think about moving along to another CS subfield, as web dev is currently too "hot" and plagued by low quality tooling and practices.
All in all, it is me that is wrong, not you, as I've probably lost too much time learning only to be doing web dev.. :)
This point goes against all of his other points. A skill that takes six months to get extremely good at is going to be commoditized in short order. So, it seems like a mistake to bank on this kind of knowledge being relevant in 40 years.
Honestly though, I am starting to feel like a fool for completing a CS degree. While I have a great career, most of the what I learned was useless. Back in 2012, I couldn't get a job doing machine learning because nobody wanted people with those skills, and the few companies that did looked for Ph.Ds. So even though I could build do cool stuff with ML in plain Octave, I couldn't get a job in the field.
Today, all you need to do is to break into the field is read a few books and learn a tool. The skill has been completely commoditized, rendering all that I work I did moot. Then again, at least now I sort of have a job in the field.
PS I actually do see a lot of value in a CS degree. I find myself spending more and more time reading and learning about general CS theories and concepts lately. I find them extremely useful for expanding my higher level understanding of the field and I think it's really important. I don't think you can truly be a GREAT programmer without them.
It didn't. Anaconda or Tensorflow + a book is all you need anymore.
I think the author is exploiting a fundamental fact of programming: smart people make hard things easy. So you're either in the top X% of smart CS people that make these awesome tools that allow everyone to do complex things, or you're on the other side competing against smart people like the author who just leverage these tools to build cool products.
It's like being in a fish tank with sharks and piranhas, no matter what side you go to, somebody's going to eat you up.
What I got most out of it was math. The CS courses are largely trivial if you're a decent developer who keeps up with learning. However, I would have never learned calc, linear algebra, coding theory, or encryption on my own. So, if I were to go back and talk to pre-college me, I'd tell him to skip CS and just do straight math/physics.
As for CS degree I don't have one so you will have to speak with someone that does. In my opinion there is no better learning than when you are employed and working in teams so I prefer that method for practicality purposes.
However, please realize that it's a bit naive to think that you get extremely good at anything non-trivial in 6 months.
https://en.wikipedia.org/wiki/Outliers_(book)
I'm a web developer WITHOUT a CS degree, but with many years of JS etc. experience... what can I do to transition into the role of "software developer", which undoubtedly comes with a higher salary??