Six figure developer at 21 years old
Nicholas is a Software Engineer without a CS degree who is making six figures at the young age of 21. In this interview Nicholas shares his tips for how to get into coding and get your first dev job.
Hey, so can you introduce yourself?
Hello! My name is Nicholas Gerancher. I am 21 years old and I am currently a Software Engineer at Mapbox. I work in the Maps organization where I have a focus on developing our Maps APIs and data processing pipelines that power our maps in use by tons of customers worldwide. I live in Whitehall, Pennsylvania which is about an hour or so from Philadelphia. I’ve lived in Pennsylvania my whole life, and have only ever worked remotely as a software engineer!
Why did you learn to code?
I first got into electronics as a kid because my father had been in the electronics field previously and thought that was extremely interesting. From there, I started messing with Arduinos which accelerated my interest in programming. After getting into building simple circuits with my Arduino, I realized that I enjoyed building cool things with software rather than just being locked to experimenting on an Arduino.
I also really wanted to get into programming because I wanted to get more into game modding. While I wouldn’t consider myself a huge gamer, whenever I did play any games I always got the itch to want to modify them in some way. This really accelerated my interest in coding and is what pushed me to learn Java. This was my first intro into an object oriented language and I spent a lot of time understanding the language and learning greater programming concepts like control flow, data structures, and algorithmic problem solving.
How did you learn coding?
The first memory I have of learning to code was watching Youtube tutorials around how to program my Arduino. This was my first time really spending a lot of time watching Youtube, and it spiraled into watching hours and hours of tutorials of other programming tutorials.
This is where I eventually found channels like FreeCodeCamp, Fireship, Low Level Learning and lots of other channels that I’m failing to mention. I continued my Youtube-led learning throughout my teens and once I eventually entered High School, I decided to join my local technical school (Lehigh Career and Technical Institute).
During this time I was able to do all of my normal high school classes, but also enjoy a focused lab at LCTI. My lab was called Web design and web programming, where I competed in multiple software competitions on small teams and built lots of projects. These team projects allowed me to learn how to develop software with other people with a scrum-like setup instead of doing everything myself without much collaboration.
During my senior year of high school, I secured a remote, paid internship via LCTI’s internship/co-op program with a software startup called HomeHero at 17 years old. This internship really taught me what an agile software team was and how to work efficiently on a team like this.
After I graduated high school in 2020, I was hired to work at HomeHero as a full time software engineer, which became my first full time job. I worked there until July of 2021, where I transitioned to a software engineering role at Mapbox and is where I work full time now.
How has your life changed since learning to code?
I learned to code at a very young age because I thought it was super fun and interesting. This was before any thought of a career or before I considered the monetary upsides of getting into the software industry. I feel lucky to have started so early because I was able to really enjoy building software on my own without needing to think about how I could monetize my skills.
I am now 21 years old, and the ability to now earn a 6-figure salary and save money is something I feel very lucky to have been able to do so early. Something else that has come with working on fully remote, distributed teams is that I’ve been able to meet and work with lots of very cool and talented people.
What does a typical day as a software developer look like for you?
As a remote software engineer, a typical day for me looks like signing into Slack around 8:30am and preparing my daily tasks. I have a focus on the backend side of software development, and at the moment, I am splitting my time between two large projects at Mapbox.
One of these is with my main team which involves the development of a new data processing pipeline. The other consists of an infrastructure effort to stabilize the cost and user experience of some existing stacks of another team.
These stacks consist of a mixture of Python, Node.js, and C++ within an AWS environment. While these two projects currently take most of my time, I also participate in my team’s on-call rotation. This rotation allows my team to split weeks in which we are responsible for responding to and triaging urgent problems.
How did you get your first web development job?
As I briefly mentioned above, I was able to secure a full time software engineering position directly after high school. During my senior year, I was able to prove my skills as an intern where I built a few internal tools like a database management system for my team at the time.
As an intern, I was responsible for a whole project at a time (frontend, backend, configuration, etc). This really allowed me to touch the entire stack at the same time, which included Vue.js on the frontend, and Go on the backend. With this knowledge, I was then hired onto the team full time as this tech stack was used to build our customer-facing products too.
What are your career goals for the future?
Currently, my career goal is to continue growing my knowledge in the software industry. To me, this means increasing my engineering seniority in the backend/infrastructure world as well as getting industry specific certifications. A long term goal of mine is to build a SaaS startup at some point with the knowledge that I will build over the next 5-10 years as a software engineer.
With that said, I’m always happy to chat with people trying to get into the software industry and point anyone to some great resources that I’ve used myself to get into coding too. There’s lots of free learning opportunities available across the internet and I always love sharing them. If you’d like to connect with me, my Linkedin profile is located here: https://linkedin.com/in/nicksdesk. I also have a personal website, which I am currently in the process of rebuilding, located at https://nicksdesk.com