Well, it has been an absolutely wild ride for the past 2+ years over at Mitchell International. When I began working there in October of 2010, I had never worked with WPF. I had never even heard of the MVVM design pattern. I had barely scratched the surface of what it was to work with Entity Framework, and I'd not yet explored using POCOs. Aspect oriented programming? Huh?? I'd never (knowingly) worked with that either. A prism was just a device to refract light. I had no clue what people meant when they threw around scary sounding phrases like 'dependency injection' and 'inversion of control'. For the latter, I assumed I was supposed to code upside-down, strapped into my chair with one of those massive roller-coaster style harnesses. I put in an order for said harness, and I was still waiting for its delivery all the way up to my exit interview earlier this afternoon.
Dear Disney-World: You can keep that harness I ordered... Turns out inversion of control has very little to do with writing code from an inverted position. My bad.
I learned how to use and at least somewhat understand all of those technologies, techniques, approaches and patterns with my teammates at Mitchell. I drank form the fire hose of .NET goodness, and while the learning curve was steep and required a million extra hours of personal time researching, studying and practicing, in the end it was absolutely worth while. I'm still not a ninja, but I believe that I leveled up a few times as a developer at Mitchell.
I will miss my teammates dearly... They are a wonderful and talented group, and I very much hope that my professional life will cross with at least some of theirs in the future!
Not only am I excited about the development practices they employ, I'm also a huge fan of what they are developing as well: I'll be helping to work on their web version of a platform for digital text books. This is the kind of thing I would have loved to have had when I was in school, and I still tend to massively prefer digital to physical books of any type. I like being able to carry a huge amount of books with me with taking up a ton of space, and without being ridiculously heavy to try to transport. I like being able to search my books using an actual algorithm, rather than hoping the index and/or table of contents will give me the hooky-hook on finding exactly what I'm looking for. The product is called Thuze, and for the insatiably curious, you can check it out here!
To infinity... And beyooooond!!
Lenovo IdeaPad Yoga
Ever since seeing a couple of my co-workers return from the 2011 Microsoft Build conference with their slick looking Samsung Series 7 Slate computers running Windows 8, I've wanted one. Using the smooth scrolling interface-formerly-known-as-metro (does it even have a name any more?) felt great, and I loved the idea of having something slim and super-portable that would work as both a tablet and a light-duty work machine, for a little bit on the go when necessary.
As I've seen mentioned here and there on the interwebs, there does seem to be a real lack of Windows 8 tablets available in retail stores. Regardless, last week I decided it was finally time to buy a tablet. Thanks to stores carrying virtually nothing, I ended up visiting three different stores before finding a device I thought might be worthy. I started at the Microsoft store, assuming they would have the hottest devices to show off (and sell) there, and if the hottest device to me was still the Series 7 Slate, so be it. Much to my dismay, they were no longer carrying the Slate, and nothing else in the store had really replaced that same sort of tablet-focused form factor. Totally disappointed, I went home empty-handed.
The next night I stopped at Fry's on my way home from work. I was relying on the sheer size of that place, hoping that such a cavernous warehouse full of computers (and such) must have several tablets to choose from. I was even more disappointed here. They had only two tablet-like Windows 8 devices, and both of them felt cheap and crappy in my hands. I looked around at a see of other laptops, iPads and Android tablets, and once more went home with a big fat wad of nothing.
On the third night of my search, I went to Best Buy. At this point, I was expecting nothing. Best Buy has never struck me as a place to have much variety, and after striking out the previous two nights, this was really just a long shot which I fully expected to result in nothing. To my delight, I found something I liked! The Lenovo IdeaPad Yoga. It's a sleek little laptop, but you can flip the screen all the way around to fold over backwards, and then use it as a tablet. It's still thin & light enough, and having the laptop mode available meant that I really could do some coding on it when convenient! In my mind's eye, I envision myself dancing in a field of digitized flowers, holding hands with my new IdeaPad Yoga, spinning in loving circles as we happily computed in both tablet mode and laptop mode, seamlessly switching between the two. I wonder if this could even replace what I use my iPad for, and that's some super high praise from a Mac lover like myself!
I'm still having to force myself to use it over my MacBook Pro, as I do prefer the Mac OS to Windows quite a bit... But I'm going to keep at it to see how this whole Windows 8 thing might pan out for me. In fact, this very blog post is currently being typed on my Yoga in laptop mode. Jury's out, ladies and gents!
I have been using C# to develop software for several years now. Before that, I was using REALbasic. Before that, I used Java. Here and there, I've tinkered with Objective-C to work on iOS apps. All of these nice, wonderful languages are strongly typed, and have class-based inheritance. They make clear, relatively simple sense to my mind. When I look at code in any of these languages, I smile and let out a sigh of warm comfort, as I feel like I am home sweet home.
ps -- Yes, I really do pair-programming with Batman. And yes, we drink whiskey while we code.
Jon Bachelor: This geek goes all the way to 11.