Choosing Your Tech Journey
People that are just starting out their learning journey have the tendency of asking this question. Web Development is a Programming type. Mobile App Development is another type. What I’ve found is that Programming usually means software development using Java or Python languages that run on the user’s machine and web development means using a web-based language to produce web-applications.
Now that we have clarity around the question, it’s time to formulate the answer.
I’m a big believer of learning to program using an object oriented programming language first before deciding to specialize. Picking a language like Java forces you to learn about programming concepts, like classes vs objects, data structures, static vs instance methods, etc. And it’s not easy. It’s a strict language that’s not forgiving like some other web-based programming languages.
It’s beneficial to spend 1 to 2 years studying this type of programming to really solidify the basics. You’ll get introduced to topics like Polymorphism in your learning journey and it will be hard to digest.
Once you get a decent understanding of the basics, transcending to a web-based programming environment will be significantly easier. Don’t misunderstand the statement. There are a ton of new topics when you enter web-programming. You’ll be asking yourself why you even bothered studying Java since you have to learn so much new stuff now.
You’ll have a programming language under your belt though. It can only get easier from that point on. While you were studying Java, you focused on one environment, your PC. Now you have to start thinking about code running on the server vs on the client’s browser. How do they communicate? Can elements on the page load asynchronously?
There’s also HTML and CSS. It’s just understood that you know these if you want to display anything on the web.
You finally learn the programming stack that you’ll stick with, and then you find out that there are Frameworks on top of everything. Frontend and Backend. In fact, sometimes they’re frameworks and other times they’re libraries, but they look like they could be frameworks. What’s a framework anyways?
Where do you deploy your application? AWS, GCP? Shared vs dedicated server? Are you using any tools to help you with deployment? CI/CD pipelines?
All of this can get extremely overwhelming for someone just learning to write code. That’s why you want to stick to one programming language and learn the basics of programming. Those concepts can translate over to other languages. If you think that you’ll only write in one programming language for the rest of your life, this field is probably not for you. Just when you feel like you’ve learned something well enough, something new comes out and everyone jumps on board. You’ll have to learn it in order to keep in demand.
Still not convinced and want to jump into web-development? More power to you. That’s what I did. Let me at least provide you with some resources that I wish I had when I started that journey.
Once you pick a frontend environment that you’re planning on working in, like React, you can follow the roadmap for it as well.
If you want to only focus on the backend, there’s a roadmap for that. This time, you’ll focus on Database management and design, API’s, Security, Testing, Containerization, etc. This doesn’t even include the programming languages and frameworks that you’ll have to learn on top of that.
If you really want to get crazy, take a look at the DevOps roadmap.
However, if you choose to take my advice and start off with Java, thankfully there is a roadmap for that too.
The best place to begin your journey though, is on YouTube. It’s loaded with thousands of hours of free tutorials that will walk you through all of the Java concepts that you can think of. Another good resource is Head First; I love those books. They make it extremely simple and enjoyable to learn. And, yes, there is Head First Java.
I wish you luck in your programming career. Remember, we all started off without any programming knowledge and were just as confused. Keep going and it will all make sense…eventually.