Good programmers immerse themselves in the problem, ensure its value, and express it simply to others in software. Unfortunately, programmers often assume they’re doing good using advanced programming concepts.
There’s a debate on whether 10x software engineers exist.
They do: I’ve seen several of them.
And their existence freaks the hell out of me. 5 examples of 10x engineers and why you should be afraid when you see one:
Things that help software dev go faster:
- understanding the purpose of the work
- a clear vision of the end goal (and of the steps to get there)
- patterns and tooling that help developers do the right thing by default
Things that don’t help:
- pressure to deliver faster
Just lost my grandmother to COVID-19. It’s a devastating virus - she was diagnosed less than three days ago. The situation in Brazil is awful. I really fear for my family...
Good incentives and culture are more causal to good software architecture than organisation structure.
Without these, manipulating organisation structure to bring about good architecture will be a temporary fix until the architecture should change again.
Woke up to the news that a childhood friend’s father passed away last night due to respiratory problems caused by COVID-19. He still lived in the same apartment building I did as a child - the same building my mom still lives in. Sad, scary times.
Netflix's 'build vs buy' criteria (overheard):
- Is this solving a problem only we have?
- Is this solving a problem at a scale that *only we* have?
- Will integrating be easier than building?
- What's the initial cost?
- Ongoing cost?
- Can we outsource in a suitable timescale?
X : Any thoughts on Agile?
Me : Hmmm ... I assume you mean XP (as in @KentBeck). It's excellent, a really good method in the right context.
X : So you would always recommend using it?
Me : In the right context, yes.
X : What's the wrong context?
Me : When it's not suitable.
This right here is where many companies miss the point when hiring or evaluating the performance of their current development team. A skill set that is often underestimated or flat out forgotten... blog.pragmaticengineer.com/the-product-mi…
Avoiding ‘change friction’ is an anti-pattern. The likely failure modes are: ineffective change, rejected change, a people exodus.
Address the source of the friction.
Whilst this is modern leadership 101, engaging impacted parties is often overlooked in our haste to improve. I’ll put my hand-up and admit to continuing to unwittingly do this.
It’s disingenuous and insensitive to make decisions impacting another discipline in your organisation without their involvement in shaping the decision.
Let the discipline do their job, let them shape their discipline.
@trashyO Lack of trust in the team, lack of trust in autonomy or having no-one to blame are also contributors. Accountability is a massive thing here. One person in the hot seat is seen as yielding greater awareness of outcome and consequence, and easier to pressure and influence.
The problem I normally find is that middle managers, rather than business stakeholders are scared they will lose control and their role become redudant if they give their teams too much autonomy.
Who else has come up against the argument that high levels of autonomy and collaboration aren’t possible in this environment due to ‘stakeholders expectations’? #kanban#lean#autonomy#Collaboration#servantleadership