Objectives
I've spent a lot of time creating elegant, powerful tools and frameworks that have enabled hundreds of other developers to create (and maintain!)
terrific applications. I'm looking to join a team where I can learn as well as teach, stretch my boundaries, and create something amazing!
Skills
Languages
-
Programming: Java, JavaScript, CoffeeScript,
Clojure, Groovy, Ruby, Objective-C, Lua, Python, PL/1
- User Interface: HTML, XML, CSS, JSON, XSL, JSP
- Relational Database: SQL, Hibernate Query Language
- Other Database: MongoDB, Riak
Frameworks and Technologies
- J2EE: Servlets, Enterprise JavaBeans, JDBC, JMS, JAXP, JavaMail
- Node.js: Express, Mongoose, Connect, Passport
- Web Frameworks: Tapestry, Struts, Jade
- Client Frameworks: Prototype, Scriptaculous, jQuery, ExtJS, Underscore.js,
Backbone.js, Twitter Bootstrap
- Testing: Geb, Spock, Selenium, JUnit, TestNG, EasyMock
- Utilities: Jakarta Commons, Javassist, ASM, Log4J, SLF4J
- Build Tools: Gradle, Ant, Maven, GNU Make
- Source Code Management: Git, CVS, Subversion
- IDEs: Eclipse, Emacs, IntelliJ
Consulting Skills
- Framework Design: converting domain knowledge into reusable code
- Full Stack Thinking: can appreciate applications from the user's perspective, all the way down to low-level code
- Mentoring: sharing my experience in a classroom setting, or less formally
- Writing: published author, expert speaker, good at distilling complex information
- Gets Things Done: pragmatic about priorities and deliverables
Full resume available for download (PDF).