My Software Developer Journey
Have you ever been stuck trying to understand or accomplish something for so long you gave up? And just when you thought you would never be able to accomplish your goal, something came along and provided you the way out?
This article outlines my experience learning to code and why you should never give up on what you really want to do.
Starting the Journey
My journey starts several years ago. I’ve always enjoyed working with technology, and understanding how it works has always fascinated me. This led me to taking a job in technical support. I enjoyed it, but there was always something missing. I wanted to not only help customers with technology but also create the tech they used. I wanted to be a software developer.
The issue was I really didn’t know how to accomplish this seemingly monumental task. I had so many questions. Where should I start? What language should I learn? What vertical should I go into? Mobile? Web? Front-end? Back-end? Full-stack? With so many things to choose from I ended up just starting with mobile development. I thought, ‘I have an iPhone, and I’d like to create something that I could use on my phone’. I jumped on udemy and purchased the first few courses that came up about iOS development in my search ready to learn.
At first, I thought I was learning. I was building applications and using them on my phone, I felt a sense of accomplishment. The real test came when I started to try to build something on my own. I had an idea for an app I wanted to build. In the beginning I was feeling pretty confident. I had created the UI, had a solid idea of how I wanted the app to work. The trouble came when I started creating the logic of the app. I had an array/dictionary of items I wanted to loop over and display on the screen.
This should have been an easy task, after all I had running through udemy courses for almost 7 months. I should at least be able to create a simple loop right? Wrong. I not only couldn’t create a loop, I didn’t even understand what the loop was supposed to do. And I did google, the trouble was, if you don’t know what the loop is supposed to do, google doesn’t know either.
It was in that moment, I knew I actually had learned nothing. You see, the issue I found I had with tutorials was that I was so focused on following along with what they were typing, I wasn’t listening to what they were saying. This gave me a working application, but I had no idea how it worked or even how I built it.
At this point, I basically gave up on coding. I had no real knowledge, no support system and no idea how to research issues. I thought that coding was only for people smarter than me.
About a year went by before I gained enough confidence to try again. During that time I didn’t code at all. It wasn’t until I joined a company with really helpful engineers that I would get my passion back for developing.
Learning How to Learn
Fast forward about a year. I’m at a great company doing technical support, I enjoy my job but I still have the desire to be a developer. As I start speaking with the development team members at my new job I notice that many of them have a common theme. They were self-taught developers or boot camp graduates. As I continued to spend time around them and tell them my background, they continued to encourage me not to give up on my dream of being an Developer.
It’s at this point when I really start to be determined to make my dream a reality. However, I didn’t want to fall into the same trap I did a couple years before which lead me to give up.
So with the help of my wife, I researched developer jobs that were in demand and the languages I would need to learn to apply for them. Next, I made a short list of languages and began to expose myself to each of them to see which one spoke to me, one I could stick with for a while. Other developers constantly told me that once I learned one language I could much more easily learn another, but your first language is the most important one.
With the language squared away, I needed to work on building a support system. Not having one years earlier lead me to quit. I couldn’t allow that to happen again. Thankfully, the engineers at the job I was at were more than happy to help out with any questions and issues that I had.
One of the best advantages I experienced while doing the techDegree was the access to a wonderful slack community full of mentors, moderators and teachers that are all there to help you succeed. I never felt like I was on an island like I did before.
After I finished the TechDegree, I had the opportunity to have some wonderful mentors that helped me grow in my skills even farther. They helped me with my resume, prepare for the coding interviews and allowed me to see what day to day life would be like as a Software Developer. I truly believe if you want to succeed at learning to code, you have to have help from people around you.
The Job Hunt
Soon after I graduated from the TechDegree I started applying to jobs. This is where you can get discouraged easily. I put so much time and energy into learning to code, now I had to put just as much energy into finding a new job while I had a full time job. Here to is where networking and building a community can help.
There are a ton of jobs out, there but many of them are only for mid to senior developers. Many junior jobs want you to have a year or two of experience. If you don’t have a reference many companies won’t even look at your application even if you are a fit.
Once again, I created a plan. I engaged my network, reached out to recruiters directly on LinkedIn and made sure my resume was on all of the job platforms. After around 300+ applications submitted, 15 phone interviews, and 5 onsite interviews I finally got a job. I was excited and relieved, I had put so much time and energy into this and to see it pay off was amazing.
Working as a Software Developer
It’s only been a few weeks since I started my new career as a Software Developer. I get to work on cool stuff everyday. The team I work with is amazing, we all genuinely want to see each other succeed and are ready and willing to help each other out. It was a hard road to get here and I do have many days where imposter syndrome will try to take me prisoner. Imposter Syndrome can be a real threat. I have ways of dealing with that, but that’s a blog post for another day.
My advice to those that are on the path to be a developer? Keep going, never give up. Even if you at one point quit, get back up and try again. Find a mentor, be part of the community. Believe me, there are many people who want to see you succeed.
I hope my story was encouraging and helpful. Hopefully, it will help others on their journey as well.