8 tips from the Engineers' Survival Guide
Tags: career, softwareengineering, softwaredevelopment, workplace
Published: 2023-09-17 08:26:01

This week I read **_Engineers' Survival Guide_ by Merih Taze** and I can't recommend this book enough for all software-engineers. A fantastic read packed with insightful anecdotes and tips for advancing and improving your career. The following is my top 8 tips from this fantastic book.

# 1. Visibility is everything.
The author Merih Taze highlights in this chapter the importance of being 'known' at your workplace and how much it will positively impact you career. When it comes to promotions or finding the right person for a new opportunity people should recognise who you are because of your visible contributions across the company making it easy for them to accept and recommend you. Some simple tips he shares to improve your visibility include:
1. Share status updates to your team but also the wider community if it is relevant.
2. Engage on public posts.
3. Be active on design documents.
4. Comment on code reviews.
5. Avoid answering DM's and request to share them on the wider community dev channels to answer more people that might have similar questions.

# 2. The importance of tools and patterns.
Always consider if their is a tool that can do your task better, faster and with fewer mistakes. Stay active in learning and discovering new tools. For example see if their is a CLI tool that can help parse this document and extract what you need. etc.

# 3. Side projects and knowing your surroundings.
This chapter outlined why it is good practice to network with other teams and learn what other projects are going on around the organisation. The benefits of this include:
1. Becoming more senior as you are the goto person for checking if ideas are worth pursuing.
2. Connect and help other teams via design discussions. Growth opportunities.
3. Opens new career opportunities. You may be able to join projects you are more passionate about.

# 4. Importance of networking.
This is similar to some of the previous points. Networking with colleagues, which may come across as daunting for many engineers can be greatly beneficial for your career if used correctly. Never think of networking as I need to network to gain something but just introduce into your day-to-day life. Get involved in whatever networking opportunities present themselve.

# 5. Do not redesign a working system.
This might be a tough one for engineers to digest. And their may be exceptions to this rule but the costs vs benefits should be seriously considered before undertaking a redesign. Merih Taze emphasizes that so much business logic will be tied up in that spaghetti code where various bugs and exceptions have been caught to get to this stable system that it can be a huge amount of work to redesign or reimplement a working system. He suggests careful consideration needs to be made as to why and for what benefits the changes are necessary. 

# 6. Knowing popular frameworks and how they work.
This chapter was one that particularly resonated with myself. A general high level knowledge of popular frameworks will enable you in wider community design discussions and even just understanding what different teams across the company are up to and general chat with other engineers, helping you build relationships. For me personally, I could quickly develop a respectful relationship with senior engineers as a junior engineer who was aware of the wider variety of frameworks for both frontend and backend engineering in a suite of languages.

# 7. Use debuggers. Learn them and master them.
Debuggers are a seemingly illusive tool that many junior engineers surprisingly manage to avoid proper contact during the early stages of their career. My personal anecdotal data would suggest universities struggle or complete miss the opportunity to teach this fundamental skill of software engineering. Merih Taze suggests that learning and becoming a master at using a debugger in your respective IDE is a vital skill for progressing as an engineer. If you find yourself typing `print(some_variable)` several times in your code while debugging, you need to start learning and using a proper debugger and reaping it's rewards.

# 8. Align, align, and align again.
This one, I feel like is one of the most powerful comments the Engineers' survival guide makes. It suggests that as an engineer and employee you should align your goals with your team, management, division and company. This should be revisited often as change is common and ensures as an individual you are making sure you are impacting and adding value in the area's that the company needs it most.

## Thanks for reading!

That summarises my top 8 favourite tips from the **_Engineers' survival guide_ by Merih Taze**. I definitely recommend getting a copy for yourself.

Thanks again for reading and feel to leave any thoughts in the comments!

Follow me for more book reviews and quick tips I pick up along the way as I continue my book-per-week reading journey.

For my full reading list: https://github.com/SeanOverton/books-i-have-read/blob/main/books.yml