I’ve been wondering what things did I learn from working with a large team and a constant evolving tech stack…So I decided to give it a thought and write down all the good and bad.

Engineering is not all about tech and code!

Leadership

In a cross collaborative team, leadership is both an expectation and a need. Having someone on top of you mentoring you in terms of how to be a good leader has been key to level up my game. One may have issues dealing with questions like: What am I good at? Are my opinions taken into account? How can I influence people for good?

  1. I created spaces for people to reach out. For example, scheduled collaboration time twice a week enabling my peers to join and discuss solutions, ask questions or seek for guidance related to efforts I was leading or just stuff related to my area of expertise. Be proactive!

  2. Set up notifications for the channels I cared about –– team channels, engineering chats, help chats –– and muted the ones that I didn’t need to be constantly aware of. Thus enabling me to focus on helping on what I could and reducing the amount of information I got during the day. Focus on what matters!

  3. Be outspoken! Although you need to leave room for others, you certainly need to communicate what your ideas and concerns are. Additionally, ask questions –– I’ve found that junior people may be intimidated or scared of asking dumb questions. Also, getting your ideas out there may help the team consider new perspectives to a problem.

  4. Drive for improvement! Both you, your team and your product are always under constant change. Look for opportunities to improve everything you’re exposed to!

Technical skills

Although these are obviously important, work has a lot more than them. The more ladders you climb the less technical skills are involved in your daily work. What do I mean? Meetings, interviews, discussions, chats, reviewing documents, planning tickets, thinking about processes… among many many other things become more important than writing code.

Don’t forget to keep working on your coding and learning about new stuff; save time for this!

Time management

The above raises a huge problem. How to be efficient? How to finish your ticket while you still need to take care of the rest? Well, I believe it all comes down to purposely making time for everything. I learned from other senior engineers that scheduling time for yourself is extremely appropriate.

  1. Reserve time for focusing on whatever you need to
  2. Make up space for collaboration time so your peers know when you’re free for pairing, chatting, etc. This helps to condense these requests into specific time frames. Make sure to use your calendar features!
  3. Leave open spaces so that organic meetings, calls, etc can happen and so that you become unconsciously aware that you won’t be heads down on your own work. Use this to be more active on general chats, help answering stakeholders questions, etc.
  4. Delimit and add to your calendar when your start and end of day happen so that you can take care of your mental health!