How to Become a 6 Figure Software Engineer! Without School!
No, really!
What if I told you that you can get a six-figure salary in your first year as a Software Engineer, without having ever stepped foot in a college? Even if you’re 40, 18, and/or have a spouse and kids and a day job.
The Cost
The dream is not impossible, but boy is it going to be hard. This journey will be a test to how badly you want to be an engineer and whether or not you’re willing to put in thousands of precious dedicated hours into programming.
Let me put this in perspective, I wake up at 4am to code, learn new technologies, and work on my projects. Everyday.
My code commits to my GitHub in the last year.
And yes, this also means coming home from work and getting straight to coding. If you’re in your 20s living with your parents, unemployed, don’t have to pay rent, nor cook your own meals, then you’re at an even better position to start blueprinting the next steps on launching your career.
Linus Torvalds (creator of Linux) speaks the truth.
This article is to all you folks that think you are limited and forever destined to not be a software engineer just because you don’t have a degree or you don’t like school or only found out you loved developing late in your career.
Let me get to the chase, you’re not limited.
The Formula
And here’s the formula:
- Work
Yup. Were you expecting a link to all the courses you can take? YouTube channels? Link to other blog posts and other resources? In other words, procrastination material?
Nope. I’m going to cut the bullshit. You need to code, for hours. And there’s no escaping that. You want to be an engineer, not a student, so quit solely relying on courses and books. They are just supplements. You need to devote 90% of your time working on real projects.
Grinding is most of it. And it’s quite underestimated.
The Process. The Grind.
Projects
Start with making a hello world. Then make a todos app. Then come make a prototype of an app you thought about a year ago. Make a website, or a chatbot, something relevant. Your metrics should be how many projects completed, how far you are in your project, and how clean and effective your final code is. Not how many hours you studied; this does not apply in the real world, that’s what they teach you in school.
Open a GitHub to make your work public. That could also encourage you to code more because you have an audience looking at every line of code you write.
GitHub should be your go-to place for finding projects, working on your own or other people’s projects, and showcasing them as if it’s a resume. Pro tip: Always put your GitHub profile on your resume.
Pair Programming
I cannot emphasize the power of coding together. You will be doing this regularly at your first job.
Get a friend with a similar passion or willpower to encourage and undergo this process with you. Having to rebuild your career later in life or simply building a career without a formal college education in Computer Science can be excruciatingly lonely. Hence, it is key to establish a support system. Join hackathons, network on LinkedIn, get in touch with friends (I’m sure many are on the same boat as you), in the open source GitHub community, go to meetups, and simply reach out to strangers on Discord channels so you can build a support that you can rely on to helping you succeed.
If there’s one better method of learning how to become a Software Engineer better than grinding, it’s grinding by pair programming.
I highly suggest sitting together in person. This has helped me tremendously. Two engineers working on one solution while pairing is equivalent to at least three engineers working separately.
If that can’t work, you can pair program online using CodeShare. It’s really cool, it’s like playing a multiplayer videogame, except coding.
You can also check out Code Sandbox, a great pre-configured environment you can use to do code collaboration with other developers with boilerplates for popular frameworks already setup. I’ve had interviews conducted on this website. You could also use Atom Teletype, among other tools.
There is a really cool Atom package called Teletype that lets multiple developers code on the same editor remotely from different workstations.
Learn to type in code. You can start by following tutorials found in many documentations’ guides. Or you can look at example code like I do and try to mimic. Learn to learn as you go. Learn to read documentation instead of consulting courses, books, and articles for programming languages. Learn to read other people’s code, such as the source code of frameworks or libraries you’re trying to learn, since that is the source of truth. It’s all open source on GitHub! All this of course, comes with actually doing it repeatedly over a long period of time.
Interview Questions
Ahh… the infamous interview questions. This will be extra difficult if you don’t have a Bachelor’s in Computer Science. But not to worry!
HackerRankwill give you a million questions for you to solve. Pro tip: if you’ve done many HackerRank questions and have managed to gain a good ranking, put it in your Resume. The funny thing is, a lot of interviewers will ask you to do HackerRank questions in the technical screening.
If you need practical and in-depth solutions to algorithm questions, read the solutions provided and do problems in GeeksForGeek. This was recommended by one of my friends Masrour Basith (he knows his stuff) while pair programming, and it’s a life saver.
Everything previously mentioned applies, except focused on algorithm and data structures questions.
The Pomodoro Method
You’ll have to learn how to be self-disciplined and how to teach yourself. Something like the Pomodoro Method can help discipline you. It did for me.
The Pomodoro Method is a strategy to discipline yourself by strictly enforcing time blocks.
The Pomodoro Method has helped me grind out thousands of hours of work by disciplining myself to the last minute.
Where to Start
This gets asked a lot. Simple but hard.
- Determine dream job.
- Look for person with your dream job on LinkedIn and note the skills.
- Look for job descriptions with your dream job and note the skills.
- Make projects using those skills.
- Profit.
Want to get into ML & AI? Time to learn Python, NumPy, and ScyPy! Get cracking…
Here’s some source code you can look at for Machine Learning and Artificial Intelligence for example.
What Are You Working On Personally?
If you’re curious, I’m making projects using Golang, Python, NodeJS, Java Spring, React, Angular, React Native, Elixir, and Rust on AWS. These technologies are all very popular and practical ways to get started because they will allow you to create market-valuable experience.
React is by far my most beloved front-end library/framework of all time. I’ll make a blog post some day about it’s amazing-ness.
Worth?
Is it painful? Yes. Is it grueling ? Yes. But is it worth it? If a six-figure salary, sitting on your butt all day in front of a computer, working from home, casual everyday, endless job opportunities, recruiters spamming and bombarding your LinkedIn, and working with incredibly talented people who will continuously encourage your growth sounds great to you, then YES it’s worth it.
This Is Impossible!
Software Engineering is a little different than other fields. There’s extremely high demand for engineers who actually know what they are doing. There’s a shortage of good developers and thanks to the high tech world we live today, the demand is at it’s all time high. Yet, the market is saturated with IT specialists, developers from overseas willing to work for pennies on the dollar, and seasoned coders all vying for similar positions, so you’re going to have to go above and beyond to set yourself apart.
Software Engineering is also a very hands on field. Your code speaks louder than your pedigree or personality.
Okay maybe some things are impossible.
Conclusion
All it takes is actual hours of getting your fingers and keyboard keys dirty with dedicated time creating practical software solutions. Be wary of “productivity” traps like books, articles, courses, YouTube videos. They can be useful as supplements but they’ll trick you into thinking you’re actually coding. Imagine reading a baseball book to become a baseball player… Ridiculous right? And don’t let others tell you otherwise. Obviously work smart; study trending technologies that will boost your skill-set and desirability by employers, read job descriptions, do common interview problems. PREP. PREP. PREP.
Nothing will make you a better developer than coding on your own projects,, collaborating with other developers, and reading accomplished developers’ code.
If you want to hear more about the steps I took and hurdles I had to overcome since dropping out of NYU. Then stay tuned and leave comments on what content you would be interested in seeing.
Syed Aman is a Software Engineer looking to move to NYC real soon. Connect with me on LinkedIn!
That’s me Hit me up ANYTIME!
I’m an IT student feeling overwhelmed and considering dropping out so now I’m exploring all my options. All that helps me while tough study times is https://writingbros.com/essay-examples/netflix/ , it’s an amazing website that offers valuable assistance for students during difficult study periods. They provide useful resources and tips that can help you navigate your academic journey more effectively. But, thank you for this article, it’s important for me to see that all is possible even without university…