Sally Goble, Engineering Manager at accuRx, joins us to tell us all about growing engineering teams, how to support engineering career progression, as well as the importance of salary transparency.
When it comes to scaling engineering teams, it's important to get a balance between engineers at different levels. At small companies, it's important to have engineers who are able to execute quickly and deliver value. As the engineering team grows, it becomes more important to have a diverse team with different skills.
In a high growth company, you have to be very deliberate you don't fall into the common traps of hiring lots of junior engineers who don't have anyone to support them or hiring lots of engineers without any managers to guide them. Be very conscious to hire people that suit the scale of the company.
Senior engineers grow by mentoring less experienced engineers, so it's important to have a good mentorship scheme, either formal or informal. Teams should be made of a mix of experience, skills and seniority, so that everyone can have a good ecosystem to work in.
When it comes to team size, Sally recommends the classic "pizza size" team of 3-4 engineers to be efficient and lean. Organisationally, these smaller teams are organised into clans at accuRx of about 4-5 teams. These clans have ownership of a particular area of the business.
Career paths should be available for everyone in the company. There should be a balance between hiring externally and promoting internally for positions of leadership in the company.
It's a challenge to come in at a very senior level, assimilate quickly and start making a lot of impact. It is also challenging for the company to assess whether they have made the impact during the very short probation periods, as delivering big important changes takes time. At Form3, we choose to promote internally only to give people the opportunity to grow and retain them for a longer time.
When it comes to career pathways, there is often the expectation to start out in engineering and then step into engineering management, as that was the only way to "do well". Now, senior individual contributors (ICs) are seen to be equal to management positions and have an equal seat at the table. It's great to have two separate career paths for engineering and management, with Tech Lead positions sitting somewhere in between.
At accuRx, engineering managers are hands off technical delivery and direction, giving autonomy and ownership to the engineering team. Tech Leads and Product Managers partner to deliver the features and difficult work. Engineering managers take care of engineering clans, ensuring that engineerings have career support, mentoring and guidance available to them. The relationship between engineering managers is long term, ensuring that engineers don't change managers once they change team.
One-to-ones are very important when it comes to checking in with the engineers. Sally finds that weekly one-to-ones are a vital part of keeping engineers happy and she always makes time for them.
accuRx are proud to have publicly visible salary bands. It's great to be transparent, allowing engineers to see if they are being paid in line with their peers.
The career framework describes the skills and capabilities that your company values for each level of the engineering organisation. The engineering manager meets with the engineer and together review their performance against the career framework ideally 3-4 times a year. The engineering manager helps the engineer come up with a plan on addressing their areas of improvement, as well as finding opportunities to showcase their skills.
Progression frameworks should be taken in the spirit in which they're written, as opposed to becoming box ticking exercises. They should not be hard lines, what's important is that the engineer is in an upward career trajectory.
Adelina is a Technology Evangelist at Form3.
She started as a Java engineer, then converted to Go in 2018. She is in charge of telling Form3's tech stories, drawing from her own technical experience.
Adelina is passionate about sharing good technical content for beginners, who might be intimidated by the abstract concepts and jargon of most technical discussions. Her previous conference talks include speaking about NATS at GopherCon UK and implementing serverless at GopherCon Europe.
She is also a LinkedIn Learning instructor. Her course "Applied Concurrency in Go" was published in the platform in January 2022.
blogs · 6 min
Imagine one day you prepare a proof of concept application. You quickly write some code that shows your idea, add tracing and metrics so you can see how it performs, deploy the application to test environment and boom, after running for 1 hour the application restarts with Out Of Memory error. This screams "memory leak", but you look into the code and see nothing obvious. You may start thinking that overall restart every hour isn't that bad. If you are thinking like that, I encourage you to keep reading as I'm going to guide you on how to debug and fix memory leaks in Go applications.
November 24, 2022
blogs · 4 min
Jordan Van Dyk is Form3's first Canada based engineer. He joins us to share why he chose to work at Form3, what his interview experience was and what a typical day looks like for him on the Tooling team. Then, he shares how his team works and makes recommendations for how highly distributed teams can successfully work together.
November 17, 2022
blogs · 6 min
In this blogpost, Adam will try to convince you to implement AWS NACL as additional layer of network protection. He will go through some basics, present some best practices that you could leverage and in the end show how easy it is to implement NACLs in Terraform.
November 10, 2022