Recently in Go Daddy Category

Not Your Father's Go Daddy

When Warren Adelman took over the CEO reins from Bob Parsons, he did a roadshow outlining his big plans for the company. I was giddy with excitement since just the fact of sharing the details of those plans was a huge win for internal transparency. (To be fair, his was the latest salvo in that war as Bob had been holding many town halls in the last few years.)

Since then, the move towards being more open with the world has proceeded swiftly. As noted in today's sponsored post at GigaOm, there is now a technical blog from rank and file employees such as myself. Warren's also been speaking with the tech press in a very frank and open manner. And all of that is just the start!

In related news, I just celebrated my seventh anniversary and we're always looking for good engineers!

[The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of GoDaddy.com, LLC.]

We Love to Party

Last night was the annual Go Daddy Holiday Party and it was the best one yet!

The theme was USA and it was held at Chase Field, where the Arizona Diamondbacks play. The grounds were literally the USA, with different sections themed to different parts of America. In the middle was an enormous Statue of Liberty with hot dog carts around it and an incredible selection of desserts. Around the edges were the following:

  • Hollywood: a huge backdrop of the Hollywood Hills, two huge Oscar statues with the Go Daddy Guy's head instead, a star walk with Go Daddy Girls names in front of a movie theater façade, fake paparazzi snapping photos as you walked down it, culminating in a Chinatown shop where you could get vegetable lo mein or chicken and broccoli in a Chinese takeout box
  • New Orleans: a façade with a sidewalk lead to a restaurant front with jambalaya and shrimp po boys and a "Cafe du Go Daddy" serving beignets, an enormous Mardi Gras float with attendants throwing beads
  • Stage: Big Swing and the Ballroom Blasters sung the national anthem (followed by the release of a bald eagle who flew around the stadium) and several classic covers, Dierks Bentley, Trace Adkins, Kid Rock
  • Mount Rushmore: a "sand" sculpture with the heads of the Go Daddy Girls instead of the presidents, Bob Parsons' custom motorcycle collection
  • Las Vegas: casino tables, all-you-can-eat buffet, a Dance Heads booth
  • Hawaii: surfing simulator, tiki hut serving tilapia tacos and ribs, enormous Go Daddy sand castle
  • San Francisco: Alcatraz prison with two cells for picture taking, a cafeteria line serving turkey, mashed potatoes, and corn on prison trays, an enormous Golden Gate Bridge re-christened the Go Daddy Gate Bridge, a huge Buddha sculpture in a Thai setting serving the Chinese food from Hollywood, photo shoot set up with props
  • Indianapolis: Danica Patrick's Indy car and Nascar stock car, remote control race track with eight stations controlling miniature versions of Danica's stock car, a pit simulator for quick changing of tires

During the intermissions between the incredible acts, Bob Parsons would give out money assisted by the Go Daddy Girls. In a welcome change this year, the whole process was significantly more automated. The Go Daddy Girl would press an big red button and a name would randomly appear for Bob to read out and it would also show up on the Jumbotron. He gave out over $1.1 million in prizes in $500, $1000, $2500, $5000, and $10,000 increments with the taxes fully paid.

My bosses' boss Neil and I were talking about how great it is to work for a company that had to build a machine to make cash gift distribution more efficient. "We couldn't give the money out fast enough," said he. "So we built something to make it quicker." It was perhaps the most surreal moment when you stopped to think about it.

In sheer scope and diversity, this party easily topped last year's. Two years ago, they filled the stadium with falling snow. Last year, it was an enormous Ferris wheel in the middle of the stadium. This year, there was a bald eagle, the Statue of Liberty, the bridge replica, the sand sculptures, and three huge entertainment acts. It was a tremendous party and I'm so proud to be a part of Go Daddy!

[The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of GoDaddy.com, Inc.]

Mano-a-mano

I read Michael Lopp's book Managing Humans shortly after being promoted to development manager back in February 2011. At the time, I was really excited at the opportunity but also nervous about the unknown.

