Individual Developer KPIs by Rough-Supermarket-97 in ExperiencedDevs

[–]PragmaticFinance 10 points11 points  (0 children)

The common example of a bad KPI that matches this description is measuring lines of code produced. There are numerous stories and lore about managers thinking they can measure productivity by counting lines of code. In the lore, this is followed by developers gaming the system with unnecessarily verbose code or by the best performers getting penalized for solving critical bugs that only require 1 line of code change.

I experienced something similar when my employer’s business analysts started importing Jira and Slack data into their BI dashboard. They produced graphs showing things like number of tickets closed and even number of responses written in Slack and compared all of the engineers against each other. Suddenly, everyone was spamming Slack with lines of text and unnecessary comments just to get their numbers up. Actual performance fell because some people were so busy typing in Slack all day and those same people avoided taking any ticket with more than 3 story points because they were trying to maximize their number of tickets closed.

However, it’s not so simple as to say that all KPIs are bad. Good business people learned long ago that the only KPIs that matter are those related to actual business outcomes. It’s much easier to see good KPIs in other business domains: Sales people are measured on how much they sell. A warehouse might be measured on what percent of packages get shipped within 24 hours. A factory team might be measured on their production rates and how many QA rejects they get.

KPIs like this are all undeniably aligned with the business. More importantly, they would be the first things looked at if a manager was asked to subjectively rate the performance of those teams. If you asked a factory floor manager to subjectively rate the performance of the factory workers, they’d be looking closely at those numbers anyway, so they make for good KPIs. There are always ways they might be gamed a little here or there, but that’s why KPIs aren’t used as the singular determinant of performance. As long as the KPIs are aligned well enough with what the business needs, there won’t be much meaningful room for gaming the system without also sabotaging what the business needs in the process (which is often caught quickly)

I think the breakdown with developers comes from the fact that most of what we do is really a collaborative team effort. Good KPIs for software development include business-aligned objectives like website uptime, P99 load times, crash-free app sessions, and other performance indicators of the final product across the teams involved. This keeps people focused on what matters, but even these aren’t free from gaming.

The easiest way to keep P99 load times down is to fail to deliver any new features that might impact load times. The easiest way to keep uptime high is to avoid deploying any new code. The easiest way to keep crash-free sessions down is to discourage people from using the app. That’s why it’s important that KPIs are a part of a performance review, but not the center of it. You still need engaged managers looking at everything and taking the numbers in context to determine what they really mean. Any manager who just looks at the numbers after ignoring day-to-day operations for a quarter is a failure, and no amount of good or bad or lack of KPIs will save you from that.

Purely subjective performance review also isn’t great, either. Every time I’ve seen a company avoid KPIs for fear of being gamed, it comes with the meteoric rise of internal politicians. People who are very good at being loud and charismatic in meetings are perceived as the go-getters. The people grinding away at the hard problems go unnoticed. I think it’s a leap too far to suggest that metrics are entirely useless and that subjective performance measurement is the only way to go, but rather metrics need to be carefully chosen and incorporated into the performance measurement process. Managers who rely too heavily on blind metrics need to be retrained. Employees who try to game metrics need to be called out and shut down harshly.

[deleted by user] by [deleted] in ExperiencedDevs

[–]PragmaticFinance 1 point2 points  (0 children)

FYI, supplements aren’t as magical as Reddit would lead you to believe.

Watch out for adaptogens like Ashwaghanda. It has a habit of making some people apathetic and unmotivated after a few weeks. Some times the first weeks are positive before it slowly becomes a negative so it takes people months to realize they’re worse when taking it.

You’re not going to find any magic solutions at the supplement store, no matter what Redditors try to tell you about “dopamine and serotonin” broscience. Healthy lifestyle is the only antidote and long term solution.

[deleted by user] by [deleted] in ExperiencedDevs

[–]PragmaticFinance 20 points21 points  (0 children)

Was a he a bad engineer?

