News for hackers. Stuff that matters.
Re:One common behavior seen in “mature” software engineers by sroussey on Monday February 06, 2023 @03:49PM (#34684126)
I like to rate engineers across various categories, but really I found that there were two general classes of great engineers: fast and slow. For marketing tests, etc., the whole team would be fast engineers. For payments, the whole team would be slow. Everything else I would try to have tension -- a mix of the two so they learn and appreciate each other.

This is condensing a multidimensional vector into just a line, but effective enough to explain to non-engineers.

If you are a precision (slow) engineer, then you are more likely on the backend, more likely to write tests, more likely to avoid costly errors. This will be wasted on some kinds of tasks (trying out new things, for example, but as a class these tasks can generate a lot of management interest). The only kind of management interest in the precision stuff is failure, and it is usually doomsday failure.

That said, security is always present, and I am noodling ideas right now on how to eliminate whole classes of security and privacy issues while making it even easier faster for all engineer types.

Re:One common behavior seen in “mature” software engineers by JohnFen on Monday February 06, 2023 @04:17PM (#34684491)
Interesting. I never thought about dividing engineers this way. I do know that the two best engineers I've ever met were slow. Not just slow in working, but slow in everything. Speaking, moving, etc. This frustrated some people, but these engineers saved everyone else much time and frustration because their work was rock solid, well thought-out, and complete.

And, once you accounted for time spent bug-fixing and validating things, they weren't actually slow.

Re:One common behavior seen in “mature” software engineers by dcow on Monday February 06, 2023 @05:10PM (#34685185)
> And, once you accounted for time spent bug-fixing and validating things, they weren't actually slow.

The constant battle between instant gratification and delayed satisfaction.

Re:One common behavior seen in “mature” software engineers by bobwaycott on Monday February 06, 2023 @07:38PM (#34686819)
“Delayed satisfaction”—I love that.
Re:One common behavior seen in “mature” software engineers by Hermitian909 on Monday February 06, 2023 @04:03PM (#34684293)
> two general classes of great engineers: fast and slow ... Everything else I would try to have tension -- a mix of the two

To add to this, if you are one of these engineers a great career hack is to find an engineer you respect on the other end of the spectrum and partner with them.

As a "slow" engineer I make sure our key interfaces are abstractions are correct and my "fast" partner ensures that everything gets shipped and that I don't sweat the small stuff. This has lead to a lot more successful and impactful projects than I could manage on my own or with another "slow" engineer.

Re:One common behavior seen in “mature” software engineers by Retric on Monday February 06, 2023 @04:22PM (#34684572)
Some of that is deeply ingrained, but it’s useful to be able to swap between different kinds of problem solving.

Ultimately, there isn’t a single best approach to software development just different tradeoffs. Being able to whip up a bug ridden happy path that only works for some set of data is useful when trying to build an understanding of some new system. At the other end even if most of what you do is short lived demos creating a few rock solid building blocks can save you a great deal of pain.

Re:One common behavior seen in “mature” software engineers by makushenko on Monday February 06, 2023 @04:27PM (#34684637)
:D
Re:One common behavior seen in “mature” software engineers by amethyst on Monday February 06, 2023 @05:21PM (#34685329)
May I propose terminology that has less negative connotations associated with them? How about "quick" vs "deliberate"?
Re:One common behavior seen in “mature” software engineers by sroussey on Monday February 06, 2023 @06:20PM (#34686008)
Yes, I sometimes say fast and precise
Re:One common behavior seen in “mature” software engineers by goldenManatee on Monday February 06, 2023 @10:11PM (#34688220)
Focus-work that is broad and shallow versus narrow and deep.
Re:One common behavior seen in “mature” software engineers by this_steve_j on Monday February 06, 2023 @06:29PM (#34686117)
As a slow engineer I always liked the term “careful”. As in:

Move carefully and fix things; vs

Move fast and break things.

I’d say that most experienced tradespeople are capable of operating in either mode or somewhere along the continuum.

Personality traits, beliefs, perspective, motivations, attitudes, age, and experiences might predispose someone to favor one side or the other.

Re:One common behavior seen in “mature” software engineers by JohnFen on Monday February 06, 2023 @07:17PM (#34686595)
Since I consider "Move fast and break things" to be one of the worst and most destructive philosophies to find adoption in software engineering, I guess it's obvious which side I favor.
Re:One common behavior seen in “mature” software engineers by disgruntledphd2 on Tuesday February 07, 2023 @03:42AM (#34690281)
It depends on what you're building, tbh. If you run a large b2c site and want to outpace your competition then you default to shipping. If the costs of failures are much higher, you are better off defaulting to a slow and steady pace.
Re:One common behavior seen in “mature” software engineers by JohnFen on Tuesday February 07, 2023 @07:53AM (#34692075)
True, from a certain business point of view. As a customer, though, I want nothing to do with such software and I don't want to work on software that I wouldn't personally use. That's why I say it's obvious which side I fall on.
Re:One common behavior seen in “mature” software engineers by rlpb on Monday February 06, 2023 @06:45PM (#34686295)
> I found that there were two general classes of great engineers: fast and slow

There is a third type: those who can adapt to what is appropriate under the circumstances.

Re:One common behavior seen in “mature” software engineers by fishtoaster on Monday February 06, 2023 @06:59PM (#34686423)
Yeah, I gotta say, it seems like one of the key skills that differentiates a mid-level dev from a senior one is knowing whether the current task calls for being a slow engineer vs being a fast engineer.
Re:One common behavior seen in “mature” software engineers by zuj on Monday February 06, 2023 @11:00PM (#34688611)
This is an interesting observation. I like to think myself as a slow programmer. Do you think discussing this in an interview before you actually got the job in order to evaluate if you are fit to the role joining is a good idea ?
Re:One common behavior seen in “mature” software engineers by sroussey on Tuesday February 14, 2023 @01:22AM (#34786104)
Sure, just use the word “meticulous” instead of slow.
Re:One common behavior seen in “mature” software engineers by powerapple on Wednesday February 08, 2023 @07:27AM (#34707127)
That's how I see brains work differently: fast and slow - one brain can quickly associate, find information; another brain is slow to load, in the end, you get 100% of what you need. I appreciate slow brains.