Live data from Hacker News

Ways to annoy your senior engineer

thecaringtechie.com

31–40 of 91 posts

Re: Ways to annoy your senior engineer

#31
post #22

First reaction: Has this person been my coworker? I feel like someone’s been taking notes on places I’ve worked. Second: But OK, those ones about shifting priorities? That’s startup life. Sometimes you throw something out the door because a customer wants to pay you $12M if you can salve over that one pain point. You know darn well that hack’s going to be there until The Rewrite (which, if you’re lucky, will never co…

If you're following the bullshit that is SAFe/"Agile" at a startup, you're going to fail. Capital-A Agile is project management for dummies that won't learn about things like GANTT charts, what "slack" means in links between dependent tasks, what a "critical path" is or how to analyze it, let alone things like S-curves and earned value.

> GANTT charts

Can you give me an estimate for these sixteen different things, and also verify which ones depend on each other?

Re: Ways to annoy your senior engineer

#32

I fixed giving “napkin” or “rough estimate” times out. I roll a D6 for number of people, D12 for number of months, D20 for the day we will go to production ( not allowed to do installation during end of month). D% is used to say how accurate the estimate is. With the requester there, I pull them out, roll them, give the estimate. I did have a VP in a meeting go “I don’t like that estimate.” I pushed the dice over and…

When I'm told " I don't like that estimate " I take it as an invitation to negotiate (same as when you don't like a quote from a tradesman) and so counter with " OK, we may be able to shave x off of it if you give us y and z in addition to what we have now or if we cut w out of the scope ".

This turns into nickel and diming, then bike shedding. For me, it's easier not to enter the process

Re: Ways to annoy your senior engineer

#33

You need to read this for a while to understand that with "engineer" they mean "programmer". Nowhere does it say "software engineer". Indicating that somebody is trying to give general advice but is actually too deep into their bubble to realize the big picture. > Engineers juggle a million things at once. Eh what? If that's how your "engineer" calendar looks like then your org has more serious problems than a sponta…

There was massive inflation with job titles. When I started, we had three levels: junior, medior and senior. Anything else was just vanity. But now nobody hires medior or below anymore, so senior is the new entry level, followed by principal engineer, and "distinguished fellow engineer" is proposed as the real new senior title.

Re: Ways to annoy your senior engineer

#34
The only correct estimation is actually doing the work and looking at how long it took.

The closest to that is half-assing the task at hand and multiplying the time it took by ten. For prototype to actual application, you multiply it by a hundred. This also applies for the prototypes of the prototypes (100x for the actual prototype, then 100x of that for the proper implementation), and yes, those exist, but they are usually named "concepts".

For bugs: Half the amount of time needed for the feature that caused that bug. They need a workaround? It will actually take longer - except when the workaround is already available and just needs to be applied. Then it's 90% of the proper solution.

Re: Ways to annoy your senior engineer

#35
I like t-shirt estimates but only when we all agree we known wtf we are talking about. I also really like hacks. They get the job done and not everything needs layers and layers of leaky abstraction. I also quite like easy things like Config fixes, esp if they get escalated. You can leverage these to show impact and get a good rapport going.

I hate meetings without agenda. Honestly send me a message and I'll make sure I reply. Meetings with written agenda are great.

Re: Ways to annoy your senior engineer

#36
I know it is quite common, but the culture is the problem. The "leadership" in this piece have interests that are almost orthogonal to that of the engineer. The company is structured top-down, leading to a "it must become true because I said so" mentality, and probably the incentives of the people involved don't align either. Management doesn't have to care about that, because they're not incentivized to. When the wrong people get into that chain, these things happen. And worse too: in other industries, managers regularly override safety concerns.

Re: Ways to annoy your senior engineer

#38
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 some type of control, but they're otherwise useless". In the places I've worked as a manager, with the managers, directors, and VPs I've worked with, I've never gotten the impression from anyone that it's about control. It's about resource and risk management as well as ROI.

Developer time is a limited and incredibly expensive resource at most companies and managers need to make sure it's used in the most impactful way that it can be. A project may make sense to do if it's going to take a month, but it may not make sense to do if it's going to take a year. Without some sort of estimate on the time a project will take, you can't properly prioritize work. There are absolutely projects where it's just like, we need to get this done no matter how long it takes, but most projects aren't like that.

Again, I totally get your frustrations, but the thing I always tell my teams is let's say you wanted to build a house from scratch. You call a contractor and tell them everything you want done and then ask for an estimate and they tell you, "I don't know. It'll cost what it costs. Every project is different and I won't know until I'm done."

I doubt you would hire them, right?

You need more information than that to be able to truly make a decision because at a certain dollar value it's just not worth it anymore. You don't need an exact dollar amount, but knowing whether it's going to cost $100k or $500k will completely change the value proposition.

Again, I totally feel where you're coming from with pushing back on estimates, but I don't think you're ever going to get away from them. With that in mind, one of the things I've started asking my teams to do where they're really pushing back on estimating is to take a day and think on it and then come back and give me two numbers. Give me an estimate that you're 90% sure is too high and a second estimate that you're 90% sure is too low. I've feel like that takes some of the pressure off because there's no exact number that they can be held to and it gives me enough info to make a decision.

Re: Ways to annoy your senior engineer

#39
post #20

I really really hate the use of the term "engineer" for "coder" or "programmer". All of the issues in this article are about coders that are cogs in the SAFe/Agile machines that now infest software development. NONE of them are relevant to actual engineering, software or otherwise.

I disagree. Engineer is correct when the role is about understanding that this is not an art [1] - there is a calculation performed to find the right balance between many variables of complexity, maintenance, cost effectiveness, ease of construction, reliability of construction, operation, etc.

These apply in concept no differently to building a bridge or a distributed software system.

There may be many who are just code monkeys but that doesn't mean some aren't practising engineering.

[1] Art in the sense that it can be perfect in its own right. There is no perfect engineering - everything is to a requirement and result of an optimal compromise.

Re: Ways to annoy your senior engineer

#40
#3 is the biggie, for me (quick estimate).

I used to work for a Japanese corporation, and, when meeting with Japanese managers, you’ll see that they have a small notebook, open on the table, in front of them. Occasionally, they will jot something down in it.

You will also note that, whenever a date is mentioned, something gets written.

You are now being held to that date. They will completely leave you alone, until that date, when they will expect you to deliver “what was promised.”

In my experience, Americans never took this seriously, and it could be a real problem.

Post reply on HN