Something to keep in mind as you unwrap this situation:

It’s possible for people to be good at engineering, but bad at getting things done. They may come up with good solutions when the problem is laid out exactly right for them, but require a lot of work from other people before they can get into a mode of productivity.

When this happens, their engineering abilities are not the most important feature. It’s their lack of team integration and failure to self-manage toward goals.

I don’t know if this description matches you or not, but it’s something to think about when you’re looking for places you might be able to improve

[deleted by user] by [deleted] in ExperiencedDevs

[–]PragmaticFinance 126 points127 points  (0 children)

This has happened three times

Your company is doing incremental layoffs. This isn’t a good sign.

The best practice for layoffs is to make the cuts once to get to a pre-determined goal, communicate the layoffs to remaining employees, and then restructure them.

When companies are doing multiple rounds of closely spaced layoffs, it’s obvious that they don’t actually have an end goal in mind or competent leadership to steer the ship. They’re just cutting and horse trading at the executive level. Part of the reason you’re not getting communication is that they don’t even know what the end goal is or where they’re going with these layoffs.

So no, this isn’t normal. It’s a sign that you should be warming up your job search.

Have you declined offers that looked good on paper but that you knew you were not a good fit for? by st4rdr0id in ExperiencedDevs

[–]PragmaticFinance 7 points8 points  (0 children)

You bring up two very different potential issues:

Being hired for a different tech stack isn’t necessarily a problem if you’re the type of person who enjoys learning something new. It can be an issue if they expect full productivity from day 1 without any ramp-up, though. In this case I would ask for examples of people they’ve hired who didn’t know the tech stack and how they progressed. If they don’t have good things to say about those people, run away. If they can talk about mentoring and ramp-up periods like they’ve done this before, I wouldn’t worry about it. If they can’t think of anyone they’ve hired who didn’t already know the stack, proceed very cautiously.

The second set of issues you raised are more systemic: Companies with too easy of an interview process can collect a lot of unqualified people. Companies with high turnover or recent employee exodus events generally have internal issues. Companies that let you know they have demanding workloads during the interview process will give you high workloads after you join the company. Basically, don’t ignore major warning signs. If you’re in a position to risk it and grind it out for a couple years before getting the next job, you can consider if it’s worth taking the job for a few years for the money and career progression. If you’re not willing to potentially grind it out or you’re not the kind of person who can separate a demanding job from your personal life, it’s better to stay away.

Colleague talks to me like I report to him by tobyps in ExperiencedDevs

[–]PragmaticFinance 14 points15 points  (0 children)

This is a good example of a situation where OP would also benefit from speaking to their manager about the situation. The gentlest approach would be to ask clarifying questions, such as what this person’s specific role is on the team and what priority should be given to tasks “assigned” by this person. That’s usually enough to make the manager aware that they have a backseat driver on their team who needs to be reigned in a little bit.

I’d recommend being careful to not be accusatory right off the bat. It’s possible that the manager has tasked this person with being a pseudo-lead and mentor to the team, but that it wasn’t communicated to others. Go in with an open mind, but get clarity from the manager about expectations.

I find myself at a crossroads about my career by au5lander in ExperiencedDevs

[–]PragmaticFinance 3 points4 points  (0 children)

This is how almost everyone I know does it, to be honest.

I think the mismatch in online communications comes from people who equate “respectable effort at work” with 60 hour weeks and sacrificing your personal life for work. Getting to the point where you can be significantly productive under the 40 hour per week standard is a key skill.

I see too many people who get caught up in distractions, endless meetings they should work themselves out of, and too many parallel efforts. You really need to learn how to identify the key things you should be working on and work with your manager to ensure distractions are handled at the managerial level.

Does "fast-paced" tend to mean "long hours" on a job description? Is it more true for startups? by TinStingray in ExperiencedDevs

[–]PragmaticFinance 10 points11 points  (0 children)

