The advice I wish I had been given

As someone with two decades of experience in the tech industry, I have been fortunate to have enjoyed success, but my path has been far from deliberate. In hindsight, there are some steps I could have taken to have increased my ability to be a better engineer and ultimately to have reached my goals sooner. If I could time travel, this is the advice I would give to my younger self:

  1. Understand what you want and how to get it: Working in tech because it’s your hobby is great, but you should spend some time thinking about how you want to optimise your time. Consider what you want from your career as you (usually) only get one and time is short. Whether it’s an early retirement, mass influence on tech, or reaching millions of users, understanding what you want and using it as the guiding light for decision making is a much more efficient strategy than just going with the flow. And remember, “money” is a valid answer.

  2. Set goals: Now that you know what you want, determine the incremental steps you need to take to get there. Consider who can help you achieve those goals and how you can position yourself to achieve them. Think about what you need to provide to ensure it’s a good deal for all parties involved.

  3. It’s a craft: So, build on it. That means deliberately doing the things you don’t enjoy too. If you don’t understand a part of the stack that affects your job, don’t ignore it. Force yourself to learn the hard things. Getting better and learning things you don’t want to learn is possibly the hardest, yet most important skill I can recommend developing. Being able to deeply understand the work you’re doing gives you the confidence to do so much more.

  4. Be someone that’s easy to work with: You spend 40+ hours a week with your colleagues, so be someone they want to have around. Being kind, easy to work with, fun, dependable, diligent, a great communicator and having their backs are all extremely important for your career. Sadly, this is an area where some people lack. I’ve seen technically brilliant individuals held back due to issues with soft skills. I found Simon Sinek’s talk on Performance vs. Trust a good example of this: https://www.youtube.com/watch?v=kJdXjtSnZTI&ab_channel=MikeKnight.

  5. You’re a service: To state the obvious, an employment is a contract an employer creates in exchange for a service (that’s the work that you do). If you want to raise your price, it had better be a good deal for the employer. So, what are they getting? Consider this:

    Bob was hired at $100k per year. In a year, Bob developed four features. None of these features brought the business any value. Was that a good deal for the business?

    Jane was also hired at $100k per year. In a year, Jane developed a single feature that increased revenue by $300k. Was that a good deal for the business?

    It’s obvious when in black and white but I know I’ve had times early in my career when I was accidentally coasting, not really thinking about how good of a deal I was for my employer. Try to ensure that you are working on a) increasing revenue, b) decreasing the cost of business, or c) acting as a catalyst for many others. Talk to your manager about wanting to optimize your effectiveness in these areas. Ensure that you can demonstrate this value on demand if required. Always try to remember that you’re being paid for a return of value and it is your duty to ensure you can maximise that value.

  6. Overtime: If your goal is work/life balance, this may not be relevant. However, the reality is that you often get out what you put in. You can have an entire career clocking in 40-hour weeks, but from what I’ve observed, everyone who gets ahead does so by digging in and putting in the extra work. Don’t burn yourself out, of course! Manage your time and take it easy when you can, but when the pressure is on for you or your team, be prepared to knuckle down and put in some overtime. This both solidifies your position as someone who can be depended on and also gives you more time in the saddle.

In summary, the steps outlined above can be distilled into a single plan:

  • Understand your goals and what you want to achieve
  • Set specific and measurable goals to get there
  • Continuously improve your craft and skills, even if it’s uncomfortable
  • Be a valuable team member and easy to work with
  • Clearly communicate and demonstrate your value to your employer
  • Be prepared to put in the extra work when necessary.

By following these steps, you can increase your chances of success and reach your desired career outcomes, whether that’s financial stability, influence in the industry or a balance lifestyle. Remember that career paths are rarely straight and it’s not uncommon to change direction or re-evaluate goals, so be flexible and always keep learning.