What do people recommend these days for getting into programming? Aim for backend or front-end jobs? I'd imagine front end jobs are the quickest way in but probably lowest paying as well.
Hope I can answer this post with general advice that will be helpful to anyone asking this question...
Just starting out? Java Course at TeamTreehouse.com - Craig Dennis teaches this course and has made the best "learn to program" course I have experienced after tutoring many CS students both as a TA and privately. Java is the language to learn when you want to learn how computers think, as it has very few abstractions, but it has enough to not bog you down (C++ would require you to learn memory management, and how to consistently reinvent the wheel). Learning Java lets you learn a lot of the concepts of programming that you might miss if you jump straight to a scripting language such as Python or Javascript.
So now you know what you're doing around code because you learned Object-Oriented Concepts with Java.... what's next?
This depends a bit on intentions.
If you are looking to build a startup or product as a one-man-band
Frontend: There is nothing that will treat you better than React and React Native. You get to build apps and websites with a skillset that's about 40% transferrable with React. Of course, other solutions exist, Flutter, Angular, etc. The reason React is popular though (in my opinion) is that you become a very good React developer at the same time as you become a good Javascript developer.
Backend: If you enjoyed the experience of learning Java and decided you didn't hate it, you can build industry-ready application backends with Spring Boot for Java. You will feel entirely overwhelmed, but once you get the concepts down, you will realize that the way Spring Boot works actually takes a lot of the guesswork out. If you are looking to just get started as fast as possible and not worry about the semantics, go with Rails. Rails gets you an application ready to go faster than any other web framework I have used.
In the event you're looking for a job
if you want to do front-end development, I recommend going down the route of native front-end development for iPhones. Learn Swift with SwiftUI and UIKit, and dive deep into the ecosystem. These UI frameworks from Apple are both very finicky and therefore developers that know them in & out and their quirks are in high demand, and will be paid very well in the industry. There are tons of front-end developers making plenty of money but it varies wildly, backend development tends to vary less in pay range.
If you want to do back-end development, take your Java skillset and learn Spring Boot with Hibernate. Tons of companies use this in their stack, and it is a very mature ecosystem that leaves you to do very little guesswork. Little guesswork is good when you're looking to build back-end applications. If you learn Spring Boot, you will feel learn from the most anal developers in the industry at the same time, which is a good thing when it comes to servers.
If you want to just build cool stuff for the fun of it
Javascript/Typescript is so versitile now, you can build servers with NestJS, you can build cloud functions, you can script with it, make frontends, mobile apps, you can do pretty much anything. It is probably the most practical language you can learn now because of the general tooling behind it. You really should learn a strictly-typed language such as Java first though (Some people will disagree with me there of course).
If you want to get into the AI or simulation space
Python is a better pick because the libraries it provides are top-notch in these fields (Tensorflow!). I do not have a lot of experience in these two fields, so I do not do very much Python work.
Dislike ads? Remove them and support the forum:
Subscribe to Fastlane Insiders.