Over the past year I feel like perhaps I too have been born again hard. After nearly a decade of increasing "responsibility" and the white papers, power points, project management - I even joined the ranks of the PMP for god knows what reason. After all that, the TOGAF cert and EA boards and buzzword central, I'd had enough and re-joined the ranks of the engineer, tossing aside the shackles of enterprise architecture.
Actually, I misspoke. No choo-choos or cantilevers at my job. Rather, I took my place again among the brotherhood of the developer. I'll admit I dislike the title of engineer as much as I do architect. I'm not working on railroads, or crafting the next generation computer processor, just as I'm not designing buildings or bridges. I'm developing software, which is still in its infancy and thus is still as much art as it is science. That's what I love about it. I'd forgotten what an aesthetically beautiful thing a well designed piece of software can be, even apart what it might do. And I love it that I can look at what I wrote three months ago (or even three weeks ago) and see what a piece of shit it was. It doesn't mean I'm a bad developer but that I'm continually becoming a better one.
For now, I'll leave the houses to Frank Lloyd Wright.
Saturday, April 16, 2011
Saturday, January 8, 2011
Is there a technical term for fear of excessive parentheses? If so, I am so afflicted. These decease has kept me from embracing Lisp and Lisp-derived languages, including the latest hot commodity, Clojure. I really admire a lot of what Clojure is all about, especially its use of Software Transactional Memory, tight integration with Java / runs on the JVM, etc. I'm a big fan of functional programming, having fallen in with a Scala crowd for a good chunk of 2010. I've always been a fanatical immutability nut with my Java code, driving people nuts with my incessant use of final (and am happy to report my current client's technical leadership is similarly mad in this regard). The stock of functional programming and immutability will only rise as highly, even massively concurrent programs become norm in our multi-core world as Moore's Law gives way to Amdahl's Law. All of which should lead me to Clojure's door. These parens, after all, are just syntax, only surface. In a way the minimalist nature is beautiful. So maybe now is the time to get over my irrational fear and take the plunge. I don't think Clojure could take the place of Scala as my favorite functional language, though (even if Scala is in fact less pure in that department). I'm also, in the end, an object snob and like the dual nature that Scala provides there: objects in the large and functional in the details. But perhaps even that wall could come crashing down.