His chapter on one on ones (also available online at his blog) was an inspiration to me. In all my work life, I'd never really had a one on one—much less a regular one. I had rationalized it that I didn't need the regular feedback and that I would just go to my manager with any problems as soon as they happened. But Lopp was adamant about their value so I gave it a whirl.

Six months later and I am completely enamored of my weekly visits with the six developers reporting to me. Four of those work at two different locations from me so I drive down there to meet face to face. I think it's absolutely vital for addressing things as they come up but also to be that presence in their lives that's lost by not working at HQ.

I have tried a few variations on the theme to see what works best. I originally had them scheduled on Mondays, but found that that took me out of the office when a lot of decisions needed to be made to start the week out right. I have since moved them to Friday afternoons; that freeing up of my Mondays was a godsend. Plus, talking about the week in retrospect on a Friday stirs up some of the vividness that a relaxing weekend can dull.

Today I conducted what I regard as my first significant contribution over what Lopp said in that chapter: a performance review. Yes, he indicated that one format a one on one can take is the mini-performance review but that was just stylistic. I actually conducted a performance review using the same template as our annual one. I went over each category and discussed the good, the great, and the could be betters using concrete examples from the month.

I really like this idea because it allows us to note areas of concern long before the annual review and work on them month to month. Ideally, they either never make it on to the annual review or they're used as a reference point to indicate growth. Either way, it felt really proactive to say, "Keep doing that and you'll get an Excellent rating!" or "Let's work on this behavior for the next month and see if things improve."

It is more work, to be sure. But management is about growing your team and getting them to produce the best within themselves. If you wait until the annual review to give them this sort of feedback, you're doing everyone a disservice—heck, even quarterly seems like forever at Internet speed.

[The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of Go Daddy Software, Inc.]

Get Short

Inspired by this helpful post about Alfred, I thought I'd share a quick and easy way to shorten a URL with X.CO using Alfred.

First thing you'll need is your API key, which can be found on the Settings page.

Once you have that, you just need to fill in the Terminal Shortcut like so:

Alfred Settings for the X.CO integration

That "Command" field reads (replace KEY with the API key you copied previously): curl -s http://api.x.co/Squeeze.svc/text/KEY?url={query} | pbcopy

Hit "Save," make it "Silent" by checking that box, and you're ready to shorten. To use it, invoke Alfred, type "x http://your-url-to-shorten.com/", and press Return. Your clipboard will contain the shortened URL.

Another option that works really well is to create a Terminal Shortcut mapped to "xc" that runs the Command "curl -s http://api.x.co/Squeeze.svc/text/KEY?url=$(pbpaste) | pbcopy". This version will pull the source URL from your clipboard, shorten it, and replace it on the clipboard with the shortened form. That is very handy.

[The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of Go Daddy Software, Inc.]

What I'm Up To

I used to blog more frequently about working at Go Daddy. My silence has not externally imposed, I can assure you. The dearth of entries is the result of working a lot.

When I last discussed my job, I was working with the Social Media Team. I'm still doing that stuff—I do the Fan-Only Content regularly—but my work life mostly revolves around Go Daddy's URL shortener X.CO.

When I first started working on the product, I held URL shortening in very low regard—mostly because of this blog entry by Joshua Schachter. But I've really come around to see the value in them:

  • They can act like a domain name where a domain name isn't possible. For example, I can point x.co/bags to my wife's Etsy shop and she can use that in her printed materials. It's really very convenient.
  • They really do save characters on Twitter. Many times, the shortness of my X.CO links have let me just write without the constant re-editing necessary for full URLs and longer URL shortener's links.
  • They can actually combat linkrot, so long as the business providing the URL shortening isn't going anywhere. (Go Daddy, in this regard, is very committed to X.CO.)
  • Modern URL shorteners do malware and phishing checks on every click. This limits the reach of the bad guys, though sometimes something still gets through.
  • You can see what traffic your Twitter sharing generates. It's nice to see people clicking on the things you want them to.

