10 ms·
I currently work in a good environment where I'm appreciated and paid well. Not many people in the world can say that, so I have a lot to be thankful for. Pro
by david927 10y ago
I currently work in a good environment where I'm appreciated and paid well. Not many people in the world can say that, so I have a lot to be thankful for. Programming has done good by me.
But I don't love it. Alan Kay is right, it's like building "an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves". There's no elegance and no higher vision. It's an Asperger profession; smart but artless.
I would prefer, if I could retire, to make short films and maybe to write plays. But I can't retire yet. So I'll push stones. It pays well.
- mpweiher 10y agoYes, I use Alan Kay's pyramid image[1] in my talks about software architecture[2][3][4]. But then I compare it to the Cologne Cathedral, which encloses a vastly larger space with vastly more light using 1/50th the material, yet it's the same kind of material: cut stones piled on top of each other. So there is hope, I think, and that hope, I think, is improving our understanding and practice of software architecture[5]. And it's not like there we don't have examples in software. Let's take Bentley's challenge[6]: Don Knuth with 12 pages of (literate/web) Pascal, Doug McIllroy with 6 lines of shell. Or Nile/Gezira, a modern graphics subsystem (think Cairo or Quartz) in ~500LOC. Yes, 500LOC. So we need to figure out what makes these examples work so much better and how we can apply what we've learned to make our lives better. That's what I am doing, care to join me? [5] [1] http://queue.acm.org/detail.cfm?id=1039523 http://queue.acm.org/detail.cfm?id=1039523 [2] https://www.youtube.com/watch?v=B5hGmXFHQS4 https://www.youtube.com/watch?v=B5hGmXFHQS4 [3] https://www.youtube.com/watch?v=wKY-0atLDAo https://www.youtube.com/watch?v=wKY-0atLDAo [4] https://www.youtube.com/watch?v=0OAtHOLIg84 https://www.youtube.com/watch?v=0OAtHOLIg84 [5] http://objective.st http://objective.st [6] http://franklinchen.com/blog/2011/12/08/revisiting-knuth-and-mcilroys-word-count-programs/ http://franklinchen.com/blog/2011/12/08/revisiting-knuth-and...
- matt_wulfeck 10y ago> smart but artless This is why it's so important for me to work on something people use. At a previous job I'd sometimes hit a wall. I would log into one of the production API hosts and tail -f the access logs, where I'd see many different people and applications using a piece of software that I'd help write. I'd grab an IP address and geolocate it and see where the person was from. The humanization of work can be extremely powerful. It reminds you that you're providing value to the world, that you've created something useful even if it sometimes feels so pointless.
- sverrirs 10y agoSeriously, create a small report based on the logs that tracks visits, popular calls etc. It will do you good every morning to check it (charts and comparisons are great) and it will be an asset when promotion time comes around and you have define your "contribution" to the company :)
- patrickdavey 10y agoI absolutely love the visualisation on bookdepository [0] where you can see what people are buying... [0] http://www.bookdepository.com/live http://www.bookdepository.com/live
- i336_ 10y agoHuh, the books it's showing are really interesting too! PS, it's a periodic XHR to http://map.bookdepository.com/browse/map.json http://map.bookdepository.com/browse/map.json, which gives back one thing. Just in case you were interested...
- nf05papsjfVbc 10y agoThough I know that your intentions were harmless, I'd like to add that it's not a good idea to do such a lookup without a sound reason. At some places where I worked, I could have been fired for doing that unless I was looking to fix a bug and this particular bit of data was essential.
- crypt1d 10y agoI'm going to assume that those companies u worked at had good intentions as well, but this seems like an unfounded fear. Unless u are working on a heavily confidential project that has a certain legal anonymity requirement (in which case the user's IP should be scrambled anyway), I don't see how doing a whois query could create any damage.
- pc86 10y ago
- spraak 10y agoI'd say that's job specific. My engineering role feels very artful, elegant, full of vision. And bruh, the whole "slaves built the pyramids" thing is a myth. Easily Google-able.
- cyberferret 10y ago> It's an Asperger profession; smart but artless. Sorry, but I would have to disagree with you on this. I've been programming now for over 35 years, and really cannot see myself doing anything else. I find I can channel my creativity into programming in many ways, and writing a good piece of code gives me the same satisfaction as writing or recording apiece of music. Yes, I am a musician too, and while they are very different, I see a lot of similarities between them too. ANY job can become a task of 'piling bricks via brute force and slavery' at some point in time. Every good friend who has had a seemingly dream job has broken down and despaired at some of the drudgery involved over a beer. One of them does, in fact, write plays that do very well in the UK theatre scene and he also writes TV shows that do well locally - but he often speaks of the interminable problems dealing with promoters, agents, crew and transport. Another good friend tours the world as a physio with an international cricket team. First class flights and hotels everywhere, rubbing shoulders with celebrities. Many of us (thought we) would kill for such an opportunity, but he says he is tired of living out of a suitcase and having to check the local papers under the door every morning to remember which city he is in. It is all a matter of perspective.
- biinui 10y agowhoa, interesting perspectives. do you have more?
- oneeyedpigeon 10y ago> physio ... rubbing shoulders I see what you did there :)
- nathan_f77 10y agoI would also like to make short films and plays, as well as improv and acting in local theater. I think it's something you can do in your evenings and weekends. I started doing it recently and realized that I'm not good at it, and it's going to take a lot of practice before I get better. It's important to stay active and keep practicing your hobbies, even while you're working. Because if you wait until you're retired, you might have forgotten how to do things. Or even worse, you might have lost your interest.
- bendixso 10y agoOr worse, you die early.
- iand 10y ago> It's an Asperger profession; smart but artless. Your point was good, it didn't need this poor stereotyping.
- hyperbovine 10y agoAgreed.
- Fifer82 10y agoGet over it man.
- rationably 10y agoWell, I have an opposite problem. I work in VFX (visual effects) industry, have dozens of credits on IMDB, but completely adore programming and solving variety of problems that involve data processing and connecting various systems together. Unfortunately, it's too late.
- triplesec 10y agoWhat's too late? I'm certain you could work in other kinds of development
- xchaotic 10y agoI bet the OP can make loads more money in VFX than going back and doing some junior programming role, hence I'm with him.
- rationably 10y agoI would question the word "loads" ;] Sups are usually earning around 150-200 CAD p/y, seniors 100-130. I may be wrong with the numbers though.
- bosie 10y agowhat is "sups"?
- rationably 10y agoSupervisors. VFX/Dept. https://en.wikipedia.org/wiki/Visual_effects_supervisor https://en.wikipedia.org/wiki/Visual_effects_supervisor
- bosie 10y agoThanks
- 10y ago
- expertentipp 10y ago> "an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves" True for outsourced departments of big corporations (Java chicken farms). Not everywhere creating the software is at this stage of development though. There are many creative and agile (not necessary "Agile") businesses and places where creating the software evolved. They are at the stage of XIXth century civil engineering - a lot is being built, plenty of experimenting, people are getting hurt, and most of it collapses. Only couple of magnificent monuments will survive but the rest will be discarded.
- Chris2048 10y ago> Java chicken farms The idiom would be monkeys, so monkey typewriter farms? centers of typewriting excellence?
- a1studmuffin 10y ago> smart but artless This depends entirely on what you're working on - programming is just a tool to make something after all. As an example, I'm a video game programmer who specializes in gameplay (characters, weapons, metagame, other mechanics), AI, and user experience. This means I'm also part game designer, so there is a ridiculous amount of creativity required for my role on a daily basis (which I absolutely adore). It's really nice not working to a hard spec, a lot of my job is trying different approaches and seeing what's fun.
- dschiptsov 10y ago> an Asperger profession could you, please, elaborate on this meme? And that pyramid, well, it definitely is the way how a corporate and enterprise Java software has been and still being made. Java itself is an ecosystem for creating coding factories - to parallelize the process of coding (one cannot honestly call this programming) among teams of easily replaceable, uniform (in terms of abilities) cheap workers. Every manager will tell about this ideal. For programming look at PAIP or the lisp code supplement to AIMA - this is programming. Take a look at Plan9 - this is programming. People who have created Erlang were engaged in programming. Code that runs Google's AI is programming. This is an art, same as writing poetry, composition of music, writing symphonies or complex novels. But there are very few slots available, because demand for programming is very low - it is still difficult and very expensive. Conveyor belt coding, on the other hand, is indeed fits the Kay's pyramid metaphor. And the result of such process is crap - everyone have seen "enterprise code" made by such sweat shops.. The crucial difference between an art and merely piling up more crap is that art means an attempts to approach an ideal, an optimum, perfection - it is, ideally, a reduction process with eventually converges to the closest possible approximation to an ideal. Something like this: [] ++ ys = ys (x:xs) ++ ys = x : xs ++ ys While in the in the second case is just a process of production. Not in the sense of Japanese perfection of every move and detail, but in the sense a hipster produces yet another narcissistic blog post. BTW, Asperger is this. And it is not that bad.)
- chrshawkes 10y agoAt least pyramids will be remembered, most software has a shelf life of a couple years.
- TeMPOraL 10y agoNot really. Most pyramids are throwaway. The web is 99% throwaway code. Businesses themselves are throwaway too, so a lot of software made by them and for them goes to bin after few years. What remains? Projects that are so useful that dominate their niche. Windows, Linux. Office. Photoshop. CAD tools. I suspect VLC will remain, 7zip may too. Some of those tools are pyramids, some others aggregation of small artpieces. I don't think survival depends on whether or not the software is a pyramid or a thatch hut.
- aquadrop 10y ago> smart but artless So, it's just not for you. You fail to see art in it, That happens, it's ok. Maybe you need to think about gradually moving to the movie business, they need programming too, you know.
- deleted 10y ago[deleted]
- grecy 10y ago> I would prefer, if I could retire, to make short films and maybe to write plays. But I can't retire yet. So I'll push stones. It pays well. Please don't stay because of the pay. You won't look back in 25 years and say "I'm so glad I bought a new iPhone in 2016, but didn't do the things I wanted to in life" The last company I worked for was full of people only staying because retirement was "only" 10-15 years away, and they were not a healthy/happy lot. You'd be giving up your life "now" in the hopes of a good life "then", which is insanity. I have left Software twice now to pursue my goals - the first time I spent two years driving Alaska->Argentina more-or-less on vacation, and right now I'm spending two years driving around Africa. I'm exploring my passions while on the road for writing, photograph, videography, languages, etc. etc. I have less money now, and a lot more happiness.
- chrshawkes 10y agoQuitting a high paying relatively lax job could possibly make your life a whole heck of a lot worse, especially 10 to 15 years from retirement. If anything start building something on the side.
- novocaine 10y agoYou were able to not work for two years, twice, because of the software money. What is the difference between you and this guy?
- it_learnses 10y agoHe didn't wait till retirement.
- emptyfile 10y agoThat's great for you, most people don't have nearly enough money saved to spend 2 years not working.
- it_learnses 10y agowould love to learn a bit about your travel adventures. How can I get in touch?
- kcorey 10y agoProgramming is a creative endeavour. Why can't you put any art into it? Are you suggesting that you've learned everything there possibly is to learn, you're already brain dead (and getting paid for it). Wait a minute...you don't work for the government, do you?
- sten 10y ago> It's an Asperger profession; smart but artless. No worse than any other profession. Sure, most days I do more of the same, build reports for finance/corporate problems. It's rolling stones up a hill every morning, but that has nothing to do with programming itself. The issue you're describing is that you're working to haul someone else's stones. Fine, all well and good, pay is good. Wouldn't be any different if I was a musician or a painter... all they ever request is that I play Piano Man. For me the art comes in doing it a different way each time. Maybe it's a function of my inexperience, I've only been doing this for a few years so far but the horizon seems so far away and there's so much to learn that I can't imagine getting bored anytime soon. Everything is amazing and I can't learn it all! In the meanwhile there's stuff to learn outside of tech. Like gardening or baking. Baking bread is a series of simple tricks (temperature of the yeast, bowl type, kneading techniques, etc.) that people do in order to produce an outcome (a certain crust or flavour). I'm struck often by how similar I find it to writing code. Try rolling the stone with one hand tied behind your back.
- williamle8300 10y ago"You're as cold ice! You're willing to sacrifice our LOVE!"
- sten 10y ago> It's an Asperger profession; smart but artless. No worse than any other profession. Sure, most days I do more of the same, build reports for finance/corporate problems. It's rolling stones up a hill every morning, but that has nothing to do with programming itself. The issue you're describing is that you're working to haul someone else's stones. Fine, all well and good, pay is good. Wouldn't be any different if I was a musician or a painter... all they ever request is that I play Piano Man. For me the art comes in doing it a different way each time. Maybe it's a function of my inexperience, I've only been doing this for a few years so far but the horizon seems so far away and there's so much to learn that I can't imagine getting bored anytime soon. Everything is amazing and I can't learn it all! In the meanwhile there's stuff to learn outside of tech. Like gardening or baking. Baking bread is a series of simple tricks (temperature of the yeast, bowl type, kneading techniques, etc.) that people do in order to produce an outcome (a certain crust or flavour). I'm struck often by how similar I find it to writing code. Try rolling the stone with one hand tied behind your back.
- gaastonsr 10y ago> There's no elegance and no higher vision. It's an Asperger profession; smart but artless. I guess it's not for everybody. There's always going to be people that whatever they do it's just going to be a job. While other people find it to be an art. You can say this of finances, music, programming, accounting, anything, really.
- david927 10y agoNotice that I'm quoting Alan Kay. You're not just disagreeing with me, you're disagreeing with a Turing Award winner -- and that's not to say that he's right, or by extension that I'm right, but you can't simply hand wave it away as coming from someone who doesn't understand it well enough.
- david927 10y agoI didn't word that well. What I'm saying is that it specifically is missing what architecture or math has, which is a sense of higher understanding and managed view. So in other words, this isn't just a failure to find the beauty of PHP, but that PHP (for example but any language will do) is fundamentally misshapen and malformed.
- gaastonsr 10y agoAgain, in your view. But that doesn't mean that it doesn't have it.
- NumberCruncher 10y ago>> "I wanted the reward and not the struggle. I wanted the result and not the process. I was in love with not the fight but only the victory. And life doesn’t work that way." << The Subtle Art of Not Giving a Fuck by Mark Manson I learned to pick struggles I love, to pick processes I love and to pick fights I love. Writing code a.k.a. "programming" is a part of struggles I have chosen for myself and I am fine with it. What I learned through the process: - Do "programming" if you love to pile bricks on top of each other, with no structural integrity, done by brute force as one of thousands of slaves, building a pyramid for someone else. - Do "programming" if you love to pile bricks on top of each other, sometimes with structural integrity, sometimes with elegance, as a lone wolf or a part of a small team working on its own business. Just remember Derek Sivers. - Do "programming" as a part of solving your own problems you would otherwise solve by boring manual work. Don't tell about your programming skills to your boss. Make a short day and have a beer while others are solving their own problems with boring manual work! Cheers! Credit goes again to Derek Sivers. But if you care about "working on the next pyramid" and you are not the pharao... well, to cite Mark Manson, you "are giving too many fucks where fucks do not deserve to be given". Sorry for the offensive language, blame Mark Manson for it, if you want to.