9. August 2016
.NET , 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.