What its like to be a new developer
So, here I am 10pm on a Wednesday night just sitting down to work. No, I didn't procrastinate and no, I don't work overnight, and no I don't even usually work this late. That's a lot of don'ts isn't it?
Here's some do's for you: I do work remote and keep regular daytime hours. In fact, I do start work every day at 7:30am. I do work for a great company (psst! We're hiring a php and C# developer) and I do get some flexibility in my schedule. I do have monthly dentist appointments that basically take over my life for a day because I do have braces to resolve a jaw issue and today was one of those days.
Here are some am's for you: I am very lucky to be only 6 months into a career and work for such a great company. I am even luckier to be only 3.5 months into employment here and be afforded the luxury of not having to take a day off for these tedious dentist appointments and instead make up the hours at other times during the week. I am a new developer and I am so happy in my new career that I actually ask for work this late even though no one expects me to be working.
Being a new developer is hard and depending on the kind of person you are and if this career really is the right one for you, you might experience things differently than I do, tailored uniquely to you. Some people are simply great at developing. It comes naturally to them, they don't get worked up when they get stuck, they find it easy to learn, they absorb new feature announcements and trends, they find new tasks simple to figure out, and docs are an annoying but necessary part of their job. That's not me.
If I get stuck I get overwhelmed and forget everything I know, this is followed by either breaking down completely and needing someone else to essentially guide me through the problem or solve it themselves, or else panicking for 5 hours on a task that should take one. These things happen less and less with each day that passes but I'm sure there will still be critical moments a year from now. My bootcamp was hard, I get focussed on the details which means it's hard for me to learn overall concepts. I was a graduated programmer working for 2.5 months before I finally started feeling like I was "getting it". I feel like I am always behind. I often read about features that I think are new only to discover they've been around a year or more. When I am confronted with a task implementing a feature I have never done before I feel lost, confused, stupid, overpaid...and did I mention stupid?
I am a new developer who has to work for it. I'm not saying I'm no good, far from it. With only 6 weeks under my belt of learning I made an app that a government organization is considering adopting. I won best app for that one at my school and a month later my team won best project at a hackathon too. I know that I am good at what I do, when I'm doing it. The problem is most of the time I still need a bit of direction from the lead developers at my company or the great devs on Slack in order to get to the do stage unless it is something I have done before. As a developer, most days you are learning something new. In fact, a quick search on Google will pull up dozens of conversations on this very topic. I like this one where the commenter says he spent 85-90% of his time Googling stuff in the beginning and only 10-15% of his time actually coding. Another person in the same thread says if it's something new some days could have 0% of their time spent on coding.
This is a pretty harsh reality for a Type-A personality like myself that is used to being good at things. Like a typical Type-A I know what I'm good at and don't "waste" time on the things I'm not good at...but that itself is another article lol
When faced with something new I often freeze for a bit before I wake-the-F-up and come back to life. After that things progress smoothly but before it is torturous. I don't feel good. I've had panic attacks. Yep, full on can't breathe panic attacks. I attribute a lot of this to my first job where the "senior" dev told the CTO I was "too junior" and he didn't want to work with any juniors because they slowed him down. That's a quote. So I've got an inferiority complex that I'm working through. Most days I spend at least 10% of the day thinking I'm not good enough and even though my thoughts might emanate from this poor first job experience, I am not the only new dev that feels like this.
Unlike that dev that can learn what they need from docs I have to work hard for my learning. Docs confuse me, I admit it. I have to get more creative when finding resources if I want to learn something and I practice reading docs almost every day. You read that right, I practice reading docs. I know I should be able to find the method I need and understand it's implementation and know what to do just by looking at docs (most of the time) but I don't. Finally after 6 months I can usually find the method and often I can also understand what it does, but when it comes to using it in my own code more often than not I'm still lost.
I spend a lot of time reading and for every article I read I right click and open 3 more in new tabs to read after. Every single day I have to look words up. Today it was IDE. Once I read the definition of course I know what that is but the acronym itself? I had to look it up. I don't have this inherent knowledge that some devs seem to have.
Knowing all this, which dev do you think has more job satisfaction? Myself or that dev that follows along and just gets it?
I'm willing to wager it's me.
I love my work. I right click and open those links in new tabs because I'm curious. I don’t mind doing my work at 10pm on a day where I've literally been on the move 14 hours not because I have to, but because I want to. Because I love developing and don’t want to miss out. Plus I want to show my team how much I appreciate all the help and guidance they give me. I pose questions to rooms full of developers that have nothing to do with active project work because I find my craft intriguing -- I don't want to miss any opportunities to learn and the best learning comes from hearing opposing views from experienced and inexperienced people alike. And I spend an hour writing an article like this one because I am super passionate about being a developer. In fact, I have twice now shared my story with call centre reps so enthusiastically that they have spent an extra 10 min on the phone with me asking questions about how they too can become a developer.
The life of a new developer is rife with frustrations. There are long nights. There are days, whole weeks even, where one feels unworthy of their job. This is a career that is strongly in the grasps of imposter's syndrome. That’s the reality of it but there are other days where you kick ass, feel on top of the world and unstoppable. Every day is a challenge, it's never boring and you never stop learning.
I love it.
Hi Abbey, I loved your article. I just started my first dev job two weeks ago. Since then, I have been overwhelmed every single day.
Imposter syndrome is so REAL!!
Great article Abbey!
Imposter syndrome is something I still get and I’ve been developing on and off for 12 years. I know their are people better than me at what I do, but I know I can be the best so I try and push myself pretty hard.