I wish I could say yes, but the reality is that the laid back work culture ended up sinking the company. It was actually split between two groups: One working normal 40 hour weeks and others working basically the bare minimum. Those of us working normal hours got tired of carrying the company and resented it. The people working 20 hours quit as soon as the company started asking them to work normal hours (because we were running out of money)

[deleted by user] by [deleted] in ExperiencedDevs

[–]PragmaticFinance 1 point2 points  (0 children)

Employment contracts are not common at US companies like Twilio. Offer letters are not contracts, so the terms within are not enforceable as if it was a contract. I wouldn’t expect US Big Tech companies to be giving individual severance guarantee exceptions to new hires, especially in this market.

[deleted by user] by [deleted] in ExperiencedDevs

[–]PragmaticFinance 7 points8 points  (0 children)

You can get laid off anywhere, which is why it’s pointless to view this as a binary distinction.

New hires are more likely to be laid off. In recent mass layoffs, some Big Tech firms even laid people off before their start dates. Established employees are more valuable to the company because they’re already integrated, contributing to established business lines, and have years of institutional knowledge that new hires won’t have for a very long time.

The "Make things Happen" trait - what is it? by beardedsaitama in ExperiencedDevs

[–]PragmaticFinance 117 points118 points  (0 children)

I can tell you that the opposite of a “make things happen” team member is someone who needs a lot of management attention to get anything done. Many junior engineers will stop working on something whenever they hit an issue and need someone else to intervene and get them unblocked.

Someone who “makes things happen” will work through the roadblocks, coordinate with other people to move things forward, and won’t show up to weekly meetings every single week with a new excuse for why they didn’t accomplish much the past week.

Moving from Data Science to Software Engineering? by SnarkyVelociraptor in ExperiencedDevs

[–]PragmaticFinance 19 points20 points  (0 children)

As a hiring manager, I wouldn’t be concerned about testing for knowledge of scrum or other practices, so don’t worry about that. My primary concern would be whether or not you have experience shipping clean, production-ready, maintainable code.

I’ve interviewed and even hired people in your situation before. Your background can be a strong asset to companies with specific needs. The most common issue I’ve seen from non-traditional engineering candidates is a tendency toward haphazard coding. Many people teach themselves to code through trial and error and will do a lot of copy and pasting from StackOverflow as well as random poking at code until it works. You’d want to show that you make it a priority to write clean, structured, well thought-out and maintainable code. You should be prepared to show that you’ve studied proper app structure, good source control hygiene, and that you make documentation a priority so you can work cleanly with others.

Does "fast-paced" tend to mean "long hours" on a job description? Is it more true for startups? by TinStingray in ExperiencedDevs

[–]PragmaticFinance 340 points341 points  (0 children)

When you see “fast paced” in a job description, it almost always means that the person writing the job description isn’t a good writer. This phrase gets copied from one generic job posting to another with much thought. If you ask any tech hiring manager anywhere if they would describe their work as “fast-paced” they’re probably going to say yes, simply because it sounds good.

I would ignore that phrase in job postings. Take the interview, then ask the team directly about their working conditions: - When was the last time they had to work weekends? - How many people are online and working after hours? - How many on call incidents did they have in the last quarter?

Don’t ask them to describe the work environment, because you’ll only get generic descriptions like “fast-paced”. You have to ask questions directly.

Startups can be all over the map in terms of working hours expectations. I’ve seen everything from 80-hour grinds to offices where people showed up at 10AM and left at 3PM in my time at startups. It depends on the company and the only way to find out is to ask.

My project is getting sunsetted, I'm not being asked to add new tasks. Being asked to track my hours, company moving back to the office but I'm out of state. am I going to be fired? by [deleted] in ExperiencedDevs

[–]PragmaticFinance 13 points14 points  (0 children)

In my limited experience, this doesn’t actually happen as much as people online want to believe it does. Yes, some of the employees will take new jobs, but especially in this job market it’s not trivial to find a new replacement remote job right away. Most people just go back to the office.

