Whats the thing that drains you the most?
Where do you reach out to get advise outside of your company?
What is missing from the tools you currently have?
Harder: I have long term relationships with other teams. How do I maintain those relationships even if every single person on the other team turns over?
Hardest: How do I provide opportunities for my individual reports to achieve their personal career goals while also ensuring that all of the work adds up to a meaningful whole?
I get advice from mentors within my company. I don't rely on external mentorship.
I don't believe that tooling can solve any of the hard problems I have. Management problems are people problems, not technical problems.
Also, how do you balance or position for greater long term impact vs lesser immediate impact?
If it is a new relationship, I tell them no. I then provide them with my estimation for the impact of the proposed collaboration and my estimation for the impact of the work that we are funding. And I encourage them to escalate through my management if they disagree with my conclusion.
The harder one is if we have already provided something for this team. The way to avoid this is to try to document support expectations as clearly as possible in the very beginning and ruthlessly prevent things from growing beyond that. I've done this poorly in the past and ended up inheriting support for less impactful collaborations that I can no longer deprioritize.
> Also, how do you balance or position for greater long term impact vs lesser immediate impact?
Work with leaders to define their priority balance for short vs long term impact and try to match that. Some orgs really really need short term wins. Other orgs can afford to take a longer vision.
Number one for first two questions: hiring. Finding solid, dependable people with the right skills and attitude is really, really hard. I probably spend 30-40% of my time on the hiring side of things. We have so much work to do and not enough people to do it, and combining that with the slow rate of inbound high quality candidates means that I have to spend a ton of my time screening and talking to candidates. Someone else mentioned turnover, but I have never (so far in 6 years) had anyone quit while working under me, so turnover for me has been really low.
Number two problem relating to the above: diversity. It's nigh impossible to find women and other marginalized groups. They're in such high demand and the supply is so low that it's just so hard to hire people and have your team not look like a team of white dudes.
For the third question, I talk to my old bosses and coworkers the most. I have a fantastic relationship with my last two bosses. Nowadays we're peers (same title, different companies) and we compare notes and mentor each other. If you don't have someone like this already, I suggest going to meetups (post-COVID) and meet other engineering managers. A shortcut to this is to find a new job, and then your old job colleagues can be your external mentors ;) That said, there's nothing wrong with having mentors within your company. Just be up-front with them about what you're looking for, especially if they're upper management.
For the fourth question, I've never really found that tools have an impact in either direction. I've yet to find a tool outside of Excel/Google Sheets and email that is indispensable.
I have interviewed a bunch of women and non-white devs lately, and I doubt they would agree with you. This morning I interviewed a very impressive woman of color who said that she's struggled to find engineering jobs.
I've noticed that it can be MUCH harder to find women and non-white candidates when your existing engineering team does not already have much gender/racial diversity. And that stands to reason. Nobody wants to be the token "diverse" hire.
Is it possible that your company has already developed a reputation for its lack of diversity, so those candidates just aren't interested?
The poster clearly mentions they want to increase diversity and unless they do something sexist /racist as part of their interview what more are they supposed to do? If they look all white now what are they supposed to do about it? Find the token colored person from some corner of the company and paste them in every page in their website?
We struggled very hard to find BAME candidates that weren't from India (India is a nightmare to migrate people from) and Women just.. didn't exist. We fast tracked every woman to second level interviews but there were just pitifully few and the ones we did get were quite poor fits (read: MS SQL DBAs where we used Linux/FreeBSD), we did make extended efforts to hire junior levels and train them (where we would have not done the same for a white male Swedish candidate (This was Sweden btw)) but that didn't pan out so well.
This was true in other teams too. Add to this: the few women we had were heavily promoted in social, photo and print media and some of them didn't like it (becoming essentially "token females") and quit on that basis, the culture that sprang up was quite toxic after that, outrage mobs trawled the main internal off-topic company mailing list so much it had to be shut down.
I hope I won't get crucified for saying this, it's my opinion and it is very obviously biased because I lived through it and feel somewhat burned; though nothing I have said is non-factual.
The point I'm making is: Women and minorities are hard to hire because they are in limited supply, almost by definition, and heavily promoting the ones you have leads (at least some of) them to be disenfranchised. Forcing the situation and hiring just anyone on those metrics alone seems to (in my single case) cause very politically motivated people into the company who then seek to bully others or spend countless company hours on shaming the company to spend money on political causes they support.
There’s also other ways the hiring pool becomes fragmented such as area of focus (e.g. game dev vs web dev vs embedded dev) that make employees non-fungible.
I guess the point is that both can be true. There can be a frustrating shortage of qualified under-represented minorities available to companies and it can be hard for qualified under-represented minorities to find work. The job market is not like the financial markets where money can mostly move fluidly to the area of highest opportunity. Job fits are more complex and we should naturally expect a much less efficient allocation of employees.
This leads to implicit discrimination against anyone who doesn't spend months grinding for these "exams", with the same distribution of "grades" across races/ethnicities/genders as e.g. math tests in schools.
(Disclaimer: I have fired people, and I have had two people transferred off my team onto other teams, and both of them have left the company, but I don't count those as attrition under me.)
But if I had to pick something as a thing that I do to make sure my teams are happy and want to stay, it's this: I care deeply about the people who work for me. I'm a people-first leader. I firmly and strongly believe that unhappy people do shitty work, and happy people do good work. I believe that you don't get what you don't ask for (eg, raises, promotions, cool projects), and I also believe that most people won't ask for those things... so I pro-actively ask for them. Our 1:1s are their time to talk about whatever they want to talk about. It's not my time to pontificate. But if they don't have anything to talk about, I'll ask them questions! Things like: where do you see yourself in 5 years? Are you happy with the project you're working on? Are there cool projects that you want to work on? Is there a piece of technology that you haven't used that you would like to learn?
And then once I get those answers, I work with them to achieve those goals. If they want to be a manager in 5 years, then we work on that. If they love the project they're on, then I get them more involved. If they want to work on Project X, then I figure out a way for them to transition off what they're doing now and move on to the other thing.
I also spend a lot of time getting to know them as people. I know their partner's and kids' names, their hobbies, where they go on vacation. I frequently ask questions about those, like, "Did [partner's name] get that promotion?" or "Are you looking forward to your next trip to Disney World?" or "Has [kid's name] seen the movie The Mitchells & The Machines?" and so on.
I'm transparent and honest. I make it clear that I support them as much as I possibly can, and that I would rather they be successful and happy than successful and miserable. One of my guys came to me about three months ago and said, "A recruiter from Stripe reached out to me about a role there. Why shouldn't I apply there?" and I just shrugged and said, "You should. You should always have an idea of what you're worth on the market, and if you think that's a better fit for you than here, I support you." And he applied and he got an offer and it was a little more than he was making here, but he declined because he felt like he'd be a cog in the machine at Stripe versus a valued member of my team. On the flip side, the offer clarified some ideas that he had in his mind about where he wanted to take his career, and so for the past few months we've been talking in our 1:1s about how to shift his career into a different direction, and he's been taking advantage of some opportunities that have come up.
(NOTE: Despite the above scenario, I would never ever suggest to your boss that you are looking elsewhere, no matter how good your relationship is with your boss. It puts us in a very difficult position regarding certain decisions around pay raises and bonuses and promotions and hiring and so on. I did give this feedback to this engineer.)
So if I had to claim credit for anything, it's just that. The soft skill of treating people like people, trusting them to do their jobs well, and giving them the space to make mistakes, learn, and grow along with me. After all, I don't know what the hell I'm doing either. :)
(I really do think I got lucky with a team of rockstar engineers.)
Spending 30-40% on hiring is a lot. How is the current compensation and what does your hiring pipeline looks like? Internships? One of the smartest decision I've ever seen was to simply raise initial offers by quite a bit. Suddenly the quality of applicants just jumped.
> Number two problem relating to the above: diversity. It's nigh impossible to find women and other marginalized groups. They're in such high demand and the supply is so low that it's just so hard to hire people and have your team not look like a team of white dudes.
I'm curious why does it matters? Shouldn't folks be hired on their abilities rather than some arbitrary reasons?
Diversity is the solution to groupthink. From the book Surrounded By Idiots, the author demonstrates that people with different backgrounds and behaviour models come together to make stronger teams.
As engineers become more senior, they have a hand in design, in product etc. they bring something of themselves to their software solutions. Making software with only a team of white dudes means you miss the mark on issues important outside that group.
Also, inclusion goes hand in hand with diversity. People from all ethnicities and not just cis males can code, but if your team is mainly white guys, you have to work twice as hard convincing others that they'll be welcome and fit right in otherwise it becomes a self perpetuating pattern.
Also, "abilities" is subjective. If your exemplar for software engineer progression is a path that fits a majority white man route into the industry, and plays to the strengths of the people you promote, you'll over-index on those abilities. It's a good question to ask, what skills are we missing out on because our lack of diversity leads us to self selecting?
For transparency, I'm a white cis male manager, who manages a team of almost exclusively white cis males. I'm working on some long term strategic projects to help foster diversity in engineering in my city.
Our comp isn't the most competitive in the SF Bay Area. It's competitive, but if you really want more money, there are other places to go. We're fine with that, generally. Our HQ is not in SF at all, and neither is our parent company, so there's some weirdness at the really high levels of the company about how much we should be offering people. In fact, there are some states that we hire in people make a KILLING. SF is not one of those. That said, we are competitive enough and I rarely get offers declined because of pay. Most folks don't even try to negotiate much, even though they should! [0]
I actually have a great closing rate! In other words, when I make an offer, people accept! I'm very good at selling people on the team and the company! If you get to the stage where I make you an offer, I am generally pretty confident that you're going to accept and that you're going to be a great fit.
But getting a candidate to that offer stage is fairly hard. My standards are a little different than most of my peers (a thesis on which I'm not sure I could elaborate coherently nor in the space allotted here on HN... maybe a future blog post), and so I suspect I spend less time actually interviewing than you might think. But "time on hiring" is not just the interviewing process. It's figuring out what the best process is, looking at our funnel and identifying bottlenecks, sourcing high quality candidates. Is our technical screen a good one? Does it evaluate what we think it does? Do our candidates that are rejected walk away feeling frustrated rather than challenged? Is it a fair and equitable hiring process? Is the interview panel a diverse cross-section of the company and representative of the types of folks the candidate would work with? Are we giving them adequate time to learn about us as well? I could go on...
Then there's the looking at resumes. Most of my peers are almost exclusively looking for senior roles, whereas I'm usually willing to have more of a mix between senior/intermediate/new engineers. This willingness depends on the composition of the team, but I actually really enjoy converting interns into full-time employees (75% success rate on that so far!). But we get SO. MANY. APPLICANTS. for every single role, that for me and my recruiting team to go through them and figure out which ones are worth taking 30 minutes out of my day to talk to, that takes time and energy. And I feel bad about every single person that I decline to speak to, but I just have to manage my time more efficiently or else I'd be spending 100% of my time on this specific part of the hiring process.
This part DOES take a lot of time, but truthfully, it's like 2-3 hours a week on any given week, and sometimes 4-5 hours on my worst weeks, and it's easily the worst part of the whole process.
The actual interview process, for me, is about 30+15 minutes per candidate. I do a 30 minute phone screen at the start, and then I'm usually the one who makes the offer at the end, since I have one the best closing rates in the company. The actual interview process is not a huge time sink for me. In fact, the interview process is pretty streamlined and at this point is kind of a well-oiled machine. I average about 1.5 offers per month, and I'd say we interview 3-5 candidates before one of them gets an offer, so this isn't tremendously burdensome.
Then there's the post-offer phase, where we need to coordinate with HR and recruiting to get the new hire onboarded, get them a laptop and some swag, make sure all of their credentials are set up, set up a welcome happy hour, and perhaps most importantly, make sure we have a well-defined project for them to start on day 1! There's nothing worse than starting on day 1 and twiddling your thumbs because nobody knows what you should be working on. It's the wooooorst. On average, my org has a new hire start every 2-3 weeks, so this isn't a trivial process, though it's far more streamlined than it was when I started.
Then there's the follow-up, which falls outside the "hiring" definition, but my managers and I absolutely spend time with the new hires for their first week or two to make sure they get up to speed quickly and become productive quickly. Especially since our primary programming language is Go and most folks don't know Go, so there's a short training class that we do to get them onboarded quickly.
So if you take the phrase "hiring" to mean only the interviewing process, then sure, 30% of my time seems like a lot. But when you add all the other stuff in, it's not really that bad. And in recent months, I've been training some of the managers to do it My Way (TM) and we're seeing some good results, so maybe it'll drop down to 15% soon! Ahh, a person can dream...
Thanks for the questions and the suggestion!
[0] https://www.kalzumeus.com/2012/01/23/salary-negotiation/
> Finding solid, dependable people with the right skills and attitude is really, really hard.
1. What are the soft skills of the candidates that you most value? 2. After 6 months, what the most important aspect that you value to decide if it was a good/great hire? 3. Offtopic: Do you have an all time favourite book for growth/self improvement you could recommend?
Thanks in advance!
I was a VP Eng with a slightly larger team, and EVERY subteam in my org included one or more folks in those groups.
I didn't go through any particular effort, but it's one of those things that builds on itself. Finding ANYONE was really difficult, so I couldn't target specific groups and hired anyone qualified that accepted an offer (which is probably how things should work).
The key was that many of the leaders of this tech company, including CEO and COO were women. That helped demonstrate that we weren't hiring folks just to hit quotas and that there really wasn't a glass ceiling at the company.
To your point, every team in my org also has one or more... but it's not enough to have one in each team. More than half of the population of the United States are women, and far less than half of our engineering teams are comprised of women. And when talking about people of color, the stats are even worse. It's less about whether we have any and more about whether our team composition reflects the population accurately.
To your other point, one of the reasons our teams are composed inequitably like this is because of exactly what you described: we have to take ANYONE who is qualified and accepts an offer, because otherwise we'd never even come close to our hiring goals! (Not that we ever meet those, anyway...)
What's wrong with that? I'm not in the US, so I don't know. Is there a law against teams of white dudes? Or is it just about avoiding a possible witch hunt by the media/activist?
Aren't "marginalized" and "in such high demand" somewhat contradictory?
Rather than "marginalized", which implies active resistance to the entry of people into the industry, which is clearly not the case, perhaps a more neutral term like "relatively rare" would be both accurate and not contradictory.
But of course, what I just said is thoughtcrime, even though it's obviously true.
Here's a link to what seems like a decent definition of "marginalization" to me: https://www.inhersight.com/blog/guide/marginalization
Humans are bad at grand strategy. But if I insist that stakeholders order granular units of work by priority and then my team delivers at least a few things a week in that order, I put the questions back into a realm that humans are reasonably good at: I can give you X or Y by Friday. Which one do you want?
So honestly, my biggest fight isn't to find new tools. It's to stop people from introducing more tools so that they can sneak unhelpful complexity and the resultant chaos back into the way we work.
I'm surprised that the high rate of turnover in tech is not considered a crisis given all the time he spends on that. Even assuming that employee tenure is worthless, a senior level engineer loses 1/3 of his time to this.
You're not paid your value, you're paid the least amount a corporation can get away with paying you - which is a very different number. (Not that I resent it, it's part of doing business)
When you're being hired both you and the company are taking a bet. The company is betting that you're worth $x+$y/year, where $x is the salary and $y is bit extra to accommodate the risk that you aren't, you're betting that it's worth working for the company for $x-$z/year, where $x is the salary and $z is a bit extra to accommodate the risk that you aren't. I.e. both sides price in risk.
After a year or two, the risk on both sides has largely evaporated. The company now knows that you are (or aren't) worth $x+$y, and you know that it actually is (or isn't) worth working for the company at $x-$z.
There's now a delta between $y and $-z (assuming the initial estimates were accurate) where it "makes sense" for you to stay, the company could pay you more, but why would they? If it wasn't for the fact that shrinking salaries is a negative experience for the employee (more negative than the dollar difference) they could also pay you less. Splitting the difference by not changing the salary at all seems fair, and nicely lines up with the agreement you already have in place.
Applicant A has the precise set of skills Business B needs desperately at that moment. Business B is willing to pay whatever needed to get Applicant A ASAP (because they are growing quickly, or in crisis, or just need that role filled fast). This is normally what causes salary bumps in job switches... because A would not accept an offer if it _wasn't_ substantially above what they make now.
The first place could have kept me by offering me fair market rate for the role I had.
The 2nd place couldn't have kept me with a bar of Gold every morning but it was a pay bump which levelled me into the salary I'm on now.
If your biggest issue is recruitment then it seems pretty obvious you pay your existing staff fair-market rate because replacing them is more expensive than just paying them (and because it's fair though fairness doesn't appear to a motivation).
Maybe if managers spent more time on making sure their employees are happy, challenged, managed effectively and compensated adequately instead of looking for the next hire they'd be in a better spot? It seems that most employees quit managers, not jobs.
2. Repeating myself over and over and over (typically ~7 times) to get a message out to the team/org. Even smart people act dumb sometimes, and don't listen/read when they should. It feels like babysitting, sometimes.
3. Books, blogs, industry friends, and some mentors. I have found it difficult to make external mentor friends, but still working on it.
4. It's never about the tools. Jira sucks, slack sucks, and so do most tools. Make sure you keep your workflow simple and make it transparent, however you do it, so that not only can YOU see what's going on, you can confidently share it with others (see? THIS is why your feature isnt being worked on right now, etc.)
This is often a sign of there being too many channels of communication or authoritative sources of information, and/or of lots of low-value information being sent out over those channels. Unfortunately, that's not always something one manager in an organization can fix, as it may be cultural or organizational-structural.
The rest are resource management. It's difficult to hire the "best and brightest" and task them with mundane maintenance and general housekeeping, but those things still need to be done too. It's about striking that balance between exciting greenfield projects and making sure our older services don't rust away.
https://www.ribbonfarm.com/the-gervais-principle/
To be clear, the principle is one of many lenses that you can view the world through. I suggest it to be used as but one tool in your mental tool box. However, it is a good tool.
If you have read it, then I am also at a loss as to what to do with 'the clueless'.
I'd suggest trying to engage in more 'powertalk' with 'the sociopaths' and trying to mirror the path of Ryan the Intern. But that deep cynicism just rubs me the wrong way. Perhaps I am more of a Toby in the end.
> How do you insure you are working on the most important items for the TEAM?
Push PMs to make decisions on metrics not gut. My contribution is to add engineering and operations toil metrics to our dashboard. Eg. If the onboarding funnel is converting at 90% but our average time to resolve tickets is a week, it's easy to prioritize fixing some bugs over endless A/B tests in the funnel. Have really open and regular dialogue with the team about what they want to work on and where their gaps are, try to put them on projects that help them grow.
I also try to have my team interact with other teams as much as possible- customer support, operations, pm, design, other teams. I find it helps give engineers a more holistic picture of the business, the people and pain behind functions and get in the mindset that delivering business value or reducing toil for people can be more exciting than bringing in a shiny new library to our codebase.
> Whats the thing that drains you the most?
Honestly I have too many direct reports (12). I spend so much time in 1-1s and meetings unblocking people, and despite all my effort the team is not getting as much coaching as I want. I'm an introvert as wells so it's exhausting. I'm working on hiring other managers and organizing us into smaller teams, my goal is to have a 4:1 engineer to manager ratio this year.
> Where do you reach out to get advise outside of your company?
Mostly I read a lot, blog posts and books.
> What is missing from the tools you currently have?
I think my main problem is there are too many tools. JIRA hurts almost as much as it helps, slack is a disaster for focus. I'm trying to cut down on tools lately (eg. move out of JIRA, just have a lightweight planning doc with some tables). It works for shorter cycle projects when you have a strong team.
One tool I would appreciate is something that keeps me accountable for evaluating performance and giving good performance feedback more regularly. I'm good at reflexive feedback but really deep meaningful feedback takes time to craft, and it's easy to let it slip with the barrage of information in the modern workplace.
2. Trying to convince management to focus on the right things. In practice this is really just me repeating the same thing in meetings and 1:1s until they happen as I gather more and more data from users directly, through analytics and share perspectives from people I manage.
3. Other engineers I’ve met over the course of my career. I also try to read for 30 min in the morning. I read everything from self help sorta books to deeply technical books about my area of expertise.
4. Having used Jira and Azure DevOps, scheduling tools still don’t seem great. The PM I work with prepares a schedule in excel with me every quarter and we revisit it every few weeks. People look at that like 5x as much as they look at our planning tool and it takes like 1/10th the time to edit or less.
EDIT: My team is 4 people including myself. 2 senior, 2 junior.
I've a suspicion that in an ideal world, reporting/planning tools for management and day-to-day task tracking for teams would never touch in any kind of automated way. I think the desire for an automated chain all the way from ICs up to reports to higher management makes those tools suck both as reporting/planning tools and as tools for coordinating the actual work. I also think it'd be damn hard to sell that vision to management ("you want to make it harder for us to see exactly what everyone's doing at any time, and introduce a step designed for someone to fudge numbers or lie to us?" 1) Yes, and 2) They're already fudging numbers and lying, you've just pushed that step all the way to the bottom of the stack, at a cost to actual productivity and team-level transparency.)
Getting away from work is the best tool in my experience
Managers are self-selected from a group of hard workers committed to the organization. They can want to jump on urgent tasks to shield their teams. This is a great instinct.
BUT... it can cross a line where the manager becomes ineffective and begins feeling like they need to do everything, and loses trust in delegating to others to handle these tasks. You can get into a negative "I alone" mindset, where you feel like you have to carry the world on your shoulders. This can be pretty damaging to the manager and the team...
So getting away is a way to (a) force others to take on more responsibility thus building your trust in their ability and (b) get away from the urgent, crystalizing what's remaining as the true 'important' ways you can help the team.
> Whats the thing that drains you the most?
Respond to slack, go to meetings, slack, meetings, repeat... day ends and it feels like nothing got done
> Where do you reach out to get advise outside of your company?
Honestly, peers at other companies. We have some strong relationships with companies we don't compete with, and we share a lot of learnings about technology we use.
> What is missing from the tools you currently have?
IMO recruiting tools suck for hiring managers. In my experience, the best devs react more positively to hearing from a hiring manager than a recruiter, yet recruiting tools are built for what feels like impersonal bulk-emailing. As the hiring manager, if I see someone with relevant experience, I just end up sending a real email or LinkedIn message with warm details about why the recruit looks interesting (with real tech details, not recruiter BS).
Yet on LinkedIn/Email the contact isn't in our recruiting system... So when they do want to be interviewed, you have to get them in the system somewhat manually.
At small companies, my biggest challenge has usually been employee growth/satisfaction and hiring. The saying "a rising tide lifts all boats" is very true at startups. Either everyone succeeds together, in which case even the below average performers will have great opportunities for growth and advancement, or everyone languishes and eventually fails together, in which case even the very top performers may have to go years without any real opportunities for advancement or raises. Some churn is inevitable in most startups when the trajectory of the company is not a perfectly smooth exponential (which it almost never is even in successful companies). Hiring is also difficult, because as the manager you often need to handle more of the process themselves without the support of a recruiting org, and you'll always be at a disadvantage not being able to pay nearly as much as big companies or have the name recognition so closing candidates can be much harder (at least for me, I'm not a natural salesperson so this is something I've really needed to work on).
At big companies, my biggest challenge has been navigating the organizational complexity or what some might call "office politics". There is often no shortage of opportunities at big companies, the cool thing is that even modest improvements can lead to huge amounts of incremental revenue for the company. But there are also a lot of things that are less exciting but need to be done to keep the lights on. As a manager, if you have the chance to seek out the former kinds of opportunities for your team and get new exciting initiatives greenlit with upper management, that's often one of the best things you can do for them. Or if the purpose of the team is more the latter category, then it's your job as manager to still make sure everyone in the org understands that this is an important and high impact area, and that you can show clear success metrics of what your team doing a great job looks like. Individual growth and hiring are still important of course at big companies, but there are existing resources in HR and Recruiting that you can lean on to help with it (and there are often strict rules that mean you couldn't deviate from the official processes here even if you wanted to).
In some orgs, engineering managers are responsible for all of product delivery - figuring out what needs to be done, hiring people to do it, making sure things ship on time, and making sure the app is always live. In other orgs, they are only responsible for hiring and share that responsibility with HR/recruiting.
In some orgs, they are both inward and outward facing - they manage their team and represent engineering in the broader organization. In other orgs, they have no interaction with those outside their direct reporting chain.
Some orgs expect managers to report only on a regular schedule. Others have a more "pop quiz" approach to communicating status.
The broader the manager's scope, the more concurrent communication threads there are - "balls in the air," so to speak, and the more tools they will have to interact within any given hour. I don't think another tool would help unless it removes the need to interact with others for these managers.
Look into KPIs (key performance indicators). They should be proxies for customer success - Key means only have a few. The engineers should know what they are and be given the autonomy to influence the roadmap and innovate on how best to improve them.
Are there statistics of this type that you find useful? If so, I'm interested to hear which ones and why.
My current company relies on these sorts of number much more heavily than anywhere else I've worked. There's so much noise that I'm skeptical of their utility, but would be happy to learn more.
And the reality of the situation is that these metrics will be brought down to the individual level and used in performance management. As a manager, I'll have to track that 1) I'm measuring things that matter and 2) that engineers have control over the metrics.
I also don't treat the metrics as a silver bullet where changes need to be investigated and not managed to.
There's definitely risks and some managers probably do this poorly, but I think metrics are useful and if done well, are effective.
So you can run to a less anti-human org, but eventually we as a society are going to have to decide if humans deserve any dignity/freedom at all.
But I needed
1. Better predictability about how much new features would cost
2. Ways to limit the soul-crushiness of scrum micromanagement and just management in general
3. Easier/better way to communicate upcoming features, and features once they were actually live. Doing weekly product update emails with screenshots was fine-ish but it was a chore that just took too much time, and was it worth the effort/ROI? Eh.
- Do all the engineers know what they should be working on?
- Do they know who from the product side they should go to for questions if the specs are unclear?
- Do business, product, eng, all agree on what we're doing? Does what we're doing match that agreement?
- Are our current communication norms meeting our needs (as little wasted time due to different timezones, working styles, as possible)?
- Is the build / test / dev loop fast enough? Are there tools that I need to upgrade / add / improve because we're now bottlenecked? Can we still get away without building XYZ?
- Are people happy with the work they're doing and with the people they're working with?
- Are people getting to work on things that push their skills and limits in a way that helps them keep growing? If not, is that OK for now?
- Are people taking enough time off when they want to so that they're not burning out?
- Hiring: do we need to, are we pipelined correctly so that we're bringing new people on roughly when we'll need them?
- Are we meeting all of our legal / security needs?
- Are we meeting the right amount of the eng needs from the rest of the company, that may not be explicitly product related?
- Is my dev work good enough / on time?
- What's this new error, is it important, do I need to help diagnose and debug?
- I should write a blogpost about <X>
---
The thing that drains me most is trying to do both management/comms work and hard technical work on the same day. I do my best to manage my schedule so I have long blocks of either one or the other but inevitably I'm interrupted. So it goes.
I reach out to former coworkers and mentors for advice. Everything I'm doing is based on what I've seen my former managers and team leads do in the past, and I'm so grateful to them for having demonstrated good leadership.
I'm not missing any tools. Team is largely happy. We're going to switch to BuildKite to improve build times (currently on Google Cloud Build) for our frontend container, but after that we should be set for a while.
I'm thankful to work with the team here at Pipe. I don't need to be perfect for things to work. We all give each other room to experiment. I have never had a more enjoyable working experience.
EDIT: we're hiring for product / frontend-oriented engineers, feel free to email me peter@pipe.com if you're interested.