September 18, 2013
I would say engineering. Although there is a certain art or craft to creating great software, the majority of what I work with are all low level systems API's which require you to understand the underlying architecture (kernel).
I'd like to discuss strategies for parallelism and concurrency. This seems like a topic that will only get more important as time goes on. Plus, there are so many different and well meaning approaches.
Asynchronous software has enjoyed quite a bit of popularity recently (although you'll find C programmers have been doing this for years). I also think the next gen of systems level languages is very interesting and exciting: Go, Rust, D, and to some extent Erlang. (Basically languages with strong concurrency support from the get-go)
A green software engineer interested in networking and server software. I usually work in systems level languages (C & C++), but like to dabble in Node.js. I've also taken a real liking to D and Rust if anyone is working with either.