When I was still a professional programmer, my office-mate once asked out of the blue, “Do you really want to be doing this kind of work when you’re fifty?”
I have to say that made me stop and think.
To me, there’s an innate frustration in programming. It doesn’t stem from having to work out the solutions to difficult problems. That takes careful thought, but it’s the same kind of thought a novelist uses to organize a story or to write dialog that rings true. That kind of problem-solving is satisfying, even fun.
But that, unfortunately, is not what most programming is about. It’s about trying to come up with a working solution in a problem domain that you don’t fully understand and don’t have time to understand.
It’s about skimming great oceans of APIs that you could spend years studying and learning, but the market will have moved on by then and that’s no fun anyway, so you cut and paste from examples and manage to get by without a full picture of the architecture supporting your app.
It’s about reading between the lines of documentation and guessing at how edge cases are handled and whether or not your assumptions will still hold true two months or two years from now.
It’s about the constant evolutionary changes that occur in the language definition, the compiler, the libraries, the application framework, and the underlying operating system, that all snowball together and keep you in maintenance mode instead of making real improvements.
It’s about getting derailed by hairline fractures in otherwise reliable tools, and apparently being the first person to discover that a PNG image with four bits-per-pixel and an alpha channel crashes the decoder, then having to work around that.
One approach is to dig in and power through all the obstacles. If you’re fresh out of school, there are free Starbucks lattes down the hall, and all your friends are still at the office at 2 AM, too…well, that works. But then you have to do it again. And again. It’s always a last second skid at 120 miles per hour with brakes smoking and tires shredding that makes all the difference between success and failure, but you pulled off another miracle and survived to do it again.
I still like to build things, and if there’s no one else to do it, then I’ll do it myself. I keep improving the the tiny Perl script that puts together this site, because that tiny Perl script is unobtrusive and reliable and lets me focus on writing. I have a handy little image compositing tool that’s less than 28 kilobytes of C and Erlang source. I know how it works inside and out, and I can make changes to it in less time than than it takes to coax what I want out of ImageMagick.
But large scale, high stress coding? I may have to admit that’s a young man’s game.
Categories: Blogs Programming in the 21st Century
Erlang on Twitter
» SNTalentHiring (SNTALENT Empleo): Lead Server Core Developer (Java/Erlang) http://t.co/IFaqmh3y9O #empleo #Barcelona #Internet #tecnología #TIC
Lead Server Core Developer (Java/Erlang) http://t.co/IFaqmh3y9O #empleo #Barcelona #Internet #tecnología #TIC
» TrainByTweet_VO (TrainByTweet_VO): VOIP: Blocking probability can be calculated from erlang-B formula
VOIP: Blocking probability can be calculated from erlang-B formula
» agisanast (Agis Anastasopoulos): ok, it’s actually an IRC bot I’ve been writing in #erlang.. https://t.co/Yo5Dbc18PV
ok, it’s actually an IRC bot I’ve been writing in #erlang.. https://t.co/Yo5Dbc18PV
» silentbicycle (Scott Vokes): @sw17ch Do look at the Erlang “bit syntax” (http://t.co/2xRq3IRZIR) closely, lots of good ideas there
@sw17ch Do look at the Erlang “bit syntax” (http://t.co/2xRq3IRZIR) closely, lots of good ideas there
» danpalmer (Dan Palmer): @mertdumenci try Erlang, even a slow full web framework will be twice the speed of Node :P
@mertdumenci try Erlang, even a slow full web framework will be twice the speed of Node :P
» ErlangInfo (Erlang!): RT @ericmoritz: one does not simply open a port in Erlang…
RT @ericmoritz: one does not simply open a port in Erlang…
» immobilo_erlang (Wohnung Erlangen): Attraktive 4-Zi-Wohnung direkt am Röthelheimpark: 1050,00 € / Miete
4 Zimmer, 106 m²
91052 Erlangen4 Zimmer-Wo… http://t.co/0HID6JxCl9
Attraktive 4-Zi-Wohnung direkt am Röthelheimpark: 1050,00 € / Miete
Number of aggregated posts: 10648
Most recent article: May 14, 2013
» Moraru on This is Why You Spent All that Time Learning to Program: It is true that computer science was a pain in the back at time that i’ve had to learn it…
» Commercial hand dryers on Couchbase Meetup at new HQ: Buy online from here where you will get so much of variety in Commercial hand dryers for people. If you…
» Fort McMurray Homes on Motivated Reasoning and Erlang vs Python vs Node: I don’t really understand why this post is motivational? I don’t even see a post, just a title. Fort McMurray…