May 2006 Archives

Teamprise for TextMate

May 25, 2006 11:50 AM

TextMate Teamprise and Microsoft Team Foundation Server users can now access their source code control directly from the TextMate editor.

TextMate is a popular developer-oriented text editor for Mac OS X. It's particularly popular in the interpreted language camps due to its light weight, high configurability and out-of-the-box support for many languages. Rightly so - it's a great programming text editor, and I've been using it anytime I don't need the full featureset of an IDE like Eclipse.

My only complaint with TextMate was that I constantly had to flip between my editor window and Teamprise Explorer so that I could check out and check in files.

TextMate ships with support for source control repositories in the form of Subversion and CVS. This is nice - but I need to check in to a TFS server. No problem! Thanks to TextMate's configurable architecture, I was able to roll my own interface to Teamprise in the form of a command "bundle."

The TextMate support for Teamprise went surprisingly smoothly. Using the Subversion and CVS bundles as a guide, I had a working prototype using the Teamprise command line client in just a bit over an hour. After that, I went back in to add a few features and polish the checkin functionality using a helpful utility included in the Subversion bundle. Now major features are supported -- add, delete, check out, check in, view history, undo changes, etc.

You can download this bundle at http://people.teamprise.com/~ethomson/teamprise/textmate/.

I'll admit, it's no stellar piece of engineering, and there are surely bugs. This was one of those little utilities born of necessity. That said, I hope the other Mac-based TFS users find some utility with it.

Of course, you will need a copy of the Teamprise Command Line Client and a Teamprise client license. This is not officially supported by Teamprise.

A Software Job... That You Love?

May 15, 2006 11:18 PM

I made a promise to myself that this blog was going to discuss technical aspects - or at least software at large - and absolutely nothing about my personal life. Unless you care that I prefer Raisin Bran to Cheerios[1].

And I'm going to stick by that... mostly. After a fair amount of criticism from several readers that I was "negative" to Macs[2], I've decided to roll a little bit more of myself into this, so that next time somebody says that I'm spouting "anti Mac hate lies", then there's enough personal context for that to seem a silly accusation to even the most casual reader.

(And, of course, thank you to all those who were did give some positive feedback, and weren't put off by my poor attempts at sarcastic humor and abuse of footnotes.)

So anyway, while my web server was being beaten on by disgruntled Apple fans, I was busy with some family obligations -- notably, swelling with pride as I watched my younger brother become a psychologist.

The commencement address was given by Thomas Siebel, and while the graduates I talked to were too busy trying to keep their mortarboards[3] from falling off to be inspired by his speech, I was impressed by a particular section:

First thing, you need to get a job. How do you do that? I guess there are a couple of ways. A common route is to get as many interviews as you can, until someone offers you a job. And then you take it and make the best of it. I do not recommend that route.

My suggestion to you is that you find an industry that you find interesting. Say biotech. Or travel. Perhaps entertainment. Communications. Aerospace. Automotives. Within that industry identify a high quality company that you would like to work for. Located in a place that you would like to live.

And then get hired there. Learn everything you can about the company. Study it on the Internet. Read its annual reports. Become an expert. And then figure out how to get a job there. Any job. It doesn’t matter.

Write the CEO. Write the VP of Engineering.

Get yourself an interview and explain that you want to work for that company – no other company -- and you are willing to take any job to get started.

Get a job in the mailroom. The help desk. The front desk. Customer service. Don’t worry about the salary or the title. Just get a job. After you get in the door, then the rest is up to you. Make it happen.

I thought this was excellent advice -- it could make the difference between what is "just a job", and a job you love. I think I've been lucky to have had some exceptional jobs, mostly because of doing just this.

In fact, that's how I started working at SourceGear[4]

I started out volunteering some time at night to work on the build system for AbiWord, SourceGear's open source word processor, and I knew immediately that I wanted to work there -- amongst a bunch of talented people doing really cool things. Eventually, they had an opening for a Unix system administrator, and despite having worked a sysadmin job before[5], I jumped at it. Not too long after that, SourceGear needed another developer, so I moved over to writing software there. And I loved it! I was writing code that did fun things, and doing it in a great environment.

So? So, I took a job at a company that I was stoked to work for, even though it wasn't the exact job I wanted there. And after a little while - boom - I've got a job I love[6].

And it's not just me -- a friend of mine, we'll call him Tony, did a similar thing.

Tony started out working part-time for a mixed media publishing company while he was in college. He sought out this organization because he wanted a tech job, and he wanted to work on Macs. He started at the lowest technical opening they had, doing entry-level technical support for writers, editors and disc jockeys.

But Tony's a bright guy, a quick learner, and has an immense work ethic - quickly taking on a lot of new challenges and new responsibilities. Eventually, he's been there several years, working directly for the IT Director, learning every aspect of the infrastructure and taking on management responsibilities.

When Tony's boss (the third he's worked for) resigns, the company fortunately realizes that they have this wonderful asset. So he's appointed the new IT Director, overseeing all the technical aspects of a large (and growing) media company.

