In this post, I will be sharing my journey to becoming a Software Developer. I learned most of what I know from school, documentation, and building things. I will be sharing some of the challenges I faced along the way.

My Background & Upbringing

I was born and raised in Brooklyn, NY. Lost my dad when I was very young. He was a U.S. Army Special Force Soldier. Losing him hurt our family and we had to grow up without him. My mom was a single parent and she did the best she could to raise us. She worked hard to make sure we had our basic needs. She was a great mom and I am very thankful for her. I grew up with 2 brothers and a sister. I was always a fun, active, outgoing kid. I enjoyed being outside playing, Riding bikes, Roller Skating, Street Football, Basketball you name it me and my brothers did it. We didn't have the best upbringing but we did the best we could.

My Journey to becoming a developer

My journey with coding started when I visited my Big brother who isn't my real big brother but my mentor. We met through the Big Brother Big Sister Program. A non-profit organization. When we met he showed me python. Every day I met with him he had me do a little bit of coding. I didn't like it at first, it seemed very difficult and I couldn't pick it up as fast as I wanted to. I also was into other things around the time so I just stopped coding. I was about 18 at the time.

Fast forward to when I decided to get serious about my life. I decided to go to college on an Athletic Scholarship for Basketball. I decided to major in Computer Science at the time since I remember my previous experience with Python and coding with my mentor. So I figured why not. My first semester was rough. My University taught C++ and it was extremely difficult. Looking back I laugh because I didn't understand that C++ has a massive learning curve compared to Python.

I ended up getting put on academic probation because I failed a lot of my intro CS classes. That brought my GPA down a lot since those CS classes were worth a lot of credits. I remember sitting in my dorm thinking I don't think this is for me and that maybe I should switch my major. Then I thought back to when I felt the same with basketball. I reminded myself all I have to do is work harder and not give up. I wasn't putting enough work in to be sad that I was struggling. I became obsessed, nothing could stop me. During that summer on top of my off-season training. I started reading books on coding, going to the student help center so I could get extra help with CS concepts, reading articles, and doing anything I could do to help myself.

The new fall semester started and everything was going extremely well at first. I was getting better grades on tests and I was learning a lot. Things were looking up. Then...I tore my ACL during a game. I was so frustrated & overwhelmed. I didn't know what to do. I was a college student, that didn't have any money for the surgery at the time. I figured I would just focus on school since I couldn't play Basketball. The problem with that was I was on a scholarship. Meaning if you weren't playing your school could pull your scholarship. That was an unfortunate case for me.

I had to leave my university and move in with my sister. I didn't let this stop me. During my time with my sister, I didn't stop learning about CS fundamentals. I was reading books, watching Youtube videos, and coding. While also working. I was determined to get better. I finally saved up enough money to get my ACL surgery. The surgery shed light on the kind of person I am. I will never forget the pain after. It was excruciating, I have never experienced anything like it ever at the time. I had to relearn how to walk. I couldn't even use the bathroom or bathe by myself. I needed help from my sister.

After about 7 months of rehab, I was back on my feet. I wanted to pick up where I left off with basketball but my school roster was full. They didn't have any open space for me. It was very discouraging because I felt as if they quit on me. I decided to not dwell on things I couldn't change. I sent out my game footage to other schools. No one would take a chance on me because of my injury. I decided to go to a CUNY school that I could afford so I could at least continue my education and get my bachelors in computer science.

This school taught C++ and Java in CS classes. I enjoyed the C++ classes a lot more now since I had crashed and burned before 😂. I was getting A's and B's on tests. Crushing most of my classes. I finished that semester with a 3.2 GPA. Not that impressive but for me, that was a great achievement. During the summer I applied to a few internships and got a few interviews. I didn't get any of them but I was determined to get one. I kept applying and applying.

