I develop software for a living. Then I go home and continue reading about software because I just can't get enough. At some point, somebody thought it was a good idea to make me the technical lead of an agile team. I quickly discovered that building things myself is not the same as helping somebody else figure it out. I learned, somewhat to my surprise, that I really enjoy sharing ideas. According to their feedback, other developers have managed to learn something from me. At least they don't tend to run away screaming, which is, I think, a good thing.
I have been working as a professional developer for more than ten years. If Peter Norvig is correct I should know by now what I am doing, although I often get the feeling I don't know anything.
I specialize in web programming. I started doing backend work, then I got more and more into frontend topics, and lately I have managed to touch infrastructure as well. I don't know if there is such a thing as a Full Stack Developer, but I definitely try to involve myself in all areas of software delivery.
I have managed to work with plenty of technologies and tools. It took my a while to realize, though, that while solid tech and good foundations are important, they are not the only thing needed to deliver high quality software.
Following the Pragmatic Programmer advice, I try to learn some new technology every year. My github account is full of small projects I have started to teach myself new things, such as this page itself. A list of them, in no particular order
I am a bit picky about the tools I use. Actually, I am very picky. I cannot remember how many times I did rewrite my shell config in the past. It is problematic for pair programming because I usually am the only one that can work at my computer.
- Google Chrome