Geeks With Blogs
Running with Code Like scissors, only more dangerous

As I mentioned when I pioneered this blog, I work for Terralever, an interactive marketing firm based in Tempe, AZ.  I started there following a rather interesting series of events that involved an application to Blizzard.

As someone who has read much of my blog will know, a lot of my interest in programming lies in areas outside of web-based programming.  I consider my specialties to lie in .NET internals, object-oriented design and analysis, and Windows-based UI design -- these are the areas that I've devoted the most of my time and independent research outside of work.  That is not to say that web-based work doesn't interest me; particularly with the fairly recent AJAX capabilities that seem to have reinvigorated web usability, as well as Silverlight, I find web work to be interesting enough to keep me happy.  I've got a couple projects that I'm looking at in my personal time that involve web-based technologies, and I certainly wouldn't be putting time in if they didn't keep my attention.  I think part of the reason I'm fascinated with AJAX is because it's so JavaScript-centric; JS was the first language I picked up, first on the client and then with server-side ASP, and so it always feels nice to "get back to my roots," so to speak.

But at the same time, I'm getting to do some things that are far beyond my purview of experience because of my employment at Terralever.  I just finished off a four-month (or so) engagement with a client that required me to act as a bit of a security consultant, designing a new network integration pattern and security standards to bring them into PCI Compliance, which was without a doubt my first major distributed system design.  It consists of a solution involving Windows Services, .NET Remoting, ASP.NET Web Services, Domain authentication, PKI encryption, and smart cards.  All told, the Visual Studio solution encompasses 12 projects (three are testing hosts), a client, a configurable server service that is designed to work differently on different systems, and a public web service to be used to integrate with the existing service needs.  Perhaps it's not my biggest VS solution, but it certainly took a lot of time to set up and debug, with three virtual machines acting as a local virtual domain on my home PC.  :-)  And while I can't talk about my new project because of an NDA, suffice it to say that it will involve communicating from a WPF application with underlying movable hardware, and that it will require localization support.  In between, I've had the opportunity to review our coding standards, create Facebook validation controls for ASP.NET (to be released soon!), and go learn about Windows Live up at the mothership.  All told, pretty darn cool.

At the end of the day, all of us have our own sets of interests, our own sets of unique talents, and our own personalities to add into the mix.  What we really do well, though, is know how to mix and find the right talent for the right occasion.  It's easy to find the person who knows just what you need in our organization, and the projects are typically varied enough to always prompt you to learn or do something new.  We have a unique synergy that is hard to explain; when I was consulting, it was difficult for me to get much work done or to be effective, partly because not only was I physically isolated on-site, but there existed a wall between myself and our client because I didn't really work for them.  Disappointingly, that made it hard to mesh with their team, and it really turned me off to doing temporary contract work in the future, partly because my contract-to-hire positions (and consequently my salaried position at Terralever) have been so different in comparison.

Someone recently approached me about a consulting job that involved a lot of travel and, well, a considerable pay increase.  I sat down and gave it a lot of thought; I love traveling, I am intensely interested in the field it was in, and I could have done a lot of work from home.  Sounds great?  Yeah.... not so much.

I'm sure that there is a certain population segment that likes working from home, and there are certainly days that I like working from home.  But then, where is the interaction?  Where is the group-coming-up-with-a-solution thought process that is so valuable?  To never have that interaction is not only a marginal (at best) hindrance to quality, large-scale software development efforts, it's also a substantial stopper for one of the greatest joys of programming: constant learning.  When I work on my personal stuff at the house, and something's just not clicking, I rack a game of pool.  Frequently it helps me break the mind block, but it's not consistent, and certainly not as productive as chatting about the problem with a couple co-workers, going to the white board, and drawing out the algorithm to talk through it.

I know that there are a lot of things I want to do in my career; I want to work on at least one commercial game (I know I'll always feel as if I missed out on something special if I don't, even if it kills me), I want to get more active in speaking engagements, and I think it'd be cool to have a job like the man who got me my Xbox 360 (funny story: the .NET Platform was just coming to about full swing around the time that I was starting college.  I had been doing JScript ASP development for a couple years (read: didn't know anything about OOP) and learned about this magical new technology that would let me write JScript programs, actually compile them, and make Windows applications with them.  As you might imagine, I was thrilled (even then I didn't like VB), and during a career fair, I learned about "development evangelist" jobs at Microsoft specializing in .NET.  I thought it would be the neatest platform to advocate; if only I knew then what I know now.  It's probably more humorous to me than anyone else). 

At the end of the day, you need to look at what makes you happy.  I'm happy when I head into the office.  Are you?

Posted on Tuesday, February 19, 2008 11:15 PM | Back to top


Comments on this post: Finding Employment that Works for You

# re: Finding Employment that Works for You
Requesting Gravatar...
I am currently looking at going from a permie role and going contracting. The transistion doesnt seem like its going to be easy, but thats an aside!
I agree with you that working in a team, with a whiteboard can be a great way to work - however i think are a couple of things to consider. 1. There are plenty of tools to help with remote team working- this one caught my eye the other day ( http://www.hanselman.com/blog/KnowingWhenToAskForHelpMicrosoftSharedView.aspx ) 2. If your team doesn't gel then you are in trouble, just 1 person in a bad mood, a shy(er) person(that would be me!), or an outspoken "know all" can really make the whole process can be 1 sided. Would you agree?
I would like to have the space to "rack a game of pool", I'm sure that would help - I did try halo 3 once, all that did was loose me the afternoon and get me 1 exp point :)
Left by Steve CLements on Feb 20, 2008 2:09 AM

Your comment:
 (will show your gravatar)


Copyright © Robert Paveza | Powered by: GeeksWithBlogs.net