I finally got an internship at a small web agency. I was so excited. I was finally going to get some experience in the field. This job was completely different from what I was used to. I was working with a team of developers, designers, managers, and even clients. I was learning a lot and I was getting my hands dirty. I was working on projects that were live on the web. I was so excited to be a part of something. I spent a lot of time learning JavaScript, HTML, CSS, and PHP. About SEO, email marketing, and much more. I enjoyed the coding aspect more than anything.

They offered me a Full-Time position as a Web Producer. I jumped at it super excited. I hit the ground running naturally. I was doing everything from updating websites with HTML, CSS, and JavaScript. Creating HTML Email Templates based on designs. Optimizing Website SEO Rankings and Lighthouse Scores. It was a lot of fun. One problem was it started clashing with the school. I would be tired and forget to do assignments and study for the test. I figured I can always go back to school. I was almost done with my 4 years but I decided to leave with my Associate's Degree instead. I just wanted to focus on the practical experience. So that is what I did. I thought the experience was better to have in the long run. I was working there for about 3 years.

Then the Pandemic happened, what a dark time. The company went under and I was distraught. I never saw that coming but that is life you just have to take the punches and roll with them. I took this time to teach myself how to build out my applications from nothing. I deep-dived into JavaScript. Learned the in and outs of the language and all its quirks. I then taught myself React, Next.js, and Redux. I fell in love with building things. I loved the fact I could have an idea and build it on a weekend. That feeling for me was unmatched. I wanted to do this professionally. I wanted to make an impact in building meaningful applications. I wanted to be an actual Software Developer.

I wasn't sure if I was missing information or certain concepts that I should of known. So I decided to pay for Codecademy's full-stack developer path. I started with the front-end curriculum. Learned how to deploy websites for free. I got better with CSS. I could lay out a page in my sleep. Then I learned about version control using git and GitHub. This was an eye-opener for me. At this point, I was super excited because I enjoy the feeling when things are starting to click. It made me want to learn more. Next, I learned unit testing and TDD(Test Driven Development) with Jest. This was so helpful it helped me understand my code better and why things were happening, and some quirks of JavaScript. I learned asynchronous JavaScript and HTTP requests. Then I taught myself React and Redux. I also learned Next.js and other frontend libraries around this time. After I learned all of these things I put them to use building out projects that tested my knowledge and forced me to learn new concepts while building upon what I already knew.

Then I dove into the backend side of things. I started off learning Node.js even though I had experience using PHP. I learned the core of node, how to create & read files and make an HTTP request using the standard node module. Once I felt comfortable with node I moved on to a node framework. I learned express.js. I learned about creating API endpoints and learned how to create server-side applications. I learned about authorization and authentication. Security standards like OAuth 2.0. Common attacks on web applications like XSS attacks and CRSF Attacks. I taught myself how to test APIs using supertest. At this point, I felt confident in my skills. So I built my first server-side application to hone in on these skills and learned a ton along the way.

During this time I was working a non-tech-related job to keep the bills paid but I was still applying for software developer positions all over. Things were slowly starting to open back and get back to "normal". I kept applying, and attending meetups for online events since it was post-COVID there were a lot of events. I meet someone who was hiring for a 1-year contract frontend developer position. I told him I would be happy to apply and interview. We had the interview right after the networking event. I crushed it I was hired. After that year was up it got extended for a few extra months, Almost 2 years total. I learned a ton while working on this project I got to work in a team I knew what it felt like to help solve real-world problems. Some of my team members were from different countries. I finally knew what it feel to hold a job with a software engineer title.

This is how I got started as a Developer. It is not over yet. I'm still learning every day and growing as a developer. I will always be a lifelong student. Trying to perfect my craft. I am currently working on a few projects that I will be sharing soon. I'm also looking for my next place to work where I can learn a ton and further my skills as a developer. I hope you enjoyed my story and Feel free to reach out to me on Twitter or LinkedIn. I enjoy meeting new people and hearing about their experiences in this felid.

Dominic Johnson
Dominic Johnson
Software Developer

I'm a Software Developer that loves to code and build my ideas big or small. I write about what I learned and my experiences and some tips that are helpful.