I have had a blast working on X.CO, working with some really great people and doing some of the most challenging, innovative development I've ever done. I have learned so much about memcached, parallel programming, jQuery, and multithreading in meeting the needs of a growing user base. (And shutting down the bad guys that want to undermine it all.)

[The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of Go Daddy Software, Inc.]

Work Happenings

I haven't written about work in a very long time. It is really a shame, too, because I have done so much in the 18 months or so since my last blog entry about my job. I hit the five-year mark in May, so I'm now officially an old timer.

Let's see. I worked on My SmartSpace, a widget dashboard application, and the iPhone version of that (both native and Webified). I developed Video.me, a video sharing site tailored to fill in the gaps that YouTube leaves. I've also joined an internal initiative called the Product Sponsorship Team, which helps guide the direction of a select group of products—in my case I'm on the Calendar team.

Yes, that's about it. It doesn't sound like too much when you boil it down to a paragraph but it has kept me plenty busy. Busy enough to neglect a lot of my online presence, aside from Twitter.

My current role is a developer affiliated with our Social Media Team. They are a great bunch of people and I am truly enjoying my work. In many respects, I feel like it is a continuation of my work on the Gadgets Team: I am managing a dozen or more projects in various states of development and I have a considerable amount of input into what I work on.

Basically, I do whatever needs doing for our social networking efforts. I advise various teams within Go Daddy about how to get the most out of Facebook and Twitter's APIs. It's interesting and wildly varied.

And sometimes I get called on to do something completely off the wall:

I think it would have worked better without the eye makeup, but that wasn't my call to make. It turned out amazing and I can't believe how well Go Daddy Productions did with what the footage they shot.

[The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of Go Daddy Software, Inc.]

Music to My Ears

"Are we at the point now where it's politically incorrect to be successful? At the end of the day, we didn't make any bad mortgage loans, we are not building cars that don't sell, and we didn't lay any people off." – Bob Parsons, "Grinch Is Not Invited To GoDaddy's Shindig"

Ch-Ch-Ch-CheckBot

Yesterday I released my latest project at work. I call it CheckBot and it is a Windows service that pulls down messages from a third-party service, checks them for domain names, and replies with whether those domain names are available. I built it using a plugin architecture, so adding third-party services is a breeze.

The first plugin was Twitter. A Twitter user just has to follow domaincheck and then send that bot account a domain name through the direct messaging system. Within seconds, CheckBot will respond with its availability and include a link to register it on GoDaddy.com if it is available.

I am very proud of this application because I did it fairly quickly and I like the simplicity of the design. There was only one bug that came up during testing and it was both minor and quickly resolved. This sort of thing is exactly the reason why I love my job and the Gadgets Team I lead.

[The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of Go Daddy Software, Inc.]

Wiki Wild Wiki Wiki Wild

My team just got moved to another group within Go Daddy on Monday. We had put a lot of information up on the old group's SharePoint Wiki and needed to put it somewhere. The new group didn't have a unified Wiki, leaving it up to each team. I hadn't really looked at the Wiki world in a while and I imagined that I'd need to go with something like MediaWiki.

Then I remembered that Jeff Atwood had written favorably about a .NET Wiki called ScrewTurn. A cursory investigation indicated that it was pretty damn awesome!

In no time, I had a solid Wiki system up and running. It's very easy to install and configure and it appears to hold to MediaWiki markup syntax, which is a big plus. I replaced its authentication system with Active Directory integration through an easily-installed plugin—enabling any employee to log in and edit pages.

The hardest part was migrating the content from SharePoint. It was brutal, tedious work but you only have to do it once. If you're an employee and reading this on our network, you're welcome to check out my handiwork. (If you need any help setting up your own ScrewTurn Wiki, let me know.)

[The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of Go Daddy Software, Inc.]

The Fatigue of Ambition

Go Daddy's bringing Merlin Mann out to give a new talk tomorrow and I'm pretty jazzed. You may recall that he came out for an earlier event just this May for his Inbox Zero talk.

