Full-time life

"welcome to the desert of the real"

Congratz! You made it to the full-time life. You have risen above the thousands of other applicants and on your way to becoming a burnt out engineer.

In this section, I'm going to cover what one can expect from full-time and how to navigate day to day and aiming for the next promotion.

Mental Shift

Compared to internships, where you are running a tight schedule and more focused on learning/enjoying the experience, full-time is slightly different.

You should continue to have the same energy but more "restraint". Previously you were a visitor, and now you are a resident. You are now part of the team and you need to act like it.

This unfortunately means more responsibility and more accountability. This can be a good thing or a bad thing.

Learning is still the most important aspect of your career. It's not wrong to say your knowledge corresponds to your salary. While there's other factors, the knowledge is the most tangible and measurable.

Lastly, thre will be office politics whether you like it or not. That does not mean people are toxic or bad, it's just the nature of workplace when most people are trying to advance their career.

Learn to be professional and don't take things too personal. Critiques, reprimands, or feedback is not personal. If you don't like it, it's enough to acknowledge and move on.

Even on teams where culture is heavily peaceful, such as mostly younger generations, there can still be "ownership" problems, promotion conflicts, project priority, and overall communication issues.

Always advocate for yourself and your work. Do not be afraid to speak to your manager as it may hinder your career. Always be proactive and not reactive.

The first 3 months - Onboarding

For most companies, the first 3 months is the onboarding period and the last chance you really get to "relax" and "learn".

You will spend your day to day getting coffee chats with people, learning the stack in depth, and figuring out what you need to work on. You will notice your interaction with your manager is a lot more frequent and expected to be more engaged or independent.

Bonus

  1. Figure out who's carrying the boat / heavy lifters in the organization. Who has the most wealth of knowledge and experience.
  2. Take more times to get up to speed and starting working on tickets. Tickets are the fastest way to learn and get used to the codebase. "But what if I'm not ready yet?" -- big red flag -- you are never ready, pick up a less impactful ticket and take your time.
  3. Do not ask for help too early. You are expected to be able to figure things out on your own. If you are stuck, take your time and figure it out. If you are still stuck, ask your team afterwards.
  4. Continue to search for a mentor, this is most likely your tech lead or a senior engineer on the team (rarely the manager). They can really make or break you.
  5. Learn the different project everyone is on. Learn what is the "purpose" of the team. Every team is organized around a specific agenda. Learn what that agenda is and how you can contribute to it.

Let it rip

At this point, you are settled in, you probably have a small project / initiative you might be paired with to work on. My strongest advice is to simply, do the project fast, right, and complete.

This will be your first impression on the team / manager and it will dictate your upcoming projects.

Why is Project so important here?

Your first promotion is entirely reliant on your projects and performance metrics. While the first project is not a single indicator, it will enable you to build momentum and show your value to the team. This means manager trusting you with a more impactful project and more responsibility which ultimately leads to a promotion.

A common pitfall for people chasing the promotion is not taking the first project too seriously. This will delay your future projects which will delay your promotion. If you do not intend to climb the ladder aggressively, then feel free to skip this section. For those not in it for the rat race, it's a good idea to simply take the time to learn and chase good habits early.

Bonus

  1. There's a lot of learnings, focus on the core and slowly build knowledge around it. You want to focus on the core domain of your team. This could be data pipelines, backend servers, or frontend components. Dependencies such as testing, pipelines, or reliability should slowly develop over time. Understanding your core domain will accelerate your learning in other domain.
  2. For those who do not have a manager to properly guide, talk to your skip manager. Find who can impact your career and annoy them. If you do not care about going up the ladder, then feel free to skip this.
  3. Learn as much as you can and as fast as you can. The more you know, the more you can contribute and show your value. Taking your time at a slow pace is fine but you should never be stagnant for more than 3 months.
  4. Do not be afraid to ask for help. If you are stuck, take your time and figure it out. If you are still stuck, ask your team afterwards.
  5. For those truly trying to be the star rookie, look for "patterns". Documentation missing? Unit test not working? Code standards not enforced? Find ways to improve them and set expectations for the team. This one can be hard and not feasible depending on your experience. But this is generally what a senior engineer do day to day.

Scope

Simply a fancy word for "responsibility". The more work you own, the more "credibility" and evidence of your work. This will be the main indicator of your performance and your promotion.

You WANT to be fighting for this as soon as you are capable of handling it. This does not mean knowing the entire codebase or stack, it means when you are ready to take on the challenege and learn.

The more "scope" you have, the more your voice will be heard and your opinion will be valued. Again, this is what allows some people to really speed run the corporate ladder. Have evidence of work and displaying it.