From zero to hero(ish)
While I’m not following the legendary p1xt guides on how to become a great software developer. I do want to try to hold myself to the challenge of writing an article once a month, so I’m already a little behind.
I really don’t like writing about nothing, but I think this is a good opportunity to share my experiences with other developers that are on this beginner journey.
January was the first month of my first professional developer job. yay! It has truly been an incredible experience. Where to even begin…This week I’ve done the first pair programming in a while with a friend I’ve made through the chingu cohorts. He and I started learning to program around the same time, so it’s been nice to share my experiences with him and reflect on what being a junior developer is like.
I started coding in July of 2016. At first it was hard and I wanted to quit, but I didn’t quit even when it took me 3 weeks to make a tic tac toe game that I could make in 10 minutes today. Once I got over the first hill of ‘I want to like this but I’m just so bad.’ then I started thinking about getting a job. I was slightly obsessed. I read articles online, at the top of medium and all over free code camp’s forums on people who have gotten jobs. They seemed very far out of reach. I kept on it and just went a little bit further every day. I copied a lot of code.
I think a really important thing that many beginners don’t know is that it’s okay to copy code. The goal is to become a good developer. Being a good developer in many respects means having an understanding, or having an ability to understand code. How you become a good developer does not really matter. For me, copying code was a part of that process. First I would copy, then the next day or next time I needed that piece, I would start to understand, and before long using those concepts became second nature. The point is, don’t be afraid of digesting concepts in different ways. Copying a snippet may be your first step in understanding something.
Anyway, back to getting a job… So I searched all the time about getting jobs, and I was always pushing myself in my projects. I bothered Chance Taken a lot about giving me advice. I wanted to get a job, a small something to get my taste, so I started applying to lots of things on Upwork. I knew it would be very difficult because I had no reputation, and I couldn’t do anything too advanced. Somehow I got an interview. As far as I remember it was just for a small project, and I totally bombed it when he asked me ‘so tell me about yourself.’ I realized in that moment that when you are self taught, selling yourself is one of skills that you must have.
I started to play that interview over and over in my head, and I came up with some good replies for questions that I imagined could come in an interview. Not long after that, I made a connection through the cohorts and had another interview at 11pm after my night classes. Two days later, I had a job.
The important lesson that I told Mo Zargham was that every day before I got a job I googled how to get one. The day after I got a job I googled ‘how to become a great programmer.’
You will never really be ready for your first job. You will fail. I forgot where I saw it, but someone once said, ‘How long are you going to try to get good at something you want to spend your entire life on?” That drove me forward. I didn’t let the failures of 6 months stop me at all when I knew what life I wanted to make for myself and what opportunities lay before me.
Emotionally and mentally, this job has been one of the best things to ever happen to me. Once I stopped worrying about getting a job, I realized that to be actually great, to be recognized by everyone or to make your mark on the world is actually a very different task. Of course I don’t know the secret to that greatness, but I do know that in all cases it comes as a result of resolve. I think resolve is one of the best traits a programmer can have.
I really have to thank the environment of the company. Even though I am young, inexperienced, and new to the industry, my opinions are not silenced. I’m always thinking and designing some project or some approach to some problem in my head, and this job has given me a place to let that force run wild. I love having the opportunity to make decisions about the technologies I want to use and the approaches I want to take to problems. I feel that this has let me learn more in the past month than in the half year prior to that.
Also for the first time in my life I feel like I have found my passion. I truly love programming. It makes me smile, it makes me laugh. I’m not ashamed of it one bit. I feel like shamelessness is a sign of true love. Even though I know I make a small sacrifice to my studies, I don’t worry, because I get to do something I love. And I know that when you dedicate yourself to something you love, you can never fail. Even if I was fired tomorrow, I wouldn’t worry, because I know the path I need to take each day to become a better developer. One day those small increases will pay off in immense skill, and anyone who does this will be noticed.
I don’t want to make it sounds like I’m a net-ninja. In fact, I was watching some great videos from node-conf last night and sunk into a depression about how much of a noob I am when it comes to many things. I know there is a long road ahead and I am very grateful that I have gotten the opportunities I have now to travel that road.
This has been quite a ramble, maybe even a few cliches in there, but hopefully there will be something in this to benefit someone else on their journey.
Here’s to many more months.