This is a young man who's gained exceptional technical and management experience, who's trusted by both those who work for him and the other directors in the company, and who's showing no signs of slowing down. By the time he's hitting 30, Tony's going to be an excellent candidate for IT Director jobs at bigger organizations. After that, VP-level jobs? Or maybe he wants to stay more hands on with the technology and starts his own consulting firm?

His future's bright, and he built it from the bottom up.

I appreciated this commencement speech both because I've done exactly this, and because I've seen it work for others. Now, hopefully you're in the job you love, and you don't need Tom Siebel's advice. But maybe you know someone who's starting out in their career, or maybe you know someone looking for a career change. Consider passing on Tom Siebel's advice -- it may just help them find a job they love.

  1. I do, and you shouldn't.
  2. Thankfully, not everyone saw it that way. Eric Sink said it best, "That wasn't anti-Apple -- it was anti Apple marketing kool-aid."
  3. I guess the kids don't call them "mortarboards" anymore, they're just "caps" now.
  4. I'm mentioning my great job at "SourceGear", when I just mentioned my great job at "Teamprise". Just to point out, SourceGear is the parent company to Teamprise.
  5. One would have thought I would have learned my lesson the first time around, but even sysadmin at SourceGear was surprisingly great.
  6. Oh, and in case you missed it, we're hiring.

Why you should work for Teamprise

May 11, 2006 3:47 PM

Teamprise just announced that we're hiring a software engineer to work on our Java integration to Microsoft Team Foundation Server. You can read the details over on the corporate site, so I'm not going to repeat them -- I'm going to tell you why you should apply.

The concentration of really good developers is obscenely high
For being so small, it's almost intimidating at times, the breadth and depth of software development knowledge[1] contained within our organization. SourceGear and Teamprise are just large enough to have a very varied skillset amongst developers, and small enough that there aren't any bozos[2]. At some of the larger software shops I've worked at, you may have the prestige of working with a MacArthur fellow, but you're also feeling the pain of working next to a guy who would unemployable at McDonalds if his dad wasn't the Director of Sales for North America.

The bosses here aren't idiots
The owners of the company are developers. Developers, primarily, like to develop software. So there is precious little to keep you from doing exactly that while you're at work. There are few scheduled meetings, and the ones that exist are short, on-topic and useful to the development group. There are several ad-hoc meetings where developers walk into each others offices to bounce ideas off each other. If you've been unlucky enough to sit in meetings so that you can schedule meetings... this isn't that sort of place.

You won't be worked like a slave
I like adreneline rushes as much as the next guy, and feeling like I'm a critical piece in shipping code is great! At least, it's great when it doesn't last 14 hours a day. Here you can write great code and have a life.

Downtown Champaign is a great place to work
Right, so it's not NYC or San Francisco or Chicago. Champaign isn't a big city, but we've still got a lot going on, and Downtown is the epicenter of all the cool things we do have[3]. Lots of arts, lots of good food, lots of fun. If I walk out the door to our office building, I'm surrounded by hip coffee shops, theaters, bars and restaurants.

And hanging out at any of these places, you're likely to find smart, interesting people all over. The University guarantees lots of smart people[4] hanging around, a lot of diversity and inevitably at least a small group of people interested in whatever obscure interest you have.

It's a great place to work. So apply already.

  1. And, to be fair, other stuff, too. From obscure European Heavy Metal to beermaking to haute cuisine to comic books, there's a lot of knowledge about non-technical things, too.
  2. The author excludes himself from comparison to ensure the bozo count is zero.
  3. It could be argued that campus is the epicenter of it, but those people only like campus because they never leave their lab or they like the bars that let them drink underage.
  4. We once had the distinction of most PhDs per capita in the US, but the most recent data I can find on that is from 1994. Either way, you get the picture.
Edward Thomson is a Software Engineer at Teamprise, where he develops cross-platform client solutions for Microsoft Team Foundation Server, with an emphasis on Macintosh compatibility and IDE integration.