

The Most Important Decisions are Non-Technical
source link: https://prog21.dadgum.com/137.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

It's not about technology for its own sake. It's about being able to implement your ideas.
The Most Important Decisions are Non-Technical
I occasionally get puzzled questions about a parenthetical remark I made in 2010: that I no longer program for a living. It's true. I haven't been a full-time programmer since 2003. The short version of these questions is "Why?" The longer version is "Wait, you've got a super technical programming blog and you seem to know all this stuff, but you don't want to work as a programmer?"
The answer to both of these is that I realized that the most important decisions are non-technical. That's a bare and bold statement, so let me explain.
In the summer of 1993, I answered a newspaper ad looking for a "6502 hacker" (which I thought was amusing; the Pentium was released that same year) and got a job with a small company near Seattle writing Super Nintendo games. I had done game development prior to that, but it was me working by myself in my parents' living room.
The first SNES game I worked on was a Tarzan-themed platformer authorized by the estate of Edgar Rice Burroughs (it had no connection to the Disney movie, which was still six years in the future). I had fun working out ways of getting tropical fish to move in schools and creating behaviors for jungle animals like monkeys and birds. It was a great place to work, with the ten or so console programmers all sharing one big space.
The only problem was that the game was clearly going to be awful. It was a jumble of platformer clichés, and it wasn't fun. All the code tweaking and optimization and monkey behavior improvements weren't going to change that. To truly fix it required a project-level rethink of why were building it in the first place. As a "6502 hacker" I wasn't in a position to make those decisions.
While it's fun to discuss whether an application should be implemented in Ruby or Clojure, to write beautiful and succinct code, to see how far purely functional programming can be taken, these are all secondary to defining the user experience, to designing a comfortable interface, to keeping things simple and understandable, to making sure you're building something that's actually usable by the people you're designing it for. Those are more important decisions.
Whatever happened to that Tarzan game? Even though it had been previewed in Nintendo Power, the publisher wisely chose to pay for the year of development and shelve the finished project.
permalink May 6, 2012
previously
Recommend
-
11
3 Non-Technical Qualities of a Great Software EngineerDecember 22nd 2020 341 reads
-
11
The Moral Valence of Technical DecisionsThis essay originally appeared on secure scuttlebutt at %3k6qAo85Q/1hjMW6xc3S0MN...
-
11
-
5
A pragmatic non-technical view on the GDPR The 6th of January 2022, the CNIL
-
9
Product Management Kailash Of Zerodha On Zerodha’s Way Of Making Technical Decisions | #Shortcasts ...
-
5
Documenting design decisions is important for product designersDocumenting your design decisions will help you communicate them.Here is what the developer said to me: Why d...
-
6
Code Reviews For Non-technical People. Explained.July 17th 2022 new story4
-
5
Articulating design decisions as a non-native English speakerHow I’ve got better at talking about my designs as a speaker of English as a second language (ESL)
-
4
Explaining Performance to Non-technical Stakeholders How to co...
-
5
Overview This document will explain what neural networks are and how they work, which will help you understand how AI and machine learning work. In the scenario below you'll play the part of the neural network. Day One Fi...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK