So, now that the PhD thing is winding down (when will it end?!), I’ve gotten myself a new job: Lead Developer and Technical Architect at Cloud Street, Ltd.. Today was my last day at V.Ships. I’ve been with them half-time for the past 42 months (yes, I’ve counted), leaving behind a massive legacy of code: more than 60,000 lines of Visual Basic .NET code and more than 20,000 lines of Transact SQL code just for one project. Skip the next paragraph if you’re not into the details of what makes a programmer (read: technical writer) happy.
I’ve spent the past two weeks handing that code over to another developer and enjoyed the time immensely. Consider it a code review but with the incentive that if the other guy doesn’t understand it, well, he’s either going to need to email me for an explanation or he’s going to have to spend some time to figure it out. It’s a massive code-base, most of it hand-coded. One stored procedure alone is nearly 5,000 lines of code. To top it off: many of the stored procedures perform operations on entire sets of data rather than operations on individual rows. Set-based operations are some of the most mind-bending things to do in a database, particularly when using things like set multiplication (a.k.a. Cartesian Products). Not only are there set-based operations, but there are binary operations that I truly struggled to explain (but which drive the whole application). The user interface uses inheritance, polymorphism, overrides, shadowing, multithreading … basically, any Object-Oriented technique you can think of (except for being able to inherit from multiple base classes – stupid .NET!), the UI uses. All in all, I’m very proud of the code-base, and truly had fun watching somebody else try to grasp the complicated concepts involved in it. Best of all, I guess, is that it’s used around the world, every day, and has helped the business reduce their invoice payment and issuing process from more than a month to something like 1/2 of an hour; that’s best for the company, but to me, the production of elegant, efficient, useful code is the payoff. Having someone else appreciate it is a tremendous validation of my efforts.
This coming Monday means a new start, at a new company, where I’ll be able to have an impact. The company is switching over from building their user interfaces in Microsoft Access to building things in .NET. As their lead developer / technical architect I get to shape how development will be done, and to help build a code-base which will be used for years to come. Best of all, though, is that they’re a consultancy: I’ll be able to build a variety of software, hand it over to the clients, and not have to deal much with support of those applications. So, it’ll be a combination of teaching programming techniques and creating new applications – truly, I’m looking forward to it.
Next weekend we move up to Cambusbarron, to a townhouse which looks out over a greenbelt. There will not be people fighting outside our bedroom window. There will not be cars trying to get into a petrol station. There will not be people singing as they make their way home from the pub at 3 a.m. Anyone who’s familiar with the area says that we’ll have trouble sleeping because it will be too quiet. Watch us! The house is less than a mile from the office, most of which is on quiet, residential streets. The house has double-paned windows (it was built around 2000), it has thermostats (yes!), and it has a garden. The change, from living in Glasgow, is truly radical. We’re looking forward to it immensely!
So, it’s now Friday evening, we’re settling in to have a quiet evening, and will be spending the weekend packing things up for the move. Radical change is in store for us, and we’re looking forward to it. After living in the current flat for over 2 years, it’s about time to have someplace new, to have different things to photograph, and to get back to living quiet lives.
I will miss seeing the people absailing down the side of the building washing windows in the rain, though. What a job!