Software engineering thoughts
The availability of programming languages, development tools, and deployment platforms has made software development something like photography: we can all do it at some level. Nevertheless, software engineering remains a discipline of its own, and software that 'just works' isn't necessarily good software. Martin Fowler once wrote: "Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
The journey so far
Having started my career in management information systems in the 1980s and 1990s, I transitioned into software architecture roles as a consultant, and also as a product developer. Now a member of the team at AppFusions, I'm deeply into integration projects - making software systems talk to each other, though they were not originally built to do so.
And now for the rest
The Play Framework and Java is my week day, with a bit of Scala thrown in for good measure.
I also know a thing or two about the Atlassian product suite (JIRA, Confluence, Bitbucket, etc), having spent much of the last four years writing plugins for those products. I'm also something of an expert on Akka, the actor-based toolkit for building asynchronous message-based components on the JVM, having used it on several recent projects.
The way forward for software engineering has much to do with functional programming: writing code in reliable, highly composable chunks. There's a ground-swell of support for the functional approach to coding, even in the most conservative arenas. In the Java world, I believe JDK 1.8 was a watershed release because of its endorsement of, and partial adoption of, functional concepts. I'm all for it.
One of my life goals is to write something significant in Haskell, which appeals to me very much, though I know it only superficially. Haskell's lazy evaluation fascinates me.
As a co-founder of ProjectBalm, I'm always looking for ways to make project management less difficult. Our first software product is Risk Register, an add-on for Atlassian JIRA that lets you define project risks, walk them through a treatment workflow, and view them as a list or as a risk matrix. If you are a JIRA user, do yourself and your manager a favour by checking it out.
I live and work in the Blue Mountains near Sydney, Australia. There are some fantastic walks in the area, and I'm often using breaks in the coding to explore them. The zillion steps down Federal Pass will either get me fit or kill me; visit this website often to find out which.