14 ms·
I felt that wizard thing when I was just starting out, for most of my career though, i've thought an apt analogy is tradesman. eg. carpenter or metalworker. We
by everyone 9y ago
I felt that wizard thing when I was just starting out, for most of my career though, i've thought an apt analogy is tradesman. eg. carpenter or metalworker.
We get commissioned to build something that does X. Then we design and build it.
With experience we develop our own tools / practices and a familiarity with our materials.
Experienced masters might experiment and develop completely novel things or masterworks.
Sometimes many of us will be commissioned together to build something really big or challenging.
- mbrock 9y agoI think the craft aspect is somewhat romanticized and that much of programming work is more like a kind of accounting or some other clerical bureaucratic trade.
- everyone 9y agoMaybe you've been at it longer than me.. and as one gets more experienced/jaded ones analogies become less romantic.. Wizard!, tradesman, garbageman, bureaucrat... I hope it doesnt get down to politician!! Also software is a huge field and where u work in it probably has an effect. I never do internety stuff for example, I make computer games.
- LyndsySimon 9y agoIn my experience, that depends entirely on your role. I've found that my place is within a team of 5<x<20 - it's large enough that I can work on "meta" stuff like workflow improvements and refactoring existing functionality to make it generically applicable where appropriate, but small enough that my contributions are not lost in the noise and I can see the impact I'm having on the team's overall velocity. If all I were doing every day was implementing yet another CRUD form, then I would feel the same way you've described.
- ben_w 9y agoYou’ve just reminded me of a line from one of the Wicca books I read as a teen. The whole coven size <= 13 thing was down to how big teams can get before people tread on each other’s metaphorical feet.
- LyndsySimon 9y agoCovens of >13 are dealt with a great deal in Sterling's "Emberverse" series...
- mbrock 9y agoSurely there are lower and higher levels of abstraction and impact in accounting too—and a lot of repetitive drudgery in carpentry and other crafts.
- megaman22 9y agoSimilarly, I've found that most of the more effective programmers that I know personally tend to have backgrounds in trades, whether that is carpentry, building construction, mechanical tinkering, etc. Odd anecdote, I know, but perhaps it has something to do with a similar style of big-picture systems-thinking, combined with a need for attention-to-detail.
- SheepSlapper 9y agoI used to work construction and a lot of the concepts translate well to software. You learn pretty quick that if you half ass something early in the build it'll come back to bite you later (didn't place your studs 16 inches apart? Enjoy marking them all out so you can put up drywall). The tools are different but the ideas are the same.
- everyone 9y agoI used to be an architect, worked at it for a good few years, and only got into programming when I was approaching my 30's. Ive since found that my architecture experience gives me a huge advantage over my peers when it comes software architecture and project management.
- jdmichal 9y agoArchitecture was my other potential major in college. Took drafting classes in high school and everything. I think there is definitely something to the mindset correlation.
- everyone 9y agoI have this idea to write an article on how architecture and general design was taught to me. I think software dev education could benefit from that approach. We were never told how to design, it was almost all studio work. We would be given a site and a brief and then off we go and design a building. We could get advice from our lecturers + also there were regular 'crits' where you have to put your work up on the wall in front of everyone and give a brief presentation, then the lecturers and everyone is free to critique it. It takes a year or two or three, but going through this over and over you do eventually develop your own design methods.
- dkarl 9y agoI think most people look at skilled construction contractors and assume they could be just as good with a very small amount of study and practice. People see us as having a completely alien ability that they intrinsically lack. That makes us like Harry Potter wizards, people with an inborn gift that makes us capable of learning things that are beyond the reach of normal people. The difference between us and wizards is that everybody would love to be a wizard, but they look at us and think, "Thank god there are people who enjoy that stuff." If you knew a wizard you'd probably constantly wish you could do what he could do. I think the only time people wish they could do what I do is when they're trying to get their printer to work.
- b0rsuk 9y agoThat's quite true. When you say you're a plumber, people can at least ask half-assed questions or provide a story when they were doing that themselves. When you say you're a programmer, the conversation usually ends with "Oh.". They have literally no clue how to get into the area. How many of you have girlfriends who are genuinely interested in your craft and regularly talk with you about it ? Say, once per week. But if you're a photographer, that's instantly understandable to anyone. Anyone can chime in. This reminds me of the time when Charlie Chaplin said to his friend Albert Einstein: "People like me because everyone understands me. People like you because no one understands you."
- golergka 9y agoQuite a lot of times, actually. It helps to work in gamedev, but I think a lot of developers can have interesting and meaningful conversations with outsiders about their work if they focus on the domain, things that they are building and problems they're solving, not the inner workings of languages and frameworks.
- icebraining 9y agoWhat if you write kernels or compilers for a living? Talking about a business domain is cheating :D
- te_chris 9y agoI think plumber is more apt: We take shit and send it places so people don't have to think about it.
- greenleafjacob 9y agoA lot of programming work being done today is information plumbing. Creating pipes that move information from one place to another. Regulating and monitoring information flow rates. Unclogging pipes that are backed up.
- TheOtherHobbes 9y agoThe difference is that plumbing is tangible. You can touch the pipes and imagine what's inside them. IT is intangible. You can touch a server and a network cable, but their work is utterly mysterious and unintuitive compared to a domestic water pipe. Which is why IT seems like magic, but plumbing, carpentry, and car maintenance don't.
- b0rsuk 9y agoIf you want to impress people as a programmer, I think it helps to have imagination and side projects. Visual programming is nice, too (like SVG).
- deleted 9y ago[deleted]