I'm excited for this presentation because its subject matter has been on my mind lately. I've been experiencing a debilitating sense of ennui and a lack of motivation. After much introspection and deliberation, I think I've located the source: too many great ideas and a fundamental uncertainty about which is the best course of action.

When I say too many great ideas, I mean it. At this moment, I've got some compelling ideas to contribute to an open-source project I've taken over—I still need to write up a blog entry about that fine mess I got myself into; a book idea that is unique, unprecedented, and possibly the start of an entire franchise—two actually, but the second one is going to require the first to be very successful; an iPhone application that could make me some decent side income; a historical project that could bring me enormous satisfaction; and a raft of business ideas that are all feasible to varying degrees.

In the face of all these nearly-equally viable choices, how do you pick one and set yourself to it? Normally, I'd consider a matrix of factors like which one has the most potential, which one lends itself well to maximizing time with my family, which one fits in with the life I envision for myself, and which one is best suited to my strengths. But there's no clear winner in this regard.

So I stew and dawdle and get distracted easily. That lack of focus makes me upset because that's not me! Any time I start to make some progress on one of these big-ticket ideas, some inner voice nags that another one is a better use of my time. Meanwhile, I'm caught up on my feed reading and on top of Twitter, which makes me even more unsettled because I know that these things are not the best uses of my time right now.

Merlin is not going to tell me anything I don't already know. Heck, I am even familiar with all of the techniques he's listed in his slide deck. But maybe his talk will be rousing enough to jar me from this rut, to just pick one from the many and get things done.

Then again, maybe writing this blog entry itself has provided sufficient impetus.

[The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of Go Daddy Software, Inc.]

Go Go Daddy Dashboard!

Screenshot of the widget

I just deployed my latest effort: the Official GoDaddy.com Domain Search Dashboard Widget. I know, it's not a terribly catchy name but it's quite descriptive. It's a Dashboard widget for Mac OS X that enables you to check domain name availability. It's certainly a variation on a common theme but what can I say? Domain registration is bread and butter.

This widget was a little different than the other ones I've done, however. It's got all the visual flair attendant with Mac OS X, to be sure. The animation took forever to get just right and smooth. It also had to have an update mechanism since it doesn't reside anywhere that we can control. The update process is fairly simple but so is the app itself.

It consumed a lot more time than you'd expect, but I enjoyed it. Well, except for some of the fighting with Dashcode. Oh and that issue I had all yesterday with the little loading spinner: that drove me nuts trying to pin down the cause. (Incidentally, in the open method of the XmlHttpRequest object, if you specify false for the asynchronous parameter, it will not run any code that updates the widget until the response comes back. But only in the Dashboard version of WebKit. Safari works just fine. It was a pain to track down.)

[The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of Go Daddy Software, Inc.]

TechFest 2008

Today was Go Daddy's first annual TechFest, which brought together all of Go Daddy's IT staff from around the nation for a conference. It was a chance to meet the people you might have only ever dealt with via email, IM, or phone. It was held at F1 Race Factory, which we bought out for the whole day. Events took place in its set of meeting rooms as well as a massive air-conditioned tent set up in the parking lot.

The main suite of presentations dealt with the company as a whole: Bob Parsons' candid (and hilarious) biographical sketch and reminiscences of the early days from employees that had been there 5, 9, and 10 years. It is simply astounding how far the company's come from those salad days—it's grown significantly in just the three years I've been there. For the first couple years of its existence, all the employees of Go Daddy worked in a house out in Cave Creek. The old-timers regaled us with tales of servers in the laundry room and concrete pillars erected in front of the garage for insurance reasons so that an errant car wouldn't take out the entire development staff!

