Live data from Hacker News

Ways to annoy your senior engineer

thecaringtechie.com

61–70 of 91 posts

Re: Ways to annoy your senior engineer

#61
post #27

All of these are familiar, unfortunately. Just one nitpick: > Proper estimations take time. IME there's no such thing as "proper" estimations. They're all a wild guess with little basis in reality. Scrum came along to make us pretend that relative estimates ("story points") are somehow more accurate, but they're the same illusion. Software development is inherently chaotic. Every task is different from another, and d…

As a dev who has now gone into management, I fully feel the frustration that you feel about estimate. I was on the "estimates are stupid and pointless" train for a decade and I've made the same arguments you've made here to my managers countless times over the years. Being on the other side of it now though, I really take issue with sentences like "Estimates are useful to managers and executives to pretend they're in…

I understand and sympathize with the managerial PoV as well. :) It doesn't make the exercise of estimates any less pointless, though.

> I've never gotten the impression from anyone that it's about control. It's about resource and risk management as well as ROI.

Don't get me wrong. I didn't mean "control" in the sense that they want power over the project. It's more that they want to feel that these processes make the project more predictable than it would be without them. This is what I argue is a fallacy.

Whatever estimates they get back from the dev team, and whatever extrapolated metrics like "velocity" they think help them get a feel for the team's productivity, is ultimately pointless. The problem is that these metrics are relied upon, when they're really no more reliable than not tracking them.

Your house example is how management wants to visualize software development, but it's just not an accurate analogy, and never will be. Software development is nothing like "real" engineering, despite what developers like to call themselves. When building a house or any real-world object, you can rely on physics to make time estimates. You know how long concrete takes to set; you know how long a machine takes to cut wood beams; you could even know how long it takes for a builder to lay bricks. You can then extrapolate this to the building requirements, and more-or-less give an informed estimate, where only unpredictable circumstances like weather or human-related issues could delay the project.

Whereas software development depends entirely on humans (for now, at least; AI is not reliable yet), and there's no predictable physical component to it. Every project is entirely different from every other. This is not like building a house, where most houses have something in common. This is like inventing an entirely new way to build a house, from entirely different components, every time. The problems you run into each time are wildly different. Even when using the same programming languages, frameworks and APIs, the interaction between all of these changes every time you put them together.

But I'm sure you know all this. I'm just saying that the exercise of estimates is pointless, and the value they bring to the company is an illusion.

Re: Ways to annoy your senior engineer

#62
post #8

I find these complaints to be symptoms of taking yourself too seriously, which is not only a poor way to act at a company but also a poor way to live your life. Yes you’re an engineer and your time is valuable but you don’t have to act like it! Even if getting distracted causes you to lose some threads, you can’t ignore that you’re helping other people in the meantime. If you’re emotionally upset when you’re helping…

I don't think you read the article, or understand engineering if you discard the author's opinions with "taking yourself too seriously".

For example, reread the following paragraph:

> Few things are more disruptive to engineering than constant priority shifts. They make it impossible for engineers to plan or finish meaningful work.

Again, reread it and try to understand why the author stated that, instead of accusing them of taking themselves too seriously.

The problem is, if a leader asks for 3 weeks of work, and then every week asks for a different 3 weeks of work, nothing will ever get done. It belittles the engineer because that engineer isn't able to make positive contribution.

I suspect that you believe that engineers are merely pawns in a political game. Ultimately, companies that operate this way fail.

Re: Ways to annoy your senior engineer

#63
The author seems to work for a company where engineers are treated as pawns in political games; and where leadership is more about perception than accomplishment.

The best way to handle situations like this is to leave, quickly! Companies that operate like this don't last long, because someone else will come and out compete them.

Edit: One thing I do when interviewing, is when I talk to the manager, I point blank ask, "how often will I be asked to change a task before I complete it?," and, " how many meetings will I attend during a day?." It screens out situations like this very quickly, because the managers who are looking to hire pawns won't hire me after asking questions like that.

Re: Ways to annoy your senior engineer

#64
post #63

The author seems to work for a company where engineers are treated as pawns in political games; and where leadership is more about perception than accomplishment. The best way to handle situations like this is to leave, quickly! Companies that operate like this don't last long, because someone else will come and out compete them. Edit: One thing I do when interviewing, is when I talk to the manager, I point blank ask…

> The best way to handle situations like this is to leave, quickly!

If you find these situations frustrating, I agree. There is little hope of changing how software development is done in these companies.

> Companies that operate like this don't last long, because someone else will come and out compete them.

I take it that you haven't worked in many corporate environments. This is how software development is done in many, if not most, large companies. Their only competition are other companies with the same processes. Smaller companies can operate more quickly, and sometimes this can be a variable that helps with disrupting established behemoths, but it's usually not the primary one, and it takes many years to do so.

Re: Ways to annoy your senior engineer

#65
post #60

Earlier quoted context omitted.

