Going hardcore - Pumpkin

For the last few months I've been trying to create a map of all areas in software development, which I'd like to know better. Having so many talented people around you doesn't help - you'd like to learn some low-level stuff, memory management, software theory and many, many more topics, which are extremely interesting. Getting all that knowledge only "in theory" seems impractical and tiresome -  that's why I decided to start a new OSS project, which will serve as my "testing ground".

Pumpkin is a .NET build server, which is designed to be as lightweight and extensible as possible. Why did I decide to go with so complicated topic? My reasoning was pretty simple:

  • building such thing forces me to use various different technologies, approaches and techniques
  • it touches different aspects of building an application - multithreading, concurrency, different environments
  • it encourages me to read code of libraries I use, to make sure I fully understand what they do under the hood
  • I can try out even the craziest ideas I think about

Will it work? I don't know. What I know, is that doing such thing is the essence of software development - each and every problem you face will make you a better professional. You may disagree but this is, what I believe is the best part of it.