Starting my new side project

Last year, my big goal was to start this blog to help me learn to share things publicly and write better. It turned out pretty well: I don’t have a wild amount of traffic, but I moved the needle for a few hundreds hits a month to a few thousands. This year, I decided that in addition to blogging, I would be working on a software side project. I have experience building web applications on a variety of platforms but all of them were for various employers so I was never involved in the marketing side of things. Someone would tell me what problem needed to be solved and I would do it. I’ve also worked mostly with large organizations, so the startup/bootstrapped software world is not something I’m very familiar with through my job.

Since this is brand new to me I’ll be blogging about the process in the hopes it can be of use to you. The project may crash or burn or turn into something big. I have no idea how this will turn out since this is my first SaaS project on my own. I’ll try to be as open as I can about what I’m doing, sharing the design and programming process as I go along.

CindyAtWork

Why a side project?

A side project is a great learning opportunities. There are some aspects of the technologies I use that I never get to play with at work since my projects don’t need them. Also, we have an important need for stability and maintainability at work. I don’t always get to work on the bleeding edge because I know it will all come back to bite me. With a small side project that is only installed on one server, I can afford to take more risks, move fast and break things since fixing problems will be easier and faster. I also don’t get to use the new bits as often as I used to at work since I’m taking on more management tasks and don’t have as much time to code. This project addresses my need to keep cranking out some code.

Working on the side project will also give me more material to write for the blog. When I come across an interesting technical problem, I’ll be free to blog about it with complete code examples as I wish, something I cannot do with code that I write for someone else. If I end up using some open source libraries and I find a bug, I can also choose to spend my time fixing it and send a pull request since I’m not on a tight deadline. I can even open source interesting parts of my project if I make something that could be of use to someone else.

What technologies will I use?

Since we’re all coders here, what I’ll be playing with is one of the first questions that comes to mind. At the risk of sounding like the business programmer that I am, I’m going to build this thing with ASP.NET MVC. This is the stack I use now at work, so I have a good basis to start fast without having to spend a few months learning Ruby on Rails on the new (to me) Symphony 2. I also find it clunky to do the server-side part of a web applications without a debugger: when I first started working with ASP.NET I felt spoiled being able to do step-by-step debugging in my code instead of printing out values in old school PHP.

Even if you’re not a ASP.NET/C# programmer, there will still be a lot of stuff for you: the front-end of the project will involve a lot of JavaScript for sure. I’m still unsure which JavaScript libraries or framework I’m going to use, beside jQuery of course. Since I don’t know any JavaScript framework in real depth I’ll probably think a bit more about the functionality before evaluating a few of them, I’ll share the process with you.

In the next article, I’m going to explain what exactly my side project is going to be. If you want to know when my next article comes out, you can subscribe to my newsletter and be the first to know when I publish an update.