I gave a presentation on unit testing and test-driven development to approximately 37 people. (I say "approximately" because that was the attendance figure I had going into the presentation but I didn't actually do a count during.) It was a version of the one I'd given in March to an internal team but all gussied up. By popular request (of those who didn't attend the talk), here's the slide deck. I can put it up because it's entirely meaningless without me flapping my gums up there for an hour.

The set up surrounding the presentation was one disaster after another. I couldn't find my VPN card so I couldn't do a demo using a live connection. Then I made a screencast version of the demo, but the software I used for Windows could only export to a SWF. That meant that I had to open it up in a browser and use the context menu controls of the Flash plugin to navigate the video. My room was designed for 20-25 and didn't have a built-in projector system, which further limited the available seating. I overcame each of these obstacles in turn because I allowed plenty of time to sweat out the details. I can't emphasize enough the need to really explore your presentation environment before your talk; if I had relied on the previous night's once-over, I would've chewed through valuable talk time fretting little hurdles as they arose.

I think the presentation went swimmingly! My boss came in for moral support but left rather quickly when he realized that I had it well under control. I was joking, I was animated, I was lively. I'm really happy with my decision to use rather spartan slides: it prevented me from just reading off them, eliminated reading ahead, and kept the audience guessing as to the images' significance. Further, the audience asked technical, methodological, and insightful questions during the Q&A. That told me that they were engaged with the material, which is exactly what a presenter dreams of. And quite a few stayed 15-20 minutes past my allotted time to go into more detail!

The event closed with Merlin Mann's presentation of Inbox Zero, which was amazing, and then the traditional overdoing of the prizes. I've been doing Inbox Zero for years but I found myself rapt due to his easygoing and quietly-hilarious style. It was worthwhile just to watch his presentation style; I think he made a big impact on the Go Daddy crowd.

Next year's can't come soon enough!

[The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of Go Daddy Software, Inc.]

Three Years of Going Daddy

Today is the third anniversary of working at Go Daddy. In my time there, I've seen it grow from 600 employees to over 1,900. A similar level of growth has also occurred in revenue, domain registrations, and many other measurements. What's really neat is that it still feels like a smaller company to me, even though it's become an Internet powerhouse.

I haven't talked about work lately beyond the actual work itself. Work has been, in a word, splendid! As I mentioned not too long ago, I transferred from the Quick Blogcast team to start a new team that I think is officially called the Gadgets Team. For a while, it was just me and I whipped up an iGoogle gadget that was well-received. My team doubled in size in January with the addition of my colleague Dominic and we've been cranking out code as a team. He's been great to work with: I can assign him some work and know that it's in good hands.

I have never been happier as a developer than I am right now. I've been working on an entry about why I like my job so much but I haven't been able to be sufficiently specific to make it comprehensible. I've got eight projects on my plate that I'm either coding or managing and I can't talk about any of them. I will when I can. Suffice it to say, they're exciting and challenging and engrossing. And they're so varied that I could continue at this rate for years and years without ever getting bored or restless.

Aside from the work, my pay is excellent and the benefits are outstanding. Next week, we're having an offsite technical conference that brings together all the company's IT staff from Denver, Iowa, Gilbert, Tempe, and Scottsdale. I'm presenting on unit testing and test-driven development and we're bringing Merlin Mann in to give his Inbox Zero talk. This is the first of its kind and I've heard that it won't be the last, which is a very promising development.

It's funny how I feel like an old-timer having only been there for three years; I can't imagine what things will look like after another three!

[The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of Go Daddy Software, Inc.]

Talking 'Bout My Integration

I deployed my most recent project at work today. It's a Facebook application that allows Quick Blogcast customers to link their accounts to their Facebook profiles.

I know that bringing a blog into your Facebook profile is nothing new. There are many such applications out there right now that can do that. But I think this Quick Blogcast version is unique in that you can make it so that your friends and visitors never leave Facebook, even to comment! What's more, we leverage nearly all of the Facebook integration points. This allows the Quick Blogcast customer to publicize his or her blog to the fullest extent while still respecting the conventions and norms of the Facebook world. While that may not sound like much, it's been quite a learning experience for me.

For one thing, I had to master the Facebook API. Luckily, I only had to learn it secondhand because I had an excellent framework called Facebook.NET to lean on. After a month or so of experience, I even felt conversant enough to help others and supply patches. In so doing, I apparently really helped the developer of Thugz Passion, a game which I've grown to enjoy.

It was also a chance to get to know memcached better. I used the terrific Enyim.com Memcached framework to interact with a Win32 port of the service. I wish I knew enough C++ to move that project to the current version of the Linux original. I futilely check the danga email archives to see whether anyone's gotten impatient with progress and just did it on their own.

I was (and am) very impressed by memcached, which is an excellent (and free) distributed caching system. ASP.NET is top-notch at scaling but its caching mechanisms (namely, the object bags like Cache, Application, and Session) can easily become bottlenecks after enough usage is thrown at them. I think memcached offers a way out—it's certainly worked wonders in the Linux world.

I affectionately call this integration app Quick FaceBlogBookCast. It cracks me up every time; it's easily the most cumbersome portmanteau I've come across. (I can't believe I forgot the other Facebook app I released today: Domain Center for Facebook! It's a way to spontaneously generate domain name suggestions from the information contained on your Facebook profile. The algorithms right now are pretty coarse, but I plan to refine them each and every release until they're uncannily right some day.)

[The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of Go Daddy Software, Inc.]

The Royal Treatment

Apparently, Prince Andrew is visiting my workplace today. They've cordoned off a huge swath of the parking lot and there's some signs for media parking, so I expect it's going to be a zoo. I'm really not a fan of monarchy, but it's pretty exciting for such a high-profile visit. It sure beats J.D. Hayworth.

[UPDATE (2/14/2008): Here's the definitive article on the matter with a photo of our president looking thoughtful and the prince looking quite princely—at least that's how I'd imagine a prince to look.]

[The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of Go Daddy Software, Inc.]

My New, New Thing

It's done! Today at 12:45 PM, I submitted my latest project to the Google Gadget Directory, marking the final step in the deployment process. It's a Domain Search gadget that's actually quite a powerful little application. What's really great about it is that it marked my first foray into serious test-driven development!

In the past, deadlines and inexperience had always prevented me from doing the kind of layered, thorough unit testing I'd wanted. That little application, actually the server-side piece that's powering it, has 65 unit tests underneath it. It's so refreshing to make changes and see that no tests were broken in the process.

TDD is one of those things best experienced firsthand. Now that I've had a taste, I don't think I'll ever go back. It just makes too much sense: the rigor added is intoxicating. Not literally, but it is self-reinforcing for sure. Anyhow, here's how you can get your own Go Daddy Domain Search Gadget for your iGoogle homepage—until the gadget gets added to the directory officially when I will replace these instructions:

  1. Go to www.google.com/ig/directory.
  2. Click on the "Add feed or gadget" link in the right navigation section.
  3. Type or paste http://gadgets.godaddy.com/Google/domain-search.xml into the text field.
  4. Click OK in the dialog box that comes up.
  5. Click on the "Back to iGoogle home" link right above the iGoogle logo.
  6. You should now see the gadget.

[UPDATE (1/10/2008): I completely forgot that Google has an easier way: Add to Google]

[UPDATE (1/14/2008): It's in the iGoogle Directory now!]

[UPDATE (1/17/2008): I just deployed a revision to it that adds in plain, Candice Michelle, and Dale Earnhardt, Jr. themes. Time to start working on the next version and it's going to be huge. Sorry, that's all you get.]

The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of GoDaddy.com, Inc.

Sweet Release

And now you can see why I haven't been blogging around here all that much. I've been hard at work (really hard at work) getting a new version of Quick Blog out with my colleagues. Our task was to merge the Quick Blog and Quick Podcast products in as seamless a way as possible and I think we did a good job at it. Some might argue that they never should have been separate products in the first place but it made sense to someone somewhere at some time.

My part of the effort was writing the service that would actually convert our podcasting customers into blogging and podcasting customers. Let's just say that it was a very important piece of this whole release and I really pored my heart into getting it right (and fixing it when I didn't get it right and then fixing it again). I'm happy to say that no customer data was lost and no errors came up! That didn't stop the butterflies, though, when it came time to push the figurative button to start it up. It can look great in test and on particular passes at production data, but that moment of truth is very unsettling.

With the new release, I decided to update my blog template and I must say that I love it! If I could get some yellow in it, it would be reminiscent of my original bblog design. I was never very happy with my previous template, but I didn't want to cheat and make my own design. So I waited patiently until the day when we had a template that I liked.

The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of Go Daddy.com Software, Inc.

Revisiting the Past

Today I finally had the chance to revisit the first service I ever wrote. I christened it Pingarooni and it handles all the outgoing trackbacks and pings for Quick Blog. It's been a long time since I've been in a position to re-examine early code done in a state of relative ignorance—I've been coding in ASP.NET for so long that my code is generally something of which I'm quite proud.

But I had never created a Windows service. The only non-Web application I'd ever created was a console application—certainly a world apart. I didn't really know what I was doing so my code evinced a certain textbook formality that subsequent services I wrote had thankfully shed. The flow of it was horrendous and I'm surprised it lasted as long as it did.

Here are the things I learned in revising it:

  • Make your service work on batches at a time. By doing so, you'll be able to see progress and some freak error will only affect a small number of work items.
  • Make the service work on discrete work units so that many instances of the service can be run in parallel.
  • Make the service update the database to report its progress as soon as possible. At the least, it should report every batch if not throughout the batch.
  • Make the service run continuously if possible, stopping only when an OnStop event is raised. If the work load is neverending, there's no sense in pausing between runs.
  • Make the service use plugins along command pattern lines to define its work. If possible, these plugins should be put into a separate assembly or module so that additional plugins can be introduced with a simple restart of the service.

The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of Go Daddy.com Software, Inc.

Job Satisfaction

This entry by Jeff Atwood made me realize why I like working on Quick Blog so much. It's not just that it mirrors my own interests or that it's challenging on a daily basis. The thing that makes it all so wonderful is that people are using it. As Jeff puts it:

A smart software developer realizes that their job is far more than writing code and shipping it; their job is to build software that people will actually want to use.

I'm not turning into some altruist. Be sure that I'm doing what I do because I get paid. But it's enormously satisfying to know that you're helping people find their voice. Every day I see the entry counts grow, the comment counts grow, and the number of fascinating blogs grow. Sure, there are other blogging engines out there—but they're paying me (well, Go Daddy) for mine.

The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of Go Daddy.com Software, Inc.

Respect Your Daddy

The good thing to come out of last night's meeting was a newfound respect for Go Daddy, my employer. Now don't get me wrong, I love my job and think Go Daddy's a great place to work. But the blogosphere has not been kind to Go Daddy.

Since that's where I spend my life, I've acquired a certain tint to how I think the world perceives us. Google is revered, but Go Daddy is often mocked and derided. It always felt like we were regarded as Web 2.0 for beginners. So I had it in my head that we were one of those great but misunderstood companies.

But last night I got to interact with some real people. They couldn't sing the praises of Go Daddy enough. Incredible customer service, excellent product offerings, great value. It was an eye opener.

I never really thought that our 24/7 phone-based customer service was anything special. Or helpful, from some of the escalations I've seen. But thinking about it more, I realized that I, as a developer, only get to respond to incidents where things have gone far wrong or for too long. My time listening in on customer service and sitting with them was very different and I had attributed it to lucking upon the good reps. But I think now that the bad ones that I had encounterd via escalations were the exception.

There's a reason why we're the number one domain registrar and shared hosting provider. There's cheaper companies out there, but they're cheaper in other ways as well. And the barriers to leaving hosts and registrars is quite low. There's got to be some compelling about our offering to grow as spectacularly as we have.

I'm glad that I found it.

[The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of Go Daddy Software, Inc.]

About this Archive

This page is an archive of recent entries in the Go Daddy category.

Getting Things Done is the previous category.

Google is the next category.

Find recent content on the main index or look in the archives to find all content.

Feedback to

Monthly Archives