The Hard Thing About Software Development | Jesse Watson | Pulse | LinkedIn


38 bookmarks. First posted by nicolashery july 2017.


"The most valuable asset in the software industry is the synthesis of programming skill and deep context in the business problem domain, in one skull."

"...there are an ever decreasing number of software problems that are so cut and dried that they can be tossed over a wall and implemented in isolation of business expertise."
programming  career 
august 2017 by jhealy
This essay starts being about remote work, but then digs into why software development is hard in general. A great essay to give people who don't know much about software development, or career advice about how to level up.

A succinct description of why software development itself is hard.

The greatest misconception about software development is that it is a separable discipline from deep analysis of the business problem. We think all we need is an analyst who understands the business problem, a developer who knows how to code, then they can email a few notes or a specification. "Good to go", right?

Not so much. At the outset, a business problem might appear simple, or only somewhat complex. You might think you have a handle on all the caveats and corner cases. But the average person who hasn't programmed extensively doesn't appreciate the level of detail and explicitness that computers require to do absolutely anything. Every behavior must be dictated with excruciating specificity. And your plan for how users will interact with the system will likely get thrown out and redrawn from scratch dozens of times before you have a minimum viable product.

It's all about context. The author coins a term, "Deep Context" to use for this idea.

Said another way, there are an ever decreasing number of software problems that are so cut and dried that they can be tossed over a wall and implemented in isolation of business expertise.

This is why the price for remote programming keeps dropping to zero. You cannot compete with on-premise talent when it comes to deep specialization in a business domain. The higher you move up the value chain in terms of your business offering, the more that the variations inherent in the business problems and technology constraints become wickedly complex.

The tough problems require spending 12 months in high-bandwidth communication within a team, close to the customer (or an excellent representative). They require forming a group mind together, getting inside the customer’s head, checking each other's assumptions, ferreting out misunderstandings. Communication, internalization, and synthesis of ideas is the hard part, not technology. The greatest risks rest with humans, not computers.
programming  career  business  remote 
august 2017 by jefframnani
The Hard Thing About Software Development
from twitter
august 2017 by brandizzi
The greatest misconception about sw devel is that it's a separable discipline from deep analysis of business problem
from twitter_favs
august 2017 by paulhhowells
"The Hard Thing About Software Development"
from twitter_favs
august 2017 by tswicegood
BOOM! Spot on, great analysis of what makes software development hard (and a bit about remote working). https://t.co/wUj66Gv16w
– Liliana Ziolek (lili_z) http://twitter.com/lili_z/status/893567096587784192
toread  via:packrati.us 
august 2017 by eeichinger
most valuable asset in software dev is the synthesis of tech skill & deep context in the problem domain,in one skull
from twitter_favs
august 2017 by ghukill
despite the clickbaity title (and the fact that it's published on linkedin, ugh) this actually does contain a decent amount of wisdom that is confirmed by my own experience
software-development  business  career-advice  via:absfac 
july 2017 by trill_winds
'... programming skill in the absence of business domain knowledge is becoming increasingly worthless.'
from twitter_favs
july 2017 by danyoung
I think everything he said is gibberish. I have worked with teams who planned & got things done better...
from twitter_favs
july 2017 by ngpestelos
"The greatest misconception about programming is that it is separable from deep analysis of the business problem."
from twitter
july 2017 by ericn
Why you should aim for "deep context", and why the price for (some) remote developers is dropping to zero
culture  programming  career 
july 2017 by ericsuh
The most valuable asset in the software industry is the synthesis of programming skill and deep context in the business problem domain, in one skull.
arch 
july 2017 by JohnDeHope3
despite the clickbaity title (and the fact that it's published on linkedin, ugh) this actually does contain a decent amount of wisdom that is confirmed by my own experience
software-development  business  career-advice 
july 2017 by absfac
"Communication, internalization, and synthesis of ideas is the hard part, not technology."
from twitter
july 2017 by adamghill
I call it the "One Skull Rule": "The most valuable asset in the software industry is the synthesis of programming skill and deep context in the business problem domain, in one skull." (Software Development Manager at Amazon Fulfillment Technologies)
software  practices  opinion 
july 2017 by nicolashery