I’m two weeks and two days now into my new job and it’s been a mixture of impressions. Some good, some bad.
First, the obvious benefits: Free soft drinks, free coffee, free fruit. Reasonably flexible hours, although some people are here as early as 6:00am and complaining that the alarm doesn’t go off before that. I received an email from a colleague sent at 6:20 in the morning and that scared me.
Everything is more structured here. All jobs are broken down into tasks, and each task is given a number based on the current date and time. All checkins and work reports use the task numbers for job tracking and billing – even our time reports use these task numbers. There seems to be less “hacking” and more “working” … which I don’t know if it’s good or not, in the long term.
And I’m getting to know this mighty C++ beast with which I’m working. It is a huge system! And most of it was built before modern frameworks seemed to have appeared, so they’ve built everything themselves – a complete framework for ODBC, dialogs and controls, string and date classes…. everything that you normally get for free in C# or Delphi. And unfortunately most is built with a lethal dependency on each other so you really can’t switch one part of it out and use another. So it’s a big mess, and that’s why everybody is talking about C# and the possibility of rewriting large chunks of code (or all of it).
So right now, it’s mixed emotions. Huge prospects for interesting development loom in the distance, but we’re not there yet.
Personally, I don’t know yet how well I can contribute. I feel rather unfamiliar with C#, and I’ve never really tackled anything this big before. Sure enough, I’ve learned tons of lessons at my last job. And I arrive with pieces of development principles like agile modeling, design patterns and so on. But can we put it all together into something that is sleek and sexy? It’s not that difficult to build a system that’s a mess. What I’d like to do is build the equivalent of an Aston Martin – if I may so humble – a sleek exterior design, and when you pop the hood you see the purring V12 inside. I never had any inclination to build it differently.
So there’s lots of questions on my part. Do I know the tools well enough? How stable is the .NET platform? How well is C# going to keep up? Will the rug be swept away from under our feet because of changing environments – like Microsoft loves to do – or will it continue to be a steady, solid and reliable platform – like Borland? :)
Anyway, it should get more interesting before long.