[HN Gopher] Tribes of Programming (2017)
       ___________________________________________________________________
        
       Tribes of Programming (2017)
        
       Author : myth_drannon
       Score  : 59 points
       Date   : 2020-12-28 16:55 UTC (6 hours ago)
        
 (HTM) web link (josephg.com)
 (TXT) w3m dump (josephg.com)
        
       | not_knuth wrote:
       | Really enjoyed the article. It's well written and makes it's
       | point succinctly.
       | 
       | Though no true trichotomies exist, this one approximates the
       | landscape nicely (in my opinion).
        
       | rav wrote:
       | I work at a small company on a single page webapp. Since we're
       | working on a subscription-based product, we need to focus on
       | fixing bugs and improving usability to make our users more
       | productive and more happy. This should place us in firmly the
       | third camp of pragmatic professional software engineers. But I
       | don't agree with the trichotomy outlined in the article.
       | 
       | We spend plenty of time and effort doing "programming as hardware
       | hacking" to implement a backend that can process our customers'
       | data orders of magnitude faster than our closest competitors:
       | This allows our customers to obtain analysis results in
       | minutes/hours instead of days/weeks. We didn't get there with the
       | third-camp sentiment that "The program only has to be fast enough
       | for the users" - if we did, we wouldn't be leaders of the (niche)
       | industry that our customers operate within.
       | 
       | Then again, we spend plenty of time doing "programming as applied
       | mathematics". Our software inherently consists of a lot of
       | geometric algorithms. To give a recent example, a couple
       | colleagues and I spent a couple days last month to fix a buggy
       | geometric primitive: Given an almost-simple polygon, which is
       | made by joining the endpoints of a polyline without self-
       | intersections with a straight edge, compute its area. We had a
       | seemingly-correct, but complicated and evidently buggy,
       | implementation that needed to be used in a new user-facing
       | feature (contour-line simplification). After several whiteboard
       | sessions and do-overs, we found a simple formulation of the
       | problem that admitted a simple and obviously correct
       | implementation. The buggy area computation didn't cause any
       | crashes or other obstructions to the user, but it created results
       | that looked aesthetically unpleasing (because the lines were
       | poorly simplified).
        
       | dgb23 wrote:
       | I'm ultimately in camp three, trying my best to learn from camp
       | one, adhering to camp two when needed.
        
       | kuharich wrote:
       | Past comments: https://news.ycombinator.com/item?id=20882783
        
       | dexen wrote:
       | Should I be worried that I identify with each and every of those
       | three camps?
       | 
       | Depending on the project at hand - and perhaps also depending on
       | the day - I am any one of the three?
       | 
       | My one extra nuance would be the "less is more" attitude rooted
       | in UNIX tradition.
        
       | aphextron wrote:
       | What about the "This is all I'm good at, and I just do it to get
       | paid" tribe?
        
         | pklausler wrote:
         | It's a subset of the "This is all I do, and I just do it to get
         | paid" tribe.
        
       | quitterx wrote:
       | I'm a whore. I write code for money.
       | 
       | I would say everyone I know in big tech fits into this camp.
        
         | kelvin0 wrote:
         | A whore? In the sense of prostitution? Time for money? Or money
         | at the cost of your integrity? Real curious.
        
       | Bekwnn wrote:
       | The author probably underestimates the limitations of Unity,
       | especially earlier versions from back when The Witness was made.
       | It would kind of be surprising if all the things in that game
       | were possible to do with reasonable performance in Unity back
       | then, especially without paying ~50k+ for source access.
       | 
       | It feels like the article almost but doesn't quite touch on it:
       | there's people firmly in multiple camps, and gamedev tends to be
       | camp 3, but also very often camp 2 and/or camp 1.
       | 
       | To get AAA or even AA games running requires a lot of dogma from
       | camp 2. Graphics programming, procedural generation, and gameplay
       | systems complex enough to produce emergent gameplay would be camp
       | 1 from the sounds of it.
       | 
       | I feel my feet firmly stuck in all 3, at any rate.
        
       | neurobashing wrote:
       | I'm just skilled labor.
       | 
       | I'm a milling machine operator, except instead of a CNC machine
       | making, idk, table legs, I'm writing a thing to filter some
       | database result based on some user input from a web page.
       | 
       | I am not doing poetry or making hardware dance, I am not doing
       | mathematics (directly anyway). This is a trade. I'm building the
       | small pieces of the bigger things our culture either needs, or
       | sometimes just wants. It's my job and I'm good enough at it that
       | I've gone from almost literal apprentice to lead. I'll work hard,
       | then retire to a farm and never touch another keyboard again.
       | 
       | (jk how else would I do my taxes, I'm not a luddite)
       | 
       | So that's whatever "tribe" I am, I guess.
        
       ___________________________________________________________________
       (page generated 2020-12-28 23:00 UTC)