When somebody asks me what I do for a living, I say “I am a software developer” - or occasionally “I am a programmer”. I do not use fancy words like “principal software engineer” or “senior solution architect” or “system designer”. This posting is not meant as bragging or an advertisment, I just want to make a point: I develop software, so I am a software developer. (*)

This does not mean that I am not a designer. Or a software architect. I know how to design software, and I can create and evolve a good software architecture - which also means communicating the design and architecture. I have experience with testing software and TDD. I know enough about databases to be able to do most of my work without a database specialist. I know a lot of other things which are directly related to creating software.

I am interested in the process of developing software, especially agile and lean software development. In the past 3 years I spoke at conferences and gave workshops about agile software development. I am a certified scrum master and have worked in scrum teams. I can work in a team and use tools for team collaboration (version control, wiki, team blogs, …). I am interested in the history of software development processes and try to find out why they (are supposed to) work.

I also know the basics of UX design and graphics design. I use GIMP and Incscape to create the artwork for gclimbing.com and this blog. I have also used the Adobe Creative Suite for my design work, but I currently don’t own a license. I write HTML and CSS to realize screen designs I made and know enough JavaScript to code the AJAX Engine for JSXP2.

For me, all of this is part of the job description “Software Developer”. I try to learn things I need to know to develop softare all the time. All of the skills above (and more) are required to develop software. It is even more important to learn how to learn new things fast. I try to get better at this too.

So, “software developer” is not a degratory word for me. It does not mean “code monkey”. It is perfectly fine for me when people call me a “programmer” and I don’t need any fancy job titles to distinguish me from “normal software developers”.

(*) I know, my CV also says “Software Architect”. This is because some recruiters are only capable of simple pattern matching when searching for candidates. They seem to need the fancy job titles.

You might be also interested in… Learn more about how I can help you save money and earn money by improving your development practices.