A Huge portion of Software Engineering is just Web Development
I’ve understood something about the “Software Engineering” field for years; however, it’s taken me a while to figure out how to express this point clearly.
Most of the “Software Engineering” you’ll learn about in, books, podcasts, YouTube videos, Most online courses (i.e. Udemy, etc.), and Software bootcamps revolves around a single niche of software engineering … Web Development.
The list below is essentially, the fundamentals of web development. You’ll be setting yourself up for future success by learning them. These directly translate to platforms beyond the web browser:
Learning these will afford you the ability to build:
- Web Applications
- Mobile Apps
- TV Apps
- Backend Services
What about React?
How to learn all of this?
The trick to learning all of this, is to stop trying to learn it serially. I always recommend learning just enough of the fundamentals to be able to build something real. In reality, that means, you don’t have to learn much to begin with. About 20% should be enough to get started.
This wasn’t always the case … there was a time when in order to build and distribute software, you had to have super deep understanding of lots of obscure technologies. No longer the case. Most of the software you’ll be using to build software is free and open source, meaning, you can freely read the source code, learn from it, and even help improve it. This is one of the best ways to learn.
How to stay focused?
It can be difficult to stay focused because:
- A lot of great tutorials double as stealth advertisements for a product. Nothing wrong with that in practice; however, it can be confusing for learning. To combat this, find a mentor that can help you cut through the noise.
- Lots of really talented software engineers are frankly know-it-all assholes (self-included, and working on it) and they want you to be one too.
NOTE: When I originally wrote this in 2020, #3 was absolutely true. I can safely say now, in 2022, that I no longer take that attitude of know-it-all asshole. I’ve come to realize that there is way too much for any one person to know and we are all constantly in need of learning. I’m much more humble now about what I know and my ability as a software/web developer.
How to get started?
Find a real problem to solve and start working on it. If you can’t think of anything to build, well, then you might want to start asking yourself why you are looking to be a Software Engineer in the first place.