For some time now I’ve been looking to diversify the business. While I enjoy the technical writing side of things and get to utilize my programming skills on a lot of API documentation projects, it always seemed natural fit to also offer programming services.
With my extensive programming background ranging from real-time embedded systems and video games, to client/server development, the time has come to offer these as contract services. I’ll continue to do technical writing and serve existing clients, but I will now also focus on programming projects going forward.
It’s an exciting time to be in the programming arena, especially in the areas of mobile and web development. There are now more languages and frameworks—not to mention platforms—than ever before. And the best part is, most are open source and free.
This is in sharp contrast to when I first started my career as a programmer where most development tools were costly and were produced mainly by large corporations. Fast forward 20 years and the open source movement has dominated the development scene. Not only that, but it’s no longer just a “Windows world” as it once was. You’ve now got Linux, Mac, iOS, and Android to name a few, and this in itself has helped to fuel innovation in development tools.
And not only have the number of platforms and tools increased, but their sophistication has as well. With the rise of the open source movement and the sheer number of contributions to these tools, a lot of problems that existed in past frameworks have long since been solved. One example can be found in DJango, which is a high-level, Python-based framework for developing web applications. DJango, in conjunction with the sophistication of Python, abstracts away an SQL database behind a nice, clean, object-oriented framework, where database tables are essentially first-class elements represented in your application. Contrast this with the development tools of the past, where you’d literally have to write SQL statements as strings in your code, send them to the server, and then stuff the results into your own objects manually. Complexities like this have long been solved with today’s tools.
So what am I currently working on programming wise? Earlier this year I started developing an Android Wear application on the LG Urbane smart watch for a European startup. The goal was to use the sensors for a health-care related application. This gave me exposure to Android Studio, and allowed me to utilize my extensive object-oriented experience that I’ve had with similar frameworks that I’ve used in the past, such as .Net (which is still one of my favorite frameworks by the way).
Currently I’m also working on a DJango-based client/server application for the healthcare industry in conjunction with a former colleague from Electronic Arts, so my past client/server experience has been a nature fit. In fact they now call this “full‑stack development”, which is just a fancy name for an application involving many layers like the client, server, database, and everything in between. DJango has been great for full-stack development and is very easy to pick up and learn. If you’re familiar with other high‑level, object oriented frameworks, I recommend checking it out.
So what are my plans with programming? That remains to be seen. At the moment I’m a bit of a generalist, though the mobile and web space seems to be the right place to be. That said, I’m more experienced with “compiled” rather than script/interpreter-based frameworks, so there is lots of learning ahead.
My initial thinking is to continue helping startups get their prototypes off the ground, as well assisting small companies who need new apps, or help porting their legacy applications to new, state‑of‑the‑art frameworks and development environments (e.g. converting old Windows apps to SAAS). As well, I also plan to act as an extra resource for larger companies, when the need arises. If you know of any companies who fit these descriptions, your referrals are always welcomed.
So, in the coming months I look forward to sharing more technical articles with you from the exciting world of software development.