@polotek@social.polotek.net avatar

polotek

@polotek@social.polotek.net

Web developer, movie buff, and pretty much the best guy you know. Married to
@operaqueenie

This profile is from a federated server and may be incomplete. Browse more on the original instance.

polotek, to random
@polotek@social.polotek.net avatar

I don't think I'll ever understand the kind of person who says "you MUST fight with me about technology minutia. And if you choose not to, I will block you forever." Like it's such a weird combination of principles.

polotek,
@polotek@social.polotek.net avatar

There are lots of different reasons that my career in tech has been effectively derailed. But first and foremost, I definitely failed to make talking about tech into my entire personality. That has been working against me for a long time. 😂

polotek,
@polotek@social.polotek.net avatar

That's not meant to be a judgment towards people who talk about tech a lot. I used to enjoy talking about it too. Even the minutia. I think what changed for me is that I started to ask where it was leading to. And I couldn't form a coherent answer that mattered to me.

I believe in the promise that tech is meant to enhance human potential and improve human experience. I want to be able to talk about tech in the context of what we are hoping to achieve.

polotek,
@polotek@social.polotek.net avatar

The subtweet (or whatever we're calling it over here) at the top of this thread was referring to a brief exchange about frontend web technology. I'm already on record with my opinion that we've lost our way in the frontend. Most of the conversations are about how to add more complexity in order to make things slightly more convenient for devs. Very few conversations have anything to do with what we hope to create for people.

polotek, to random
@polotek@social.polotek.net avatar

Will you help us build the Torment Nexus?

Devs: What?! Absolutely not!

What if we paid you $1 million a year?

Devs: It's not about the money. My reputation is at stake!

You could tell people you had no choice.

Devs: I won't be responsible for building the Torment Nexus. It's evil!

Oh... well you know it won't look like a Torment Nexus until much later. Right now it's just a cool toy that makes up answers to silly questions.

Devs: Haha, this thing is cool. Wait, what were we talking about?

polotek,
@polotek@social.polotek.net avatar

Devs: Ok, I'll help you build Torment Nexus. Just so we're clear, you can't just lay me off after we've get the thing up and running.

Oh, we're definitely gonna do that.

Devs: That seems harsh. Then I don't want to be blamed for it when it starts hurting people.

Well who else would we blame? You built that damn thing! And if I'm not mistaken, a bunch of people warned you not to. I'm afraid this ones on you champ.

Devs: Fine! Can I at least get an office with a door that closes?

lol, no.

polotek,
@polotek@social.polotek.net avatar

Devs: We've finally got the thing that's definitely not a Torment Nexus you and running.

That's awesome! We're gonna make a ton of money from tormenting people. They keep asking for it for any reason.

Devs: Speaking of money, I think I deserve a raise.

Absolutely not? Did you even do any work? Also, this thing requires the power of a small country to do even a small amount of tormenting. It's costing us billions. We're gonna have to let you go.

polotek,
@polotek@social.polotek.net avatar

Devs: You know what? Fine! I'm outta here. I realize now that never should've taken this deal. I'm gonna make my own Torment Nexus. It's gonna be better than this one too. And it's gonna be totally free! So people don't have to depend on big corporations like this one. I'm gonna build tech that let's people choose when and how to torment themselves! That's the world I wanna live in.

-Fin-

zachleat, to random
@zachleat@zachleat.com avatar

JSX is template literals but instead of `` syntax you use <></>

polotek,
@polotek@social.polotek.net avatar

@zachleat if only string templates had dropped before jsx appeared. We could've avoided the whole thing.

polotek, to random
@polotek@social.polotek.net avatar

Here’s a big secret that people don’t want you to know. If nobody is able to give you clarity about the scope and scale of a request, sometimes that means you get to decide. It’s really cool when that happens. Don’t waste it.
https://soc.jrconlin.com/@jrconlin/112374476337793296

polotek, to random
@polotek@social.polotek.net avatar

Yesterday we had a great conversation about engineers and delivering estimates. I wanna talk about the other side of it too.

For managers and leaders. What do you expect out of engineers when it comes to estimates? How do you evaluate whether you're getting good estimates?

What do you do with the estimates you receive from engineers? How does it impact other work activities and timelines?

Finally, how does the ability to give confident estimates factor into how you evaluate your engineers?

polotek,
@polotek@social.polotek.net avatar

@aeva thanks for sharing. I've read so much about videogame development. It feels so different from the experiences I'm talking about. And I'm not sure why that industry is so resistant to instituting practices that might make things more sustainable.

polotek,
@polotek@social.polotek.net avatar

@aeva sorry, that wasn't about anything you said. I was mostly referring to the wider conversations we mostly hear about videogame development. Harsh conditions, frequent crunch modes, and lots of games are delivered way late in general.

I'm thinking more about why that industry allows that to be the perception instead of seeking better outcomes. Again, I don't know a lot about it.

polotek, to random
@polotek@social.polotek.net avatar

Questions for software engineers about estimates. Feel free to answer any of these in any order.

Have you ever had an explicit conversation about how to estimate projects? How did you learn?

If you feel that you were never taught the skill in any real sense, what do you feel you're doing at work when you're asked for estimates? Are you making it up? Have you developed your own personal guidelines?

On average, how confident are you in your own estimates? How do you measure success?

polotek,
@polotek@social.polotek.net avatar

When I became a Senior Engineer™, it's because they wanted me to lead projects. But I became the person who had to answer the question "how long do you think this will take?"

At this point, I had observed a lot of what more senior people talked about and thought about when they did estimates. I paid attention when they asked me questions about my part of the work. So I started to model those things I had seen.

polotek,
@polotek@social.polotek.net avatar

One of the key things here is that I still had string mentorship and guidance. There were always people around who were more experienced then me. I talked to them directly and explained my thinking. And they would either say "yeah that seems reasonable" or they would say "uh, no that doesn't seem right. Let's talk about it some more."

polotek,
@polotek@social.polotek.net avatar

This was 20 years ago. The industry has shifted in and pretty big ways. As a manager for the last 10 years, I've had different experiences growing teams of engineers. Many of them have the impression that their instincts are the only ones that matter. Many people react poorly to being told "uh, no that's not right."

At the same time. Many engineers are starved for experienced mentorship where none is available. There's nobody else to talk to about whether their estimates are any good.

polotek,
@polotek@social.polotek.net avatar

I didn't realize at the time that the support I had early in my career was not only good but also atypical. It wasn't until my 3rd job that I had my first experience of managers and more senior dev who were unhelpful and also not better than me at what we were doing. That was wild. And pretty frustrating.

polotek,
@polotek@social.polotek.net avatar

But back to estimates. My process for estimates is still pretty informal. Some folks here have pointed to books and blog posts that outline much more rigorous methods. But that doesn't appeal to me. I gravitate towards work environments where keeping things informal is expected. And that usually means there is a lot of flexibility in determining the tradeoffs. E.g. timeframes or scope of work.

polotek,
@polotek@social.polotek.net avatar

Here are some the heuristics I tend to use.

  • If you're giving hard estimates further than 3 months out, you're probably making it up.
  • We can and should break large efforts down into phases or milestones. Those should target 3 months or less so the estimates can be meaningful.
  • Getting good at swaging these 3 months milestones means you can give fuzzy estimates about large efforts. 4-5 milestones means "this could easily take 18 months".
polotek,
@polotek@social.polotek.net avatar
  • Estimates will vary greatly based on the size and experience of the team.
  • Part of the job of a project lead is to break down the work into manageable chunks. This is largely where we design the system to be built. Hint: this part is missing in a lot of dev processes.
  • Below two weeks or so of work, the ownership should be given directly to the engineer who will do the work. If they say yes, then we're good. As I told someone earlier, I hate "story points" with a fiery passion.
polotek,
@polotek@social.polotek.net avatar

I'm fairly confident in my estimates. But what does confidence mean? It does not mean that I hit my estimates all the time. It means that I think my estimates are meaningful and useful for doing planning work. I am also confident in my ability to adjust my estimates as things become more clear. And I'm confident in my ability to communicate these changes clearly to stakeholders so they can decide what they wanna do.

polotek,
@polotek@social.polotek.net avatar

Here are some things that I do to make sure I have high confidence in my estimates.

  • I talk to my team and learn what they are capable of. As a manager or as a peer engineer. Estimates don't mean anything if the other people involved won't or can't do what is asked.
  • I quickly identify which parts we are not experienced in. What things are outside of our current experience and competence. Those parts are labeled high risk.
polotek,
@polotek@social.polotek.net avatar
  • I front load the high risk parts. Meaning we work to explore those parts early in the project. The sooner we gain clarity, the sooner we can refine the estimates. You can also do short proof of concept sprints to achieve this goal.
  • For anything longer than a few weeks, I create documents to outline the important decisions and assumptions I'm making. I loosely refer to these as Project Documents. And in my opinion we don't do enough to teach people how to create these.
polotek, to random
@polotek@social.polotek.net avatar

I gotta tell you folks. One thing we need to talk way more about is estimates. Engineers are getting way too comfortable with this notion that things are impossible to estimate. Good estimation is a skill. People do it all the time. Yes it can be tough. Yes you can still fail at it. But pretending it's not a reasonable expectation to ask of people making huge amounts of money makes us sound ridiculous.
https://mastodon.social/@bitmaker/112366918452706612

polotek,
@polotek@social.polotek.net avatar

@anderseknert @bitmaker yeah I'm sure you think so. I don't assume you go around making people feel like shit on purpose. The question is whether you can actually hear other people when they give you feedback about how you're coming across.

polotek,
@polotek@social.polotek.net avatar

@anderseknert sounds like you didn't plan to find out. I think that's unfortunate in general. Because there was definitely a point where I would've been open to it. But you're right that you've pretty much ruined any chance at this stage. Anyway, take care.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • anitta
  • ngwrru68w68
  • hgfsjryuu7
  • InstantRegret
  • Youngstown
  • rosin
  • slotface
  • everett
  • mdbf
  • ethstaker
  • kavyap
  • thenastyranch
  • DreamBathrooms
  • PowerRangers
  • Leos
  • magazineikmin
  • Durango
  • cubers
  • GTA5RPClips
  • cisconetworking
  • tacticalgear
  • osvaldo12
  • khanakhh
  • vwfavf
  • tester
  • modclub
  • normalnudes
  • provamag3
  • All magazines