People learn software engineering for many different reasons. Some seek change. They want to transition into a new career they love. They want the opportunity to make a huge impact on a team of developers who are excited about building an awesome, problem-solving product.
Other people want to start something themselves. They have aspirations of launching a startup and changing the world. Software developers who are capable of making their own ideas into reality have started many of the world’s most innovative startups.
image via happysonship
The path to becoming a self-sufficient developer, who is able to solve problems on their own, often opens up the opportunity to do either. As such, you probably wouldn’t be surprised if I told you there were people who wanted both. It’s not uncommon to both prepare yourself to land a job as a web developer and gain the ability to start something fresh, new and innovative.
However, the process of landing a job as a software developer is a lot different than the process of launching a startup. So, if you want both, what are the practical steps to take?
In most cases, focusing your efforts on landing a job as a developer is the best first tactic. Unless you’re laser-focused, with an idea, customers, and the business-side figured out, getting a job first is probably more practical. There’s one small thing that makes landing a job as a developer so practical…
Take this piece of advice about starting out in a new field from Entrepreneur billionaire Mark Cuban:
“Now that you have graduated, it’s your chance to get paid to learn. And what if you aren’t a recent college grad? The same logic applies. It is time to get paid to learn.”
Get paid to learn.
In most scenarios, it’s important to learn the skills that will make you an In-Demand Software Engineer, who is capable of navigating the technical interview process. Skills around things like algorithms and data structures, and theoretical concepts that might be disconnected from building the first version of a tech startup, are actually worth learning.
Focus on learning the skills you need to get your first job as a junior web developer. In the process, you’ll also learn all the skills you need to build your idea.
With software engineering, there’s always more to learn. Your primary expectation as a junior software developer is to spend as much of your time learning as possible. Once you land your first job as a software engineer, you are being paid to learn. That’s why developers with years of experience working in the industry can command such an impressive salary.
Unlike most career fields, you likely won’t have all the right answers all the time when you start as a junior web developer. Instead, you will often encounter problems and need to figure out the solutions to them. The more important skill in Software engineering is the ability to solve problems. Working as a junior web developer will give you the advantage you need to learn how to solve complex problems.
In most companies, you will have access to senior developers. Pair programming with senior developers is the most effective way to learn the craft of software engineering. Not only will your first job give you the opportunity to work with experienced developers, they’ll also pay you for doing it.
After you land a job as a developer, you’ll notice that you’ll begin learning at a rapid speed. In the process of working for a company, you’ll learn how companies scale across multiple complex projects. You’ll learn how a team hires developers. You’ll learn how teams of developers interact with each other. And you’ll learn how to interact with other teams, like product management and quality assurance.
This doesn’t mean that you should give up on your dream of building your own idea.
In fact, there is one thing you can do to differentiate yourself from other candidates in the hiring process….
One of the most effective things you can do on your path to landing a job as a software engineer is to work on a passion project. Passion projects are projects you’re working on that you’re genuinely excited about. Some developers also call these projects “side projects.”
On the one hand, working on a passion project is a lot like trying to launch a tech startup. Some passion projects can get widespread adoption, usage, and press. These types of projects, and other passion-based initiatives like open source contributions, prove one important thing:
Working on a passion project shows that you genuinely care about the craft of programming and want to do it in your spare time. It’s also highly likely that you’ll end up talking about the project on future interviews. Talking about your project with genuine and authentic passion will be easy, and it’s pretty clear that hiring managers want to hire passionate developers.
You might be wondering if side-projects ever turn into real profitable businesses. They do. It’s how GitHub started. It’s how Facebook started. It’s how Asana started. You get the picture.
There are few other career options that are so closely knit to the underpinnings of the hottest companies in Silicon Valley. Many of these companies started with humble beginnings of just a computer programmer with an idea.
Once you have the ability to make an idea a reality with nothing but a computer, text editor and programming language, nothing can stop you.
If you enjoyed this post, share it on Facebook or Twitter!
Awesome article.. sounds like genuine advice for those trying transition multiple passions, but would love to know who wrote the article!