I think my blog posts are typically too succinct to be classed as a blog post, despite the term "log" being bundled into the "blog" abbreviation, or whatever terminology has crept into the atrocities of spelling and grammar on the web nowadays. Although one of this is the point of my blog anyway so this can be deemed as ramble anyhow.
Today was something of a day to remember where I have overcome some conflicts within myself that I believe have hindered me in recent times. The hindrance was the thought of seeking alternative avenues in my career but without the gonads to hand in my notice at work. Well, today I handed in my notice. So what happened? What changed from now and before? The answer is, I really don't know, but everyone whom I'm closest too has been pointing out my new found confidence recently.
So, why did I resign from my current post? Well, there's already speculation to this of course, but here's the reality of it:
- I actually took this job as I was increasingly aware that I needed funds and quick, but I also wanted a job in my area, so I didn't "test the water" as so to speak
- I have a higher interest in MVC architectures with the web using either Ruby on Rails or ASP.NET MVC – the new job actually uses MonoRails which is an (indirect) port of RoR
- Whilst it's impossible to ignore the finance industry, it's never been my "bag" as to speak. The problem is that over 50% of my work involves understanding finance concepts. I blame this on my own high expectations, but I can't break from the thought of wanting to learn more technically.
- I feel I've reached my potential from a technical perspective in my current role
- Change isn't a bad thing, I think it helps cultivate character
My current job has caused tremendous improvements for me personally though, especially in regards to turning user requirements into something tangible. The experience has been quite interesting, especially when a user says "I want this to be able to do that…." without specifying the rules. Basically you need to engage in a mind-meld with the user in order to extract any kind of understandable information. A developer has to be a user, and a developer must understand how every user works. Never in a million years would I have expected this simply because my entire education has taught me that user requirements aren't gathered by the programmer, there's usually a man-in-the-middle doing all that boring stuff. I actually don't find it boring, because understanding the business makes sure you're good at your job. My current boss is probably the most knowledgeable person I know in the entire company. I don't think he has ever been unable to answer a question or get around a business-related problem.
So what's that taught me? That business knowledge is invaluable to a software developer because user requirements are never the full picture. But this has given me leverage for the future.
The best part of my new job is that I get to work under a very clever chap whom holds a degree in CompSci from Cambridge which means hopefully that fountain of knowledge and experience will be rubbed off in me and help propel my own experience and knowledge to driving a business.
So the new rule of thumb for me is this: step out of your comfort zone every once in a while!