Recently I was promoted to a Lead Software Engineer.
The best experience I have gained has been working with other people. This is why I believe that, for a software engineer, changing employers or at least positions every two to four years is a great way to constantly grow and expand knowledge and experience. In such changes differing team sizes, scope and complexity of projects, differing platforms and languages; everything and anything that can be experienced to expand the developer’s palate is a plus.
This theory applies to almost anything. Drink many wines and you will learn, appreciate, and dislike many. However, with how quickly technology changes it seems that the more that can be crammed into experience the better. I suppose it can be unfortunate, seeing that traditionally long term employment tended to secure pensions and larger contributions to retirement. In the contemporary socialist climate, however, most employers have simply cut out such benefits.
It is a challenge that I am excited to take, will humbly execute, and hope to surpass the expectations of those whom I report to and those whom I will lead. The team is small – four to six developers. Unlike previous managerial positions I have assumed in the past this one seems to truly encourage me to spend most of my time engineering software and hardly any time managing. The climate is professional. Most, if not all, take interest in work that completes and enhances our drive towards our corporate success.
I have been trying to better manage my personal time and I think I have been successful at doing so. My commute is arduous but instead of sleeping or wasting it away I have been using the time to accomplish things that I probably would otherwise neglect. Reading, writing, listening to music, communicating, and working on side projects; these are just during my commute. At home Crystal and I have tried to structure my time home better. For example, Tuesday nights are my nights to do whatever be it visit someone or vegetate in front of Day of Defeat. Crystal take Thursdays during which time I spend the few hours taking care and playing with the kids.
It is hard to have to compartmentalize most aspects of my life this way but I think it has been a good thing. I try to never go more than a day without shaving. I change my clothes more frequently. I get my haircut regularly. Even in personal care and hygiene I have had to make changes. It is probably odd to read that but I am okay admitting that I have not taken care of myself as I should have until recently. I believe that it comes from self respect.
I am currently working on a couple side projects. I am very interested in developing a couple educational or more cerebral games for various platforms. I love the idea of working on the XNA platform and the most popular mobile platforms. Can I write a game in something as ubiquitous as C++ and then wrap it in corresponding containers so that it can be executed on an Xbox, an iPhone, and an Android device the latter being a mobile, tablet, or television?
I remember recalling the previous mentors I have worked with. The advice they gave me rings in my head. They were all truly memorable and although there is a chance that I will probably never speak to most of them ever again it is a huge testament to working with people you can learn from. Learning on your own has its moments but it pales in comparison to the words and wisdom of those sages who have done things multitudes of times before so that everything to them becomes a question of approach and method on a macro level rather than the microscopic squabbles of implementation.