Thereβs a culture (and I think itβs a relatively new one β even as recentlyΒ§
as fifteen years agoβ¦
Once upon a time, programmers really embraced elitism, which made for an
emotionally toxic environment but nevertheless was very effectiveβ¦
Thereβs a culture (and I think itβs a relatively new one β even as recently as
fifteen years ago, these attributes were pretty rare) that devalues context in
favor of shallow easy fixes, and I blame at least some of the forces that
discourage craft in coding (like boot camps) on this cultural shift.
Once upon a time, programmers really embraced elitism, which made for an
emotionally toxic environment but nevertheless was very effective in
encouraging people to absorb the lore. As a result, most people either had a
prety deep understanding of a wide variety of ideas (ranging from technical
concepts to techniques to purely cultural things like legends & in-jokes) or
were excluded. During this era, code was still bad: tools we use to improve
the quality of code and make writing high-quality code easier didnβt exist or
were barely usable; however, for the most part, people writing abnormally bad
code knew that their code was bad & how it was bad, and just wrote it anyway
out of laziness.
We lost some of that toxic elitism, and thatβs probably a good thing. On the
other hand, itβs not totally gone: it has mutated into a less useful form,
where groups of people who are all almost uniformly incompetent form toxic
hierarchies based on bogus values because theyβre isolated from the greater
development community. Additionally, weβve sort of given up using shame in
appropriate ways. Shame is a really excellent tool for encouraging good habits
and discouraging bad ones on a community level, and where serious study and
careful thinking is of great importance, not using a tool at least as powerful
as shame to encourage study and care leads inevitably to a culture dominated
by ignorance and carelessness.
Weβve made a mistake in the way that weβve smoothed out the learning curves
for our industry. We took the pressure off beginners to advance quickly, which
is fine, but we allowed beginners to believe they are experts, and now they
run bootcamps. We encouraged people to value coding, but we failed to
distinguish the value of internalizing the lessons of programming from the
value of memorizing how implement simple applications in a single language by
rote, and we failed to distinguish the intellectual value of the programming
mindset from the economic value of the programming vocation, so weβve
incentivized beginners to teach other beginners simple formulae and allowed
them to believe that their limited understanding sets them up to be geniuses
and millionaires. Now, weβre surrounded by overpaid beginner programmers
writing reams of crap code, and itβs a crisis.
Writing good code is hard and takes time. Writing a single line of really good
code takes years, because you need to study and practice for years before you
are capable of distinguishing good code from bad code. Just being mindful in
the moment of how much effort youβre putting in is wholly insufficient.
By John Ohno on December 29,
2016.
[Canonical link](https://medium.com/@enkiv2/theres-a-culture-and-i-think-it-s-
a-relatively-new-one-even-as-recently-as-fifteen-years-ago-52b636e1dbd1)
Exported from Medium on September 18, 2020.