Dear New Developer,
Getting started in development can be an era filled with enormous excitement and fun. It’s also a stressful and anxious experience. You become aware of how little you understand and how much there truly is to learn.
You’re paired with another developer who just seems to understand so much. They’ve only been around for a year or two more than you, but they seem to be an absolute genius. You feel like an imposter, and you feel you’ll never truly be good enough to work on your own.
Have no fear! Almost everyone starts right where you are now. There are always outliers and those who just never seem to struggle. Those people are the exception and not the rule. To help aid you on your quest to becoming the best developer you can be, here are a few questions and counsel that I hope will put your mind at ease.
I feel like I don’t know anything.
You’re right. You don’t know much at all. Coding in a professional environment is new and your project is even newer! Lean into the fact you don't know anything yet.
Ask as many questions as you can. Not just about coding but about your project, business processes, and how you can become better as a team member. Every project and every developer has their problems, techniques, and styles. With time you will learn how to accomplish what you need to but how you get there, and the quality of that work, depends on much you learn from experiences.
Time and exposure. You will learn, you will get better, and you will become a great developer. Time comes with just sticking through the hard times, but exposure is up to you.
People seem to learn way faster than I do.
The quick response is, don’t worry about it. People learn in different ways and at different speeds. Some people will just pick things up faster than you. Maybe they don’t have a family waiting at the end of each day. Some people work more than the required hours. Others work less but just figure things out quicker.
In the end it doesn’t really matter. What does matter is that you’ve made progress from the previous day or week. Whether you make a little or a lot of progress in that time is irrelevant. Remember you’re just started.
I have no idea how, or where, to start tackling my tasks.
Some teams will break down tasks small enough for you to be able to figure things out. But many times, teams struggle to break things down into small, consumable pieces. That may be because of different skill levels, differences in knowledge, etc. But how can you, the new developer, figure out how to start?
The first answer is just to ask for help. Way too many times we are scared to ask for help. We worry that we will look bad. Maybe other developers with judge us or feel we are a burden. Any good developer and/or mentor will never make you feel bad about needing help. This is the fastest and least frustrating way to figure out how to start any task.
The second answer is to break things down the best you can. Start by asking yourself some basic questions like these.
- Where does this change need to happen?
- What data do I need to accomplish this change?
- How do I test the current state of this code?
- What do I expect the new state of this code to be?
You’d be surprised by what you can accomplish when you trust in your ability to learn and think. Stretch yourself and watch how you far you can go.
This job uses a language or framework I’ve never used before.
Don’t look at a new language with anxiety. Look at the benefit. You will come out of this job with a new language or another framework under your belt. Take the language head on!
Start with a quick start guide about the language. Then, examine the code you’ve been tasked with modifying or adding to. Try to understand the basics of the existing code. How do I set a variable, what does a loop look like, what are the basic ideas of the framework?
Then, just take your work item on. Don’t spend too much time trying to master the language. Just get a basic idea and start working on it.
And again, maybe ask your fellow developers for a little 101 course of the language. Your best tool,in most cases, is your team.
The most underrated piece of advice.
Finally, my last comment is one that I find we ignore all too often. Learn to walk away from a problem to recover.
Coding is mostly a thinking job. That means you burn out your mind quickly. Learning to take a break will freshen up your mind. If you’ve struggled for 2 hours take a 15-minute break. Grab a coloring book, eat a snack, or pull up a good reddit thread. When you come back, you’ll find you’ve got much clearer focus than before.
You’ve got the desire to learn and to become a good programmer. Getting started in this ever-changing world is overwhelming. But you’ve got this.
If you have any other concerns or topics of advice comment down below. As time permits, I will try to write you another letter.
Don’t forget how much potential you have. Good luck on your adventure coder.
— Just another dev like you