I don’t go through a lot of interviews on the answering side, but I’ve hired enough programmers to have a favorite set of questions to ask others. I figured it’d only be fair to answer some of them myself:
Q: What do you like about databases? |
|
| Database servers are like a little cities: they have businesses (programs), transportation infrastructures (networks), public utilities (storage, backups, etc), and a population of people. Database administration is like what politics should be: managing your resources to provide the best services to your citizens.
Database administration is researching how the resources are currently used - how the disk arrays are set up, how the physical files are laid out, how indexes and stored procedures are utilized, and where the load is. After thorough and careful investigation, it’s easy to see where changes can be made to improve speed and response. Often, improvements can be made without any negative drawbacks, and programmers are pleasantly surprised by how much faster their applications perform. That’s the fun part: getting something for nothing, simply by using resources more effectively. (Well, it’s not technically nothing, because it costs my paycheck!) |
|
Q: You’ve worked with a lot of data warehouses. What’s different about those? |
|
| The difference between a typical data warehouse and a typical database is size, and these kinds of sizes matter a lot. At UniFocus, I managed around 100gb of transactional data spread across several hundred tables. At Southern, one of our warehouses has about 250gb of data, but it’s mostly confined to just a handful of tables with sales & inventory data for a six billion dollar company.
The sales and inventory tables have over a hundred million rows each, which are big numbers for a single Microsoft SQL Server setup without clustering or load balancing. Data warehouses of this size require a finer attention to detail and a subtler way of handling changes. Where a normal database administrator can simply add an index when queries run slow, a data warehouse administrator has to make performance judgements very seriously. There is no room for a “try it and see” attitude at the data warehouse level, because the mere act of adding an index can take the server out of production for several minutes, and can add a gigabyte or more of space. |
|
Q: Tell me about a time when you had a tough challenge. |
|
| I started with Adjoined Consulting in October 2005 on a very challenging project. The client had been struggling to build a data warehouse for the last two years, and when it came time to roll out the finished product, the entire development staff walked out. There were no exit interviews, no documentation left behind. Investigation showed that the warehouse had a ton of problems, wasn’t designed well, and had a lot of missing features.
I was brought in as part of a five-person consulting team to turn the project around and get it out the door in less than six weeks. The project presented plenty of difficulties because the previous staff vanished, so we had nobody we could ask for help. We didn’t even have much buy-in from the client, because the end users didn’t believe we could deliver on such a short deadline, so every question about business rules required a lot of digging in the old source systems. To pull it off, all of us had to go way outside of our subject areas. I had to work closely with both the BusinessObjects developers and the DataStage developers to help both of them get what they needed from the client, from the data, and from each other. Everybody worked together to reverse engineer the old warehouse, find the problem areas, address them, reload the entire warehouse from scratch, and deliver it to the end users complete with documentation. It took long hours, patience, and an eye for detail, but we delivered. The client company was impressed enough to sign on for Adjoined to grow the warehouse further. |
|
Q: What do you bring to the table that other candidates don’t? |
|
| My biggest advantage is my real-world management experience. I got my start in hotels, managing minimum-wage housekeepers and waitresses. If you can keep them happy, keep them trained, and get them to bring their friends in for jobs, then you’ll produce an environment that makes customers happy. After that, managing programmers is a walk in the park.
Another benefit to that is how I see programmers as an expense. Every week, every month, every year, programmers have to produce a clear benefit to the company that pays for their salary. Programmers simply can’t take two weeks to optimize an existing product in order to clean up the code: there has to be a business gain. If that two week coding sprint can reduce operator errors, speed product rampup time, or position the product for easier maintenance, then it’s easier to sell to company management. |
|
Q: Tell me about one of your weaknesses. |
|
| There are a ton of good canned answers to this question, but I’m going to spare you one of those. I groan whenever a candidate gives me one of those, because it tells me that they either interview too often, or they’re not honest enough.
My biggest weakness is that I don’t tolerate programmers and DBA’s that don’t put at least some preliminary research time in before asking a question. Google holds the key to almost everything, and everybody should take thirty seconds to check Google themselves before asking a common programming question. |
|
Q: When you’re having a problem, where do you look for the solution? |
|
| I work with some cutting edge stuff, but still, almost everything I do has been done before, and somebody shared their information on the internet. The challenge is finding the needles in the haystack. Even with Google, it’s harder than it looks.
The key to finding the exact answer you need lies in the ability to hone your search keywords to fit the problem, and I’m extremely good at that. In fact, whenever my coworkers have a problem, regardless of whether it’s a programming language I use, they’ll often ask me for help tracking it down. |
|
Q: What do you look for in a company? |
|
| I look for integrity, honesty, transparency and a sense of humor in the management team. I’m not picky about industries because I find interesting things about every business, and every business faces the same basic challenges. Everybody wants to increase sales, reduce expenses, and satisfy the customers and employees, and data warehouses are part of the solution. | |
Q: Where do you want to be in five years? |
|
| Managing a group of database administrators and programmers. I enjoy metrics (whether they’re human performance or system performance), project management, and database design. | |
Q: How would you describe yourself as a person? |
|
| Outgoing, patient, very quick-thinking, and funny as all hell. You can pretty much gather most of that from perusing my site.
I don’t think of myself as a hard-core geek because I don’t do things like assemble Linux distributions. I’m pretty geeky where it’s convenient and enjoyable. For example, I’ve hacked my DirecTivo with an extra hard drive and a custom Linux distribution so that it can access music stored on my computer. Most of the people I know don’t own Tivos, let alone rebuild them, so there’s some geekiness in me. |
|
Q: Are you a self-starter? Why? |
|
| I telecommuted for five years straight. Only self-starters succeed at long-term telecommuting, and my supervisors considered my telecommuting a success. I’ve seen a lot of people try telecommuting only to fail because they’re distracted by the TV, by their house chores, or just plain goofing off. I love what I do, I enjoy starting and finishing projects, and I’ve had quite a good time telecommuting. My managers don’t have to motivate me to get things done. | |
Q: Where did you go to college? |
|
| After going to high school in West Michigan, where the snow piles up all winter long, I wanted to go far away from ice scrapers. As a National Merit Finalist, I was able to pick pretty much any college, and I chose the University of Houston on the strength of their National Merit Finalist programs. The weather didn’t hurt either.
Three semesters in, I couldn’t figure out what I wanted to do, but I knew I didn’t want to be an accountant (my originally chosen major). I fell in love, and picked the woman over college. I dropped out and pursued a career in hotels, the one thing I’d done before. I ended up moving up the company ladder rather quickly, making my way to hotel general manager in a couple of years. That got old when I realized I depended on an army of minimum-wage workers, and when they didn’t show up, I was the guy making beds and cooking omelettes. I decided to keep going up the ladder, and found myself in the corporate office of a hotel management company doing budget analysis and network administration. The computer part of it fascinated me more, so I aimed my career in that direction. Do I regret not finishing college? Only when the piece of paper has held me back from getting my foot in the door at a few really interesting companies. Otherwise, I’ve seen kids fresh out of school with college degrees in comp sci, and I’ve seen the mistakes they’ve made that roughly match up with the mistakes I made 6-7 years ago. I don’t belittle a college education by any means, but I haven’t seen anything that’s made me say, “I gotta go back to college and pick up that skill.” Rather, once you’re in the workforce, there are faster ways of picking up a specific tech skill when you need it. |
|
Q: What things give you the most satisfaction at work? |
|
| I love mentoring a junior programmer: teaching them the ropes, showing them how to get something done, and seeing that moment where they say, “Ahhh, so that’s how it works!” A rising tide lifts all boats, and the only way to really get ahead in a company is to foster the people around you so they all become more productive. | |
Q: Talk about a time when you had to make a tough decision. |
|
| Boy, have I got a doozy: we had to choose between migrating our development to .NET versus J2EE. With all the platform zealots on both sides, and the relative youth of both platforms at the time, it was really hard to find unbiased and insightful documentation on the advantages of each platform. We talked to experts on both systems, trying to see a silver bullet. Sure, both have their own advantages, but neither one really applied to our particular product line.
The more we looked, the more even the race appeared, but we couldn’t wait forever, and I had to make a recommendation. We settled on Java because we couldn’t find a decisive advantage on either side, and because we had more internal Java resources than .NET resources. I personally preferred .NET, but even I had to recommend the Java route because of our other product lines. It was a tough decision simply because we couldn’t find a magic answer, something black-and-white that indicated a particular technology would have been a better choice for our organization. Neither choice seemed like a clear-cut winner, but on the other side, neither seemed like a clear-cut loser. |
|
Q: How would you describe your management style? |
|
| A good systems manager takes personal responsibility for decisions and deadlines. I believe that a leader isn’t any better than the staff, and isn’t necessarily any better at programming than any other member of the staff, but has the experience and judgement to make the right decisions for the team and the company. A good leader surrounds themselves with good people, takes their advice, acts on it, and takes accountability for the products that the group produces. | |
Q: What’s with these cartoon icons? |
|
| No, I’m definitely not an artist - I can’t draw a stick figure without a ruler. I really admire people with creativity and talent, and I wouldn’t even try to play around with that.
Having been on the web for a long, long, long time, I’ve accumulated a few cool things, including a set of custom avatar icons from JinWicked. They’re absolutely outstanding for use in instant messenger programs, because you can convey emotion without resorting to emoticons. I highly recommend everybody get themselves a set from their favorite artist, and if you like mine, check with Ms. Wicked for pricing. |
|