> The only correct estimation is actually doing the work and looking at how long it took. You seem to be missing the point of 'estimation' (as in, it is an approximate prediction, not an accurate measure). Admittedly management also tends to miss this same point, and that fact puts a lot of us on the defensive - but the answer can't be to throw estimation out entirely. If you ask a civil engineer to estimate the cost…

Yeah, the general attitude that estimation is impossible, guesswork, or useless is simply not commercially or professionally defensible. Other fields do it all the time without our tools, competencies, supposed specialties, or environmental control. If one needs more information to articulate the issue at hand, get it. If the estimate is being misrepresented (ideal days vs calendar days), clarify. If methodology is u…

> Playing coy about how long it takes to build a deck based on a sketch and current availability, while making cute wordplay about how ‘the deck has to be built before one can know what deck there was to build to begin with’…? Whatever, Confucius, it really doesn’t sound like there’s enough deck building experience here, and the obfuscation seems unserious and anxiety related.

Ouch. Usually the ones writing very aggressive comments filled with attacks on stereotypes are the ones with anxiety problems :) You are fighting with the windmills. I do make estimates, and I'm usually better than many at it. It doesn't mean that the others like my estimates.

Also, you didn't even understand what I'm saying. TL;DR: You need to allocate a considerable amount of time on analyzing the task to make the estimate (around 10% of the time it'd take to solve it). I also take a jab at people injecting workarounds for the sake of keeping it in the estimated time and failing.

Re: Ways to annoy your senior engineer

#66
post #8

I find these complaints to be symptoms of taking yourself too seriously, which is not only a poor way to act at a company but also a poor way to live your life. Yes you’re an engineer and your time is valuable but you don’t have to act like it! Even if getting distracted causes you to lose some threads, you can’t ignore that you’re helping other people in the meantime. If you’re emotionally upset when you’re helping…

I disagree. I think it's pretty clear that they are saying that getting help from an anyone (in this particular case, an engineer) is a two-way street. Nobody likes being interrupted, especially when the interruptor has not made even the slightest effort themselves.

Re: Ways to annoy your senior engineer

#67
8 is the worst.

In my last company there was a new top priority every two weeks. And i still had a very junior team who needed a ton of mentoring and development to be able to turn things around quickly. Who were then getting blamed for not hitting impossible-in-the-first-place deadlines.

Re: Ways to annoy your senior engineer

#68
post #24

> [Senior engineers] keep things running, ensure projects get delivered, and prevent your codebase from turning into spaghetti. The good ones? They’re rare and highly sought after. I didn’t see much of the ”highly sought after” bit in the recent years. On the contrary, the job market looks employer-friendly and the strategies for recruiting senior engineers seem increasingly backwards. Or is it expected that good sen…

Sought after but many don’t know that is what they are searching for.

Getting the real senior devs in the enables and protects the process. Whether that process is winning depends on the total culture of humans segueing over things they want.

Re: Ways to annoy your senior engineer

#69
post #48

Earlier quoted context omitted.

Why not then be honest about what kind of estimate is being made? How about saying "Can you give me ballpark estimates? On the order of days, weeks, months, years?" Then everyone knows it is a rough estimate and no one is forced to make impossible promises and trying to do the dumb "what I think multiply by 3" or whatever stuff goes on. Framed as ballpark or "rough" there's a clearer sense of shared ambiguity

I feel like this is the crux of the issue. Dev estimates should be taken with large error bars, and I think the entire problem is caused by people who take them at face value, making developers not want to give estimates at all next time.

Well, it helps if you have retrospectives, though I see them rarely done properly.

What kind of works is tracking similar efforts (in the same code base) and measuring how long they take. While every task is different, there are usually a small number of different classes of tasks, and knowing how quickly these can be done helps in both estimating as well as defending the estimates.

Re: Ways to annoy your senior engineer

#70
post #64
post #63

The author seems to work for a company where engineers are treated as pawns in political games; and where leadership is more about perception than accomplishment. The best way to handle situations like this is to leave, quickly! Companies that operate like this don't last long, because someone else will come and out compete them. Edit: One thing I do when interviewing, is when I talk to the manager, I point blank ask…

> The best way to handle situations like this is to leave, quickly! If you find these situations frustrating, I agree. There is little hope of changing how software development is done in these companies. > Companies that operate like this don't last long, because someone else will come and out compete them. I take it that you haven't worked in many corporate environments. This is how software development is done in…

> I take it that you haven't worked in many corporate environments.

I'm mid-career and I have worked in all different sized companies. That's why I explained how to avoid these situations.

You don't have to put up with being a pawn, nor should you encourage others to put up with working conditions like this.

Edit: I was in situations like the article describes twice.

The first time was when I tried to start a company. It took me over a year to realize the guy I was working with was just an "idea person," who couldn't stop letting his imagination run away. We could never work on a hypothesis, because every other week he had a new idea and wouldn't follow through on last week's idea.

The other time was a startup where I built an industry-leading product. It was usually middle management and inexperienced people who acted like the article described. Upper management would intervene, and often people who acted like the article described got pushed out of the company.

Post reply on HN