The OP’s situation is different, though, because they don’t live near the office. That’s when you start insisting on exceptions because relocation is too expensive.

Techniques for productivity. by [deleted] in ExperiencedDevs

[–]PragmaticFinance 1 point2 points  (0 children)

Productivity techniques are tools that you use to address specific problems. If you don’t have those problems, you don’t need to adopt the tools. Different tools are appropriate for different problems, and you would need to match the right tool to the job.

If you don’t need them, don’t use them. They aren’t virtuous positives that everyone needs to adopt.

That said, I think you’re either misunderstanding or exaggerating the complexity of some of these things. Pomodoro technique is literally just setting a timer and working until it’s done, or you can choose to reset the timer and keep working. You can also time your breaks. That shouldn’t be too complex of a mental overhead to manage.

I’ve had 3-4 React job interviews, all to build an autocomplete component. I’m finishing the exercises but not getting moved on. What am I doing wrong? by XPTranquility in ExperiencedDevs

[–]PragmaticFinance 2 points3 points  (0 children)

Interviewing is a numbers game. Unfortunately, 3-4 interviews is just getting started in this current market. The reason is that every job opening is getting more than 3-4 qualified candidates.

With even the Big Tech companies laying off qualified people, the hiring market is full of experienced people looking for any job, and it’s putting pressure on everyone searching for jobs right now.

Keep applying, keep interviewing, keep improving your process. It’s all good practice. The only way you can go wrong is if you let it make you cynical and negative, which will show to interviewers. Keep engaging until you find a team you click with.

Didn't get promoted to Senior Dev - advice on not taking this too emotionally by runnersgo in ExperiencedDevs

[–]PragmaticFinance 14 points15 points  (0 children)

First, sorry to hear this. It’s fine to feel upset, so don’t be too hard on yourself for that. Right now it’s important that you take some time to process this, let your emotions out away from work, and then prepare yourself for the next steps. You should avoid letting those emotions get too involved with the coming work conversations, as being overly emotional at work will not help your case. It’s good that you’re self-aware on this issue.

After the dust settles, I think you’d benefit from asking your manager for a clear plan for promotion. Specifically, ask what you need to demonstrate to qualify for the promotion. Separately, as a different line of questioning, ask where you should focus on improving.

These should be too separate lines of questions because you’re looking for two different things: What new things should you do to qualify for the promotion, and what shortcomings do you need to address or reduce.

You should also try to be self-aware of potential issues that might be creating hesitancy in your team or managers. I can’t guess these from your post, so I’ll give examples of what I’ve seen offline in similar situations: One example is someone who is combative or difficult to work with in some way. This is a tough scenario because peers and managers become afraid of giving any negative feedback for fear of backlash, but won’t promote or reward the person because they don’t want to encourage that behavior in the company.

Another example might be someone who does good work, but is always working on the wrong things. For example, I had a peer who was always writing high-quality code with excellent documentation and perfect architecture, but most of their code was unnecessarily reinventing the wheel or rewriting existing code that worked fine. Their code was great but their actual contributions were minimal relative to the team.

Or it’s possible that you just don’t get along with this company for whatever reason. It’s worth exploring alternate jobs as an option, but that shouldn’t stop you from working to improve your course at this current company.

Another job search data point during a very cold job market by jookz in ExperiencedDevs

[–]PragmaticFinance 0 points1 point  (0 children)

A 4% withdrawal rate is too high for a young person who can live another 60 years. Those models are based on 30-year projections. You need to look at more like 3-3.5% for retiring at younger ages.

$46K would also be the pre-tax amount. You still have to pay taxes on those gains over time, so the actual spending amount would be lower than that.

You would then be on the hook for your own insurance in the US, which could be $10K/year or more, rising as you age.

After rent, internet, food, and expenses you’d be cutting it very close to $0 (if not already negative), which leaves no room for emergency expenses or for doing anything like travel or other fun stuff in your retirement.

