Being a junior developer is awesome, amazing, and scary at the same time. I often say that I feel like Harry Potter.
At Hogwarts, (a.k.a. your job) you are just a little wizard.
You can’t cast spells properly, you fall of your broom. Just when you think that you finally got it, there is a puff of smoke instead the awesomeness that you thought you were creating. But…
When around the muggles, you are a LITTLE WIZARD!
You can see the world through code like you are in the matrix. You actually understand why that button on their site isn’t working, and can fix it. You might hold the secret keys to the internet.
The dichotomy of this experience can give you whiplash.
But in addition to that, it can be quite uncomfortable. Because in one part of your world you are amazing, a genius, inspiring. But in the other part, you are coming up short, taking too long, asking too many questions. It can be easy to get discouraged because of how uncomfortable it is to not yet be great at something. And I wish that more people talked about it, so I will start with some of my own participant observations….
1. The road to being a good developer is long, bumpy, and hard
People tell you this, and you believe them, and then you experience it for yourself. It doesn’t mean that you aren’t inspired, or that you aren’t excited. But this is hard stuff man. Combine that with the fact that making a living is now dependent on how fast you can pick up stuff you don’t know, on a deadline, and hopefully not break an entire site. Cause then you have to learn how to fix it…
2. You will do most of your learning on your own
There are senior devs around, and people to ask questions to, but the reality is that you have teach yourself in order to keep moving forward. Great senior devs are not always great teachers. Teammates may have their own agendas. This is still the world of work and that comes with its own set of rules. It’s not like teaching yourself is a horrible thing, but it does mean that you have to constantly feed yourself new information so that you can build upon what you know and become more valuable to your team.
3. Its easy to feel like a fraud
I say this as a person who never experienced impostor syndrome, until recently. Really, I think that this a manifestation of a reversal in the normal hiring rules. Instead of being hired on what you have already done you are being hired based on what you have the potential to do. So that means that you won’t be ready, you won’t know what you are doing, and it will be sink or swim. Its a real feeling and you have to be aware of it so that it doesn’t play tricks on you.
4. Failure happens so much that you think you are losing your mind
Yep, its like that. You go to work, work all day….nothing works. So you do it again the next day, and the next….and next week. WTF! I thought I was good at this! I don’t know if you are, I don’t know if I am. All I know is no one got good at something that they stopped doing. So I just keep doing it. The hardest part is to get it up the next day to probably fail again. But, that is part of the job.
5. There is always someone who can make you feel stupid
It could be the moment that a senior dev passes by your station and says the one thing that makes all of your struggles go away….while on his way back from the coffee machine. It could be the summer intern who has already made advanced drones, you know, in between classes while you are struggling with getting a for loop working. It could be a work colleague who thinks that they are explaining an answer to you, but is just confusing you with yet another round of developer jargon that you didn’t know existed (“if we install wheezy on the vm host then we wouldn’t have this problem with our vpc’s. So all you have to do is check to see if unicorn, tomcat, and sidekiq are running, make sure to monitor with new relic, and then make sure to push it all up to s3 as long as you are using the right ec2”). It happens often, you will feel stupid, it will be ok.
You will know if you really want to be a developer if you experience this and you still want to keep coding.
It can be hard, and it can definitely be uncomfortable, but it can also really be amazing. You get to create things from scratch and thin air, like a little wizard! And yes, all of the above sucks. No sane person wants to sign up for workdays full of that, right? But then who said that sane was all that much fun anyway?
So if you feel the discomfort, the pain, or the anguish know that I am here with you. I feel it to. I try to think of it like growing pains. While your going through it, it just hurts like hell. So, if you are already in pain, then you might as well as keep going and get a reward out it.