Why The First Job that You get After College Doesn’t Matter
Many graduates are petrified to start their job.
Sometimes they do not want to take the job because it does not align with the major they are pursuing.
I heard from various computer science graduates address their concern about going to a company that is not a “Tech Company”, a company that doesn’t sell any tech related products or services. Well, the first job that you get after college will not drag you to go to your dream company in the future. I used to have a mindset of thinking going to a “Non-Tech Company” will hinder me from learning standard industrial practices about software development life-cycle, and may not be able to reach my dream company. However, after I started my first job as a software engineer, I realized that no matter what company you choose to join, as long as you are able to keep learning about the business, the software development practices, and keep producing productive work for real customers; the experience that you had are not so different than those entry-level jobs that focuses on Tech.
Learning is Key
The first few months, or years of entry-level software engineer jobs, you will learn and experience to work with other people and applications. You will start by learning how to fix bugs in defects for a couple months before you start to write a new feature, or creating Jenkins automation Jobs and understand the entire CI pipeline, before creating testing environment in the cloud. You feel that the job that you do are tedious, that you are not really valued on your four year of college to do serious work.
However, the first few years of your job, you will learn to deal with the real-world application. By that means, you get to look at tons of developer’s code and understand why they developed applications in a certain way. You get to develop great coding style, not the messy code that you wrote at your programming assignment that had 0% test coverage. You get to be confident in writing a deliverable code and understand that testing is very important in software life-cycle. The code that you write no longer just to make the application works, but also a medium to communicate your thought process to future maintainers.
As an engineer, you develop tools for the customer, and make them happy. Communication is paramount. Not only that you need to know about the newest technology to build an application or optimize certain application’s run-time, but also understand your user’s specification, what project manager wants to achieve. Don’t assume, always ask the questions before developing.
Management will ask you about estimated delivery time, and you will need to collaborate with the project manager and to not over promise and under deliver, and to under promise and over deliver.
These are things that you did not learn in Computer Science class in college.
Think Long Term
Jeff Bezos focuses on long-term thinking when he builds Amazon.
“What we’re really focused on is thinking long-term, putting the customer at the center of our universe and inventing.”
You have to think long-term, by seeing whether current position is a step forward to your desired end-goal.
If building a company is the end goal, or a start-up in the future, your focus in getting an entry-level job is not about the salary and perks. It should be focus on how management operates in the company, how they deal with their customer, and any annoying tasks or problem current company faces that can be solve by automation or new ideas.
If you want to climb up the corporate ladder, you should focus on improving your skills, impressing your manager, and being proactive in paying attention to the cool team and projects in the company to try to be a part of it.
Your career as an entry-level software engineer in a non-tech company will not set you behind compare to other new-grads who go to a tech-focused company.
Being a software engineer at a start-up will enhance not only technical skills but also management skills. You get to wear many hats in the company. You might be able to learn more things that can land you that dream job you always wanted.
Being a software engineer in a company that is not technology focus, you will learn about the newest front-end framework, industry standard coding practices, and other cool things that other companies are currently using. More importantly, you will learn how to communicate in cross-functional teams, understand business etiquette, and know how to sell your ideas to the higher management and other non-technical teams.
Putting Everything Together
Whether you are a new grad who is struggling to find the jobs you want, or currently in a position that you are not enjoying; a single positive mind shift can make a lot of difference in your action.
Focusing on the knowledge you can learn instead of thinking the disadvantage will make you focus on the target and increase productivity.
Look at the end-goal like a marathon and pace yourself during the journey. Enjoy the process.
When you focus on the end-goal, and reframe any discontent situation into positive thinking, you will be able to take action, learn more efficiently, and excel in all ways possible.
Suddenly, the first title and job will not matter.
Thanks for reading. If you enjoyed the article, feel free to hit that clap button 👏 to help others find it.