if this is the primary reason you want to get into it, don’t bother. There are two approaches to programming:
Those who get into it purely for money tend to get disgruntled, fail to keep up with trends or new technologies, and burn out eventually. They also have to constantly compete with those who are truly passionate.
This… seems like a really weirdly biased view of the industry. I don’t think it’s true at all, and if it were I’d regard that as a major problem.
Getting into a specialty because you can make money doing it seems like a perfectly reasonable thing to do. Why discourage it?
While it may be reasonable it’s also setting yourself up for failure. This is a line of work that gets increasingly more difficult to keep up with every year.
While this is purely anecdotal In the last 20 years I can’t even count the amount of people who were like “yeah there’s good money in it dude” and they cram and work hard for a while to get hired, and last 2-3 years max before they bail out because it’s hard to keep up. You can’t just learn a set of skills and work for years. The only way to be a 9-5 only programmer is work for the government or some hole in the wall and neither of those are going to be “fun” jobs.
The purely money driven folks have a short shelf life, and they end up facing a crossroads where they either have to do something else entirely for a living or become a manager and they usually don’t become good managers either. Again, purely based on my 20 years of experience.
The truly passionate go home and learn new things and it’s “fun” not “something they have to do for work”. They’re intrinsic learners so they excel at it and constantly perfect their craft. Their careers have an upward or steady trajectory. I love going to “work” every day and can’t believe I’m paid for it. I would venture a guess to say most Lobsters are the same way. We don’t HAVE to go learn the new ____ technology or technique, we GET to.
All I’m trying to say is if you’re only in it for the money there are easier ways than software development to do it. People don’t have to listen to my opinion but I’ll give it out anyway.
I’m conflicted on this because on the one hand, many of the great programmers that I admire were self-taught and are clearly passionate about programming. OTOH many of them learned programming because they needed to work, their passion for music or whatever wasn’t paying the bills.
I think we should refine the question to: must you be passionate about programming to be successful? And I’d say yes, to be anywhere near the top of the programming field you must really love what you do, but that kinda goes for every field.
But do you need to be passionate to “make it” i.e. get a job with good salary and benefits in programming? Probably not, I know many Java programmers that learn just enough to keep their comfy enterprise jobs.
Edit: one more thing. Sometimes the developers that are passionate about programming get caught up in new tech and programming language theory or whatever and they forget to actually ship a product. I am definitely one of those people from time to time. However developers that just code for work are more interested in shipping quickly and getting paid, and employers appreciate this.
This [edit: passion] was why I got into tech, but it isn’t why I’m still in it. I’ve been struggling to recapture that early passion. I found it wasn’t enough without a financial reward, which was hard early on.
Anyway, I agree. People have different reasons for things. It isn’t that burnout is a myth, but I don’t seem to have met a lot of people who did, in the past ten years… I think perhaps because the industry is larger now, in terms of number of employers, and that means there are a lot of second chances for people to find the balance that’s right for them?
For myself, I deal with (mental health) disabilities which are going to lead to burnout anyway, in any career. It just means I optimize for jobs that will do that slower, and save money aggressively for early retirement. Tech is still an attractive path for that. But everybody’s job-satisfaction function, and everybody’s external needs, are different, in a surprising variety of ways.
Books could be a good idea. For ruby I’m reading The well grounded rubyist, and it’s pretty good up to now.
You have alot up there on web development, it would be fun to also have an agregate of links on game programming or even embeded/os development, not exactly beginner work, but harder to find info on I think.
Books have always had the highest learning value for me. I’ve learned to only go to internet tutorials when the tech is so new that books haven’t been written and the docs are insufficient.
The advice about IDEs is good for some languages; dropping a newbie into visual studio or eclipse is not going to be productive. But you can’t hold the shortcomings of the few against IDEs in general; learning Racket without DrRacket or Lua without ZeroBrane or CL without Slime is just arbitrarily handicapping you.
I feel that the general tone of the article is heavely biased by written by someone in .Net things. In my opinion it makes feel like .Net is better than it is and linux programming worse. (My opinion has to be taken with a grain of salt as I never did Windows programming since Windows XP I believe so no .Net)