Why You Should Hire Me


You are here: Andrew Ho > Work > Hire Me

I work in software development, with a focus on developing scalable and robust server-side web infrastructure. I now have almost a decade of web programming experience. Here's why you should hire me to work for your company as a software developer. If you'd prefer a more formal view, you can download my résumé at http://www.zeuscat.com/andrew/work/resume/.

This is a more verbose, but friendlier description of who I am, and specifically why I think I'm a good engineer to hire and work with.

I know my stuff.

I'm a good programmer. I'm an expert at Perl—I can spit out regexes, I use map and grep, and I know what a Schwartzian transform is. My code is compact, clean, and readable by non-Perl programmers. I have modules on the CPAN. I'm multilingual; aside from Perl, C, and Scheme, I've also done Java, Tcl, Visual Basic, PL/SQL, and Unix shell scripting. I've dabbled with Python, Ruby, OCAML, and Lua, and I used to be a good RPN programmer.

I know web technologies. I've diagnosed obscure problems with HTTP compliance, and I know my way around RFC 2616. I've written myriad HTTP clients, servers, and proxies, and I know how hard it is to do caching correctly. I'm familiar with load balancing, failover, and scaling strategies. I have an opinion on the value of server side statelessness. I'm an expert with mod_perl and, at times, a regular poster on the mod_perl mailing list. I've built and configured Apache more times than I can remember, and I've found and fixed bugs in the Apache source code.

I'm experienced with data manipulation. I've worked with Oracle, MySQL, and PostgreSQL as a developer and a basic DBA. I know my way around BerkeleyDB, SQLite, and flatfile formats. I've done a lot of work with data in XML, and I enjoy writing stream based parsers. I can write XSLT stylesheets and XML Schemas. I've programmed with XML-RPC, SOAP, and other forms of XML web services, and I also know the value of simple CSV files or key/value stores.

I get things done.

I've architected and implemented large scale systems. I've designed and built data stores optimized for different tasks, intended to scale to millions of end users, including a geographically redundant, clustered, multi-master data store with no single points of failure. I've helped in the architecture of systems involving over a thousand servers, and I've led projects that integrated with large client middleware systems.

I communicate well. I'm not a scary, antisocial engineer; I've met with and won over difficult customers and co-workers. I'm great at drawing diagrams of large systems. I've given presentations to both technical and nontechnical audiences, done informal pair programming, and reviewed a lot of code. I pay attention to grammar and spelling in my e-mails, and I'm diplomatic when dealing with difficult situations. I like to write, and I strive for well documented, expressive, and elegant code.

I've shipped software. I've dealt effectively with schedule and requirement fluctuations. I've worked with operations teams to deploy infrastructure involving hundreds of interdependent systems without any externally visible downtimes.

I can play many different roles. I'm no full-time manager, but I've mentored other engineers and managed projects as a technical lead. Like many engineers, I dislike making schedules, but I'm no stranger to setting milestones and helping flesh out project plans. I regularly read Joel on Software. I've interviewed hundreds of engineering candidates at my current job. I've been through layoffs and reorgs, and moved through a lot of different teams.

I'm a nice guy.

People like working with me. In life and at work, I'm friendly, mellow, calm under stress, and really hard to offend. I am explicitly non-religious about languages, editors, and indentation styles. I hang out with current and former co-workers, and we don't just talk about work. I don't have many odd hangups or bizarre pet peeves. I'm enthusiastic and passionate about interesting projects and doing things the Right Way.


Convinced? Or need more convincing? E-mail me at andrew@zeuscat.com.
Or, find out more about me by reading my personal web page.



Andrew Ho (andrew@zeuscat.com)