So You Landed Your First Programming Job — Now What?
Starting your first job can be scary. How do you get from where you are now to where you want to go? It all starts with a little hard work.
I got hired at my first programming job one month before I graduated from college. In my mind, I was hot stuff. Most of my friends didn’t have jobs yet and those that did were doing internships. But I had a real job. Needless to say, I felt like the king of the world. Straight out of college I already knew everything there is to know and it was all fresh on my mind. Then I started.
My first few weeks were a humbling experience. I felt like I could not have been less prepared for this job. Sure I knew how to code, but being a software developer is so much more than that. It’s not only about theory, linked lists, and multidimensional arrays. It’s about people and your interactions with those people. College prepared me to be a one-dimensional employee. But to get where I wanted to go in my career, I needed to get a bit more well-rounded.
But what does it mean to be well-rounded? How do you do that? You just finished four-plus years of college, what more is there to learn? If you want to succeed in your career, you must have a desire for daily personal and professional growth.
Leadership guru John Maxwell likes to share a story about his nephew starting his first job. John asks his nephew, “What time does the workday start?”
“9:00 am,” responds the nephew.
“Not for you it doesn’t. You get there at 8:45. What time does the workday end?”
“5:00 pm”, the nephew states.
“Not for you. You stay until 5:15. When is lunch?”
“Lunch is from 12:00–1:00.”
“That’s an awfully long time to eat lunch. You take lunch from 12:15–12:45”
The nephew shows the initiative of working a little harder than he has to. He goes in a little early, stays a little late, takes a shorter lunch, but doesn’t say anything about it. His boss notices he is there when the first people get to the office and he’s there when the last people leave. This led him being promoted to a leadership position in his first couple of years on the job. Talk about getting ahead!
But it wasn’t only going in early and staying late that led to the promotion. Your boss is not a mind reader. If you want to get ahead in your career, make your intentions clear. Have a conversation with your boss about what you want to get out of this job. People want to help you. The most rewarding thing for a boss is to see success in their employees. Don’t be afraid to talk to them.
Prove Your Ambition
I’m an ambitious person. Ever since I was little, I’ve had visions of grandeur for myself. But having ambition is not going to get you where you want to go. Acting on your ambition will set you apart from your peers.
You need to show that you’re in it for the company. Early on in your job, you bring a unique perspective your teammates don’t. You have an outsider’s point of view. You might look at a process that seems normal to your team, but as an outsider makes no sense. Or maybe your team repeats some manual process that you could automate. Call it out. Be intentional about making the lives easier of those you work with.
Early in my career, I noticed a problem that caused a headache for both my company and our clients. Moving configuration between environments in our application required a developer to get involved. They would go into the database and save off the configuration to a text file. Then they connect to the target environment, load the contents of the text file, and do the update.
It was a problem that was prone to human error and there were only two or three people allowed to do it, but all of our clients required this process. So I wrote a program in my spare time that would process it with the click of a button. The app guaranteed the process would be correct and enabled more people to perform the configuration move. Developers were no longer the only people who could do it.
The app received executive attention for being an extraordinary time saver. They were also happy it allowed non-technical people to perform something that used to be a dev task. I continued to add features to the app as I identified other issues and over time it became a supported application distributed to clients.
Learn Every Day
You finished school, but that doesn’t mean you get to stop learning. You need to get excited about learning. Continue to grow yourself every day. Don’t be content with what you know right now. You should seek to learn everything you can, but I want to focus on three areas:
- Learn about the business — Understanding “why” is the key to building useful software. If you understand the business, you can build the features your customers need. Take every opportunity to have a discussion with product owners about the business. Understanding what a user expects to happen is more powerful than understanding programming theory.
- Learn about the tech you use daily — Become an expert in the programming languages and design patterns you use day to day. If your apps have an Angular front end and a Java backend, try to do something new with them every day. Discover when the next version of Angular is being released. Explore how a JVM works. Write a test app to prove out a design pattern. Little building blocks will lead to a greater understanding over time. As you prove your technical prowess, your influence on technical decisions will increase. Establish yourself as a leader in your space.
- Learn about new, modern tech — As a developer, you need to make sure you keep up with the times. Is your company still developing in C++? You can still learn about .NET 5. Does your company build websites? Learn everything you can about modern web development. Experiment with the cloud. What are today’s buzzwords? Get your feet wet with blockchain, AI, or machine learning. Do yourself a service and build marketable skills even if they do not have an immediate benefit. You don’t have to become an expert but staying familiar with new trends will keep your skillset relevant.
You don’t have to learn on your own! Get a mentor. Look for somebody who followed the career path you want to go down. They have answers to questions you are bound to have. They know what you need to learn to hit your goals.
“Success is no accident. It is hard work, perseverance, learning, studying, sacrifice, and most of all, love of what you are doing or learning to do.” — Pele
Find some like-minded friends to share your journey. Help each other learn. Send each other articles. Talk about a new design pattern or learn a new programming language together. This leads to my final point.
Personal growth is not limited to new things, it’s about developing yourself. You must build up your soft skills if you want to become a leader. You need to be comfortable talking to new people. Be comfortable talking about your work.
Reach out to people outside of your team. Learn what works for their team. Get familiar with the org chart. Know who to contact when you need something. You don’t need to know it all if you know who to talk to. Consider yourself a people index. If someone comes to you with a question, it’s alright if you don’t know the answer. You know who can answer it for them.
Being social with the people around your organization has other benefits. You will increase your chances of being recommended for a new project if everyone knows your skillset. This is a huge compliment to you and your skills. Your confidence will increase, which will continue to make you a better developer.
Besides the professional benefits, being social has incredible personal benefits. If you treat this job as your career, you’re bound to make lifelong friends. Go out and find them. You are the sum of the people you keep, so you will benefit them and they will benefit you.
Being a good programmer is easy, you probably are already one, but being a great programmer takes effort. Go the extra mile. Discover problems and fix them. Grow yourself. You won’t go from associate developer to CTO overnight, but you will make progress every day.
I identified problems, networked with everyone that would talk to me, and made lifelong friends at my job. It started off slow, sure. There were bumps in the road, of course. But I took the time to grow and learn and made my intentions clear. I went from an associate developer right out of college to a lead software engineer in only 5 years. You can do it too if you stay focused and maintain your drive.
Treat your job as your career. It’s not a nine to five, it’s your life. So build on it. Grow in your life, learn every day, and be the best you.