When you're working on a thesis, you tend to get tunnel vision with the technologies that only apply to your thesis and how they're used in your thesis. Over the past 3 years, this happened to me.. big time!
So what I've been doing while I wait for some answers is try to catch up with some technology that have been passing me by. I know I'm usually a Drupal guy, but there's way more out there than Drupal to keep on top of to stay relevant in today's fast moving tech world.
The iPhone was released in Canada on Friday. I came downstairs to pour my morning bowl of Honey Nut Cheerios when my mom asked me "are you going to get one of those iPhone's?" If my mom know about it, it's probably a big deal. I do plan on doing some reading about iPhone and Mac development, but I'm waiting for the right book to be released for iPhone development before I go all in. Also, I need to get my MacBook Pro before I can do any iPhone development. If I'm good at it, we'll see what happens.
When Google announced that they were developing a mobile Operating System that would be open source, I knew I was going to be involved with it. It's built using my favourite language (Java) on my favourite Operating System core (Linux Kernel). But you can also develop applications using my favourite editor (Eclipse). This has my name written all over it. The problem with the Android Operating System was that there still isn't a good book for it. I've downloaded the few free chapters that were out there, but they aren't very well written. I do plan on getting into it, but no just yet. When there's a good book out, and I have time, I will be heavily involved in Android development.
TEST TEST TEST! When I got involved in drupal, I didn't know anything about Version control. Now that I've done some drupal development in industry and in the open source community, I know both CVS and SVN. My market value shot up as a result of knowing these basic technologies (and hard work), but I see room for improvement. As other firms learn the value of testing, they will be looking for individuals that have testing experience (duhhhhh!). So in the back of my head, I've always had the intention of learning the unit testing suites for the languages I follow. So that includes SimpleTest for PHP, JUnit for Java, OCUnit for Objective-C and other Apple software testing, and CUT for C development. When I write it down, it sounds like a lot, but I'm sure the actual Unit Testing core of each of these suites is roughly the same.
Last but not least, the software engineering. It's been one thing I've always thought was important and I could always connect with. Sure, I know it's boring and people don't want to deal with it. But for those in the industry that believe in the importance of the engineering science in software development, there will always be a job for me. There's still a ton of documentation that proves all that boring software engineering stuff lowers development costs and delivers software closer to the delivery date.
So what do I do when I work? If I'm still working with Drupal, I'll be prepping for a PHP certification. Only $125, I figured that's a steal for a professional certification. I was told by someone I work with that certifications don't matter. All you need to do is become a rock star within the company you work at. She's right. Unless you want to move. If you do become a rock star in the company you work with, you'll likely learn all the bad habits that others bring into the company. With the certification, you'll likely learn the the correct way of doing things, and learn how to use the language to your advantage instead of fighting with it. Then if you become a rock star within the company you work for AND you have a certification, you'll have the work ethic AND the knowledge to back it up. So that's where I am right now.
So that's where I'm at right now. Thinking towards the future instead of worrying about my thesis defense. Gotta keep looking forward instead of worrying about how you're getting screwed now.