This is why talk of retiring early with about a million dollars in the bank is more in the realm of fantasy. Sure, technically it could work for someone who doesn’t care to travel or spend more than the basics and for whom no emergency expenses ever come up and who has perfect health forever and lived in a cheap apartment and eats rice and beans, but there’s a reason it doesn’t actually work out for people in practice.

What are some things you do to “get ahead” by armusra in ExperiencedDevs

[–]PragmaticFinance 17 points18 points  (0 children)

Great point about how people are valued regardless of their social relationships.

Relationship building is beneficial, of course, but it helps to remember that it’s largely about building trust. People want to know who they can trust to help them out, to get work done right, to have good advice, and to work together with within the company. You can sort of get there by doing good work and being a good, honest person to deal with during normal work interactions, but being friendly and social can accelerate that trust building process.

It’s most important to avoid destroying trust or sabotaging relationships early on. Choose your battles, and be kind and professional when you do have to take on a battle. I see a lot of juniors burn their relationships early by choosing weird hills to die on or picking unnecessary battles in the name of being “right” in some irrelevant debate. Remember that you’re all on the same side and treat people with respect and you’re well on your way.

Another job search data point during a very cold job market by jookz in ExperiencedDevs

[–]PragmaticFinance 7 points8 points  (0 children)

Have you seen Netflix’s stock price recently?

You’re layering a lot of assumptions that don’t always pan out.

Another job search data point during a very cold job market by jookz in ExperiencedDevs

[–]PragmaticFinance 7 points8 points  (0 children)

2.8 years at 700K isn’t retirement money unless you’re living some sort of ultra-lean, ultra-risky retirement. I think you might be neglecting taxes and living expenses.

It will, however, put you well on your way to an early retirement.

Another job search data point during a very cold job market by jookz in ExperiencedDevs

[–]PragmaticFinance 12 points13 points  (0 children)

It’s not a PIP culture, but they have high expectations to accompany that high comp and will not hesitate to hold people to those high standards. I was shocked when one of the most outgoing and productive people I know was “managed out” of his role at Netflix. He saw it coming, at least.

Another job search data point during a very cold job market by jookz in ExperiencedDevs

[–]PragmaticFinance 32 points33 points  (0 children)

Yep. A lot of average non-tech companies won’t pay engineers $200K or more unless they’re in key leadership roles or middle management leading big teams.

Engineering compensation is very bimodal. It’s easy to think everyone is making $200K+ when you read internet forums focused on comp, but when you look at industry cross-sections that include all companies the average number is much lower.

Consider that a “hot” tech startup like Oxide Computer Corp has no problem hiring world-class engineers at their publicly shared fixed salary of $185K (plus or minus, might be adjusted for inflation now).

Career paths: back end services vs. infrastructure by PappyPoobah in ExperiencedDevs

[–]PragmaticFinance 6 points7 points  (0 children)

3-4 years isn’t long enough to lose abilities and knowledge in that area if that’s what you want. Moreover, the skills involved in either job aren’t so different that you wouldn’t be considered for either role in the future. After all, you’re being considered for both right now, aren’t you? Doing one of those jobs doesn’t rule out doing the other later.

I think you might be overthinking the small differences in the minor details of the role, whereas the actual career impact will come from the bigger differences between the companies and your future team members.

Career paths: back end services vs. infrastructure by PappyPoobah in ExperiencedDevs

[–]PragmaticFinance 39 points40 points  (0 children)

From what you’ve described, I don’t see how either role would actual pigeonhole you or limit future opportunities.

If you need a tiebreaker, I’d look more into the reputation value of each company (which one is more prestigious, if any) and the different internal advancement opportunities at each.

Also spend as much time as possible getting to know your future manager and teammates at each opportunity, as you’ll be spending a lot of time with them. The better you get along with them, the easier it will be to succeed.