[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)