If I had a nickel for every time I get an email or text asking if I know any full stack developers for hire, I could cover the cost of my next trip to SF. I’m also struck by the number of founders who say they’re raising more money simply because they need more engineers to code, yet they do not have a good hiring strategy.
For decades, there have been books and articles about building engineering teams. The infamous book The Mythical Man Month, by Fred Brooks should be on every software engineer and tech startup leader’s reading list (It should also be re-titled either “The Mythical Person Month” OR “Nine women can’t make a baby in one month”…just sayin’). There are also many blog posts explaining why full stack engineers are unicorns. Yet, when I did my latest poll on twitter on top hiring priorities this is the response:
Sure, it’s fine to look for a generalist [or augmenting your team with an outsourced dev shop] to get basic stuff done, but being more strategic about your hiring process, is what could be the difference between a great product in the market vs. something basic that is slow to ship. Below are some tips on how to be more strategic about hiring:
- Product prioritization leads to hiring prioritization: If you’re doing proper product prioritization via discovery – talking with customers and understanding what you need to get to product market fit or grow adoption – then these priorities set the hiring agenda. For example, if you’re realizing that your on-boarding process is too complicated, then hiring a User Experience (UX) person may serve you far better than someone who can code a fresh UI. If performance issues are causing churn, then hire a performance engineer; someone who knows how to diagnose and fix performance issues. Just like you are building a product to solve for the job to be done, hire the engineer for the development job to be done.
- Understand the roles: Do you understand the difference between a front end developer vs. designer vs. UX expert? (if you don’t, read this) Are you fluent enough in your architecture to know what type of engineer should be building which elements of your product? Many early stage companies are started by engineers who know exactly what they’re doing, but many are biased in the areas of which they are most familiar, even if that is the suboptimal choice for their current products. I’ve seen products built with .NET simply because the seasoned engineer-founder knows that platform best, without considering whether it is the best platform for their product and/or whether they’ll be able to hire engineers who are skilled in .NET (or want to learn it) to build it at scale. I’ve also seen many startups default to the language of choice for the full stack engineer they found to build their first prototype and then let that language dictate future work as their product gets market fit and scales. This rarely works out, unless that first engineer is a ringer, and most of the time the reality of having to refactor your entire codebase or port to a new language hangs over the product team…forever.
- Long term need vs. short term fix: Another common mistake is hiring a full time expert in an area that only needs occasional work. E.g., Performance engineering. Certainly, if you’re building a complex, distributed, application that has heavy computation or many API calls, then a performance engineer is a critical full time hire. However, it may behoove you to find a good contract engineer who specializes in performance tuning as needed; at least until you’re operating at scale. Same thing for a designer – unless you’re at scale and adding new features/products at a steady clip, then a contract designer may be prudent while you iterate on your MVP. You may pay a little more per hour for these contractors, but that far outweighs over hiring and paying a full time salary early on.
- Time Delay + J-curve: Just because you have cash in hand to hire, doesn’t mean you will find and hire the right people right away AND each time you add a new person to the team, there will likely be a j-curve impact on productivity.
Therefore, when you prioritize hiring, factor in how long* some roles will take to fill (e.g., we don’t need a designer for a few months, but it could take three months just to find the right person) and be thoughtful about the cadence of adding new people to any team. Adding a bunch of new engineers at once is not going to accelerate development over night. Each time a new person comes on board, it’s disruptive to team’s flow – and this is not just about training them. It disrupts the whole dynamic of the team. If you’re doing a lot of hiring over a discrete period of time, set the right expectations (with yourself, your company and your investors) that a ramp in hiring will likely slow things down until new teams settle into new norms. If the ramp is constant, by the way, your teams will never settle into a groove leading to employee dissatisfaction, high turnover, product delays, etc.
*This delay should also be considered in the budget exercise for these roles. Don’t front-load salary expenses for open jobs that may take weeks or months to fill.
- Humans are not robots: Hiring is hard, and even when you get really good at it, at the end of the day these hires are human beings that have their own unique needs, past-job baggage and career aspirations. Their added productivity, how they diversify and/or add to your culture is only part of the consideration. Having a strategy to prioritize manager, team time and money for their human needs (benefits, HR support, a strong on-boarding experience, ongoing training and mentorship, etc.) is just as important as having a strategy to prioritize these hires!
- Apply the 80-20 rule: A great product leader will tell you that if you invest 80% of effort to understand the problem, it should result in 20% effort to build the right solution. The same applies to hiring. If you take 80% of your effort to develop a great hiring strategy and program, it should lead to 20% of the effort to bring great people on board and retain them for the long term.
There’s a severe opportunity cost that comes with bringing on the wrong people and/or at the wrong time and not having the right people programs in place. Even if you are a tiny early stage company, having to let someone go, or having them quit, and finding a replacement not only stresses out the manager and team, but there is a productivity hit to all while you go through the process. Even though it may feel like you’re moving slowly through the process of building a team, a strategic approach will pay off.
You can read more about my thoughts on hiring for startups here. Please share other ideas on this topic in the comments!
No matter how much we hate going to meetings, there’s a generally accepted best practice that teams should meet with their manager as a group on a regular cadence. More often than not, I hear leaders and/or their staff dreading their team meeting. Instead of these meetings being the least favorite time suck of the week, wouldn’t it be great if these were the meetings we looked forward to? That we felt it was time well spent with our colleagues and added value to our roles in some meaningful way?
There’s no reason you have to suffer or make your teams suffer through another tortuous hour or more. A while back, I shared protips on Mastering the 1:1. Now, herewith my tips on Mastering the team meeting…
Meeting Purpose: Set a clear purpose for your team meeting. What do you want your team to get out of the time spent together? Do you want them to stay informed about larger topics in the organization? Get to know each other and their respective work better? Whether you are rebooting a long standing meeting or you are a new leader of a team gearing up for your first routine meeting, talk with your team members about what they want out of the session. This time is much more about their needs than yours, so align the purpose with their needs. A fun way to get this dialogue going is to ask each team member to complete this sentence: “My favorite meeting of the week is my manager’s team meeting because……” What would they say?
Agenda: I am a firm believer that if a meeting is important enough to have, it should have a time-boxed agenda and always be followed up with notes and action items (“AIs”). Protips on setting the agenda:
- As the team leader, you should solicit 1-2 “hot” topics per meeting from your team. I recommend you do this no more and no less than 48 hours before it is scheduled so ideas are timely and content is fresh. Topics should not be tactical – that’s what stand-ups and 1:1s are for. Instead, focus on strategic discussions and information sharing. On the latter, do not make it a status reporting meeting. Information sharing could be a product demo, or draft of a presentation someone is preparing for a conference or a preview of a big announcement to solicit feedback before it goes out.
- Always send the agenda for the meeting 24 hours in advance. This sets expectations and ensures no surprises and attendees are well prepared.
- Prepping for the meeting should take less than 15 minutes. Solicit agenda items – prepare agenda – communicate agenda. Long slide decks and spreadsheets created just FOR the meeting is a total waste of time. If those materials already exist and can add value to the discussion, then owners of said content should A) share these materials ahead of the meeting for pre-reading and B) bring said materials with them and be prepared to share them at the meeting.
- Lead by example for your team and read all materials sent in advance before the meeting. If you have not read them, no one else will and again, you’re wasting people’s time. If you’re prepared, everyone else will be prepared.
- Finally, always carve out 10 minutes at the end of the agenda to take a pulse on your team. My method is “share thumbs at one”. Three, two, one and on one have everyone in the meeting give a thumbs up, down or sideways. I do a quick read of the room and video screens to gauge if we’re trending in a particular direction and, if so, take time to discuss. People feeling really up? Share why! People feeling down? How can we work together to make things better? This simple, transparent, way of sharing how the team is feeling is a great way for you to lead and for them to support each other. I also find doing this at the end vs. the start of a meeting tends to be a better read because no one is bringing the stress from a prior meeting into their pulse check.
Meeting Engagement: No one wants to listen to a monologue at the team meeting and no one wants to be in a meeting with other people who are checked out. Several protips to avoid this:
- Ask 1-2 members of your team to take the lead on the hot topics in each meeting. They do not need to be the experts on the topic, just the topic leader. This includes having them facilitate getting pre-reads to team members ahead of the meeting. The more they have ownership in a topic, the more engaged they’ll be.
- The team’s leader should not speak more than ⅓ of the time throughout the meeting. Other than updating your team about broad company topics, your job is to facilitate the discussion and LISTEN. If you’re a bad facilitator (not every leader’s strong suit), then appoint or bring someone in to facilitate. I’ve seen everything from EAs and HR leaders to program managers serve as facilitators of meetings – they keep the meeting on topic, on time and pay attention to the room. I don’t recommend one of your team members be the facilitator – they are there as an engaged participant, only.
- READ THE ROOM. Are people reading their email, checked out on a remote phone or video line or rolling their eyes at each other (visibly or under the table on their cells via text…)? Pay attention to what’s happening in the meeting and pause if you see this kind of behavior. If you’re losing people, you’re wasting everyone’s time and you’re costing the company money. (do the math, the average team meeting can cost a company thousands of dollars every week!). Tell people to put their phones or laptops away if they are checked out. Ask people called in remotely if they have anything to add to the conversation. Pull them in. If the topic is falling flat, be direct and ask why or solicit suggestions on how to make it more engaging. E.g., budget discussions are rarely engaging so even a simple “bare with me as we get through this” can go a long way.
- Have fun! It’s great to start a meeting with a funny anecdote or personal story to wake up the room. Maybe someone on your team has a good customer story or had someone on their team get a “win” worth sharing. Perhaps you have a fun personal story to share that shows your human side. Keep it light where you can, but serious during some of the tougher topics (budget, staffing, etc.). This fortifies the culture of your team both inside and outside of the meeting.
Tactical Stuff: When you meet and who goes to the meeting is just as important as the agenda and the content. Protips:
- Timing: Got a distributed team in multiple timezones? Find a time that’s mutually convenient for all team members. Do you find the meetings always run over? Schedule it for an extra 30 minutes and if it ends early, everyone gets time back – you’re a hero. Does the team have family responsibilities in the morning or after work? Don’t schedule the meeting such that it disrupts their lives outside of work (if it can be avoided). I also generally discourage team meetings on Mondays (frequent holidays/long weekends means rescheduling or skipping too often) and Fridays (long weekends and if hard topics, no time to debrief/process offline before the weekend).
- Decision making: If a meeting has >8 people attending, it is an “information sharing” meeting. Less than that, and decisions can be made at the meeting. If you have a team greater than 8 people, tee up decision topics for discussion and, unless it’s a layup, take the actual decision off line. Otherwise, there are “too many cooks”.
- Assign and rotate a note taker at every meeting. You and/or the facilitator cannot read the room and take notes at the same time. Further, by rotating the role across your team, you foster engagement and get fresh perspectives on the meetings each time. Notes should be distributed no later than 24 hours after the meeting while things are fresh. Always call out AIs with owners and deadlines in the notes.
- Guests: An agenda should always build in intros for guests and should be time-boxed for cameos. For example, if the head of HR is a guest at your meeting to talk through the next review cycle with your team, the team should know that person will be there and why. Further, unless there’s scheduling trickiness, have guests come at the start or end of the meeting so as not to disrupt the meeting with people coming and going throughout. My personal preference is guests at the start. Then we get into our regular routine.
Most important, don’t set it and forget it. If you do change things up, be clear on why you’re doing it and give it time to settle. Starting or overhauling your meeting process won’t necessarily show positive results the very next meeting and changing it too often will not only cause unrest with your team, but can create distrust if the rules of engagement keep changing. Have at least 4-6 meetings for a new routine to set in and then evaluate whether the changes are effective and adjust as needed. Solicit feedback from your team regularly too – after all, it’s their meeting!
Do you run a kick ass team meeting? Or, do you have ideas on how to improve the team meetings you attend? Share your protips in the comments!