You’re entering into the next phase of your career: landing your first job. Below are eight insights that I want to share with others who are pursuing a career in software development.
A Little About Me
I started at Code Fellows with no programming experience, graduated in December 2014, and have been working professionally as a software developer ever since. I am currently employed at Nordstrom working on their iOS team.
Attending Code Fellows was an absolutely life-changing process for me, and while it wasn’t easy, it was definitely a worthwhile investment. I’d like to share some insight I’ve picked up over the years with others on the same path.
1. Find a mentor
As you start to interview for jobs, look for a team where you can receive senior mentorship. While your training has prepared you for your first job, the way you write code will completely change once you gain experience contributing to an established codebase. By learning best practices from senior developers, you will learn to keep your code modular, maintainable, and testable. You’ll also learn better design patterns and architecture, allowing you to handle even bigger and cooler problems with confidence.
2. Learn to write tests
With how fast technology moves, the languages or frameworks you know now might not be relevant in five years, but your ability to test the code you write will still be valuable.
Nothing is more frustrating than modifying an existing chunk of code not backed by tests. Without them, you have to rely on manually testing your code, which can be an incredibly time-consuming process as your matrix of user scenarios compounds with every new feature.
When your code is backed by a suite of quality tests, you can freely add features or refactor, confident that the tests will catch anything you need to fix. It is one of the most valuable skills you can learn, and will dramatically improve how you write code, make you an invaluable asset to your team, and improve your life as a developer.
3. Don’t use introversion as an excuse to be anti-social
Introverts are finally getting the space and understanding to get time to recharge, but don’t use that as an excuse to avoid your co-workers and eat alone at lunch. You should definitely make sure you get time to recuperate (especially in your first few weeks) but also make an effort to engage with your coworkers.
Getting to know the people around you will make your work environment much more enjoyable, and saying, ‘Good morning’ to your co-workers can go along way. In this industry, it’s easy to get deep in a project and go hours without saying a word to someone. Saying hello to your teammates in the hall or drawing people away from their desks for lunch will build company culture and give you a reputation for being team-focused.
4. Banish imposter syndrome
There will be a moments on the job where you start to doubt your abilities as a developer. This is completely normal, and will likely continue as you progress in your career. Here are a few things to keep in mind when this moment arises:
First, it is these periods of uncertainty and discomfort that you will grow the most. Maybe you are just coming to grips with what you don’t know. Instead of becoming intimidated by this fact, congratulate yourself on being able to see the bigger picture.
Second, you just endured a rigorous, months-long training so you could start this career. That takes grit and passion. When you’re lacking confidence or aren’t sure what’s ahead, look back at the program you survived and know that you have what it takes—both the training and the gumption—to make it through the low points and tackle whatever is next.
Third, the company hired you, so they believe you have what it takes. You should, too.
5. Prevent burnout
Once you get your first job, you probably won’t want or need to sustain the same pace and intensity you had during your training. In fact, doing this may hurt your performance. It is absolutely crucial that you let your mind rest after work. Provided you have a job with a healthy work/life balance, you should be spending your time outside of work recharging, not stressing. Maybe that means going to the gym, meeting up with friends, or playing video games. Quality sleep is also a must. Your brain is literally cleansing itself while you are in a deep sleep. The better your sleep, the better your cognitive abilities will be the next day. Here are some quick tips on getting quality sleep:
- Use blackout curtains or a mask to eliminate any outside light
- If you use a computer at night, make sure you install the Flux app to reduce blue light
- If any noises at night are bothering you, wear earplugs or turn on a fan
- Consider how the temperature of your bedroom may be affecting your sleep. Studies show 60-67 degrees Fahrenheit is optimal
- If you are unable to fall asleep because your mind won’t stop racing, consider taking melatonin or meditating for 10-15 minutes before bed
While these tips will help prevent burnout, despite all of your efforts, the demands of your job may mean periods of highly intense work. This is okay—just try to keep an overall steady pace so you can more easily endure the choppy moments.
6. Get two raises for the same job
In this industry, your biggest salary bumps happen when switching to a new job. Instead of just getting that first raise with the initial offer though, there is a way to actually get a second raise. If you get an offer for a contract-to-hire role, before you accept it, try this out.
When you have an offer for a contract-to-hire, ask the recruiter during your negotiations if they would be willing to re-evaluate your compensation based on your performance at the end of your contract. If the recruiter says yes—they likely will—try to get this in writing (i.e. an email) for later.
The next step is to absolutely crush it during your contract, and document all of your accomplishments. If the company wants to hire you after your contract is up, you should receive another offer letter for a full-time role. Before you accept this new offer, meet with your manager and tell them you would like to re-evaluate your compensation based on your performance. Make sure you mention you were told by the recruiter this was expected and provide the documentation if necessary. You should also present moments where you took action that was above and beyond your role, like teaching your team a cool design pattern to keep the code base cleaner. If you have truly been a valuable asset to your team during your contract, your manager should have no problem with helping you get that second raise.
Not feeling confidence in your negotiation skills? This article will help."
7. Look for specific traits in a company
Find a company that invests in their developers. Here are some great ways I’ve seen companies invest in their team:
- Knowledge transfer sessions (e.g. a meeting where you get to share a cool new idea/framework/tool that can help your team out)
- Routine one-on-ones with your manager
- A portion of time you can use to learn new frameworks or work on lower-priority (but more innovative or experimental) projects
- Internal hackathons that occur instead of your typical work day
- Routine pair programming sessions with peers or senior developers
Joining a company that does just some of these will put you in good shape. This means they are investing in the growth of their developers—exactly the type of job a fresh graduate would want.
8. Don’t wait for the perfect job
Slightly contrary to the last tip, but if you end up landing a job working on a product that is not particularly inspiring to you, remember that your skills will still increase dramatically regardless of the product you are building, and will transfer well to other roles.
Most software has very similar core functionality (i.e. creating, reading, updating, and displaying some type of data to a user). These core functions are difficult to get right the first time, and each company will have a slightly different approach to achieving this functionality in the software they are building. By working with several different companies, you get to absorb all of these different paradigms as you progress through your career. When the day comes to work on your dream app, you will be that much more equipped to build something truly great.
Apply these eight tips to set yourself up for success in your new career. Got other suggestions? Leave them in a comment below!
Looking for a new career? Learn more about our program »
Jeff Chavez is currently working as a software engineer at Nordstrom as a part of their iOS team. In his free time, you can find him riding down mountains on bikes, producing electronic dance music, and cooking.