This resume makes use of print-specific styles, so it will print nicely.
Josh Nichols
Goals
- To work in an agile environment building web applications.
- To assist with gathering of requirements and creation of specifications.
- To collaborate with users to improve the user experience.
- To further expertise through publishing articles, writing open source software, and attending and speaking at technology conferences.
Skills
- Programming Languages
-
- Ruby
- Java
- Groovy
- JavaScript
- Bash
- View Languages
-
- HTML
- XML
- CSS
- RHTML
- HAML
- JSP
- Testing
- Tools
- Deployment
- Web Frameworks
-
- Stripes
- Tapestry
- Ruby on Rails
- MochiKit
- Yahoo UI Library
- AJAX
- Databases
- Operating Systems
-
- Gentoo Linux
- Windows XP
- Mac OS X
- Agile practices
-
- Daily standup meetings
- Pair programming
- Short time-boxed iterations
- Regular code reviews
- Emphasis on automated testing
- Continuous integration
Experience
Technical Pickles
Developer and Blogger, July 2007 through Present
- Built and now maintains a blog using Ruby on Rails
- Posts semi-regular posts on software engineering topics
- Manages and deploys to a VPS running Gentoo Linux, Apache, and MySQL
- Uses Google Analytics and FeedBurner to analyze traffic, to determine what type of posts are most popular
Broad Institute, Cambridge, MA
Software Engineer, June 2007 through Present
- Designed and implemented a web application for managing chemical biology research
- Worked on a team of 8 developers
- Collaborated with chemists and chemical screeners to determine requirements and to improve user experience
-
Evaluated, implemented, and embraced new technologies to improve product quality, developer productivity, and developer sanity
- Utilize CSS and divs instead of tables to improve maintainability of markup
- Yahoo UI Library for its CSS and JavaScript widgets
- Generic DAO superclass to eliminate redundant code between DAOs and to provide a consistent API
- Selenium, HtmlUnit, and JWebUnit for automated web testing
- Acegi Security for supporting authentication and authorization
- Extend Acegi Security to support NIS servers
- Created a framework for more easily unit test Stripes ActionBeans
- Used MochiKit for AJAX and advanced JavaScript to improve user experience
-
Presented technical talks to the Broad developer community
- Java on Gentoo Linux
- You, Me, and Acegi
Gentoo Linux
Gentoo Public Relations Project, January 2008 through Present
- Drafts announcements for Gentoo's front page
- Researches and implements changes to improve community relations, openness, and transparency
- Responds to PR email queries
- Documents best practices for the project, such as for writing accessible announcements
Gentoo Ruby Project, December 2006 through Present
- Provide online support for uses on the #gentoo-ruby IRC channel
- Triage and resolve Ruby bugs filed with Gentoo's Bugzilla
- Maintain Ruby packages including, but not limited to: Rails, Capistrano, Vlad the Deployer, RSpec, test/spec
Gentoo Java Project Lead, January 2006 through June 2007
- Oversaw recruitment and training of potential developers
- Established and organized regular project meetings
- Collaborated with other open source leaders to promote and facility Linux as a Java platform
Gentoo Java Project Developer, Spring 2005 through June 2007
- Worked towards improving Gentoo Linux as a Java platform
- Worked online support for users on the #gentoo-java IRC channel and gentoo-java mailing
- Triaged and resolved Java bugs filed with Gentoo's Bugzilla
- Contributed up bug fixes and enhancements to upstream projects
- Maintained tools for supporting and configuring a Java environment
- Documented various aspects of the project, including end-user documentation and development documentation
- Maintained Java packages, including, but not limited to: Eclipse, Groovy, JRuby, Maven, Ant, Spring, Hibernate, Castor
R. R. Donnelly (formerly Banta Internet Solutions), Cambridge, MA
Software Engineer, August 2005 through June 2007
- Developed and maintained web-based CMSs and marketing tools
- Collaborated with the architect and senior engineers for project planning and high level design
-
Evaluated, implemented, and embraced new technologies to improve product quality, developer productivity, and developer sanity
- Maven for build and project management
- Eclipse as a development platform
- Spring as enterprise glue and supporting library
- Continuum for continuous integration testing
- Trac for providing a front end to subversion, a Wiki, a issue tracker, and a timeline view
- Basecamp for tracking milestones, to-do lists
- Utilize CSS and divs instead of tables to improve maintainability of markup
Scientific Computation Research Center, RPI, Troy, NY
Assistant System Administrator, Fall 2001 through Spring 2005
- Supported approximately 30 workstations, 20 servers, and 4 clusters.
- Compiled, configured, and installed various open source products for Linux, Solaris and IRIX.
- Worked towards improving the network's infrastructure to facilitate the administration of the network.
- Configured and maintained several network services including: IMAP, SMTP, mailing list, web hosting, network monitoring, centralized logging, and automated installations.
Education
Rensselaer Polytechnic Institute: Troy, NY
Dual B.S. Computer Science and Psychology May 2005
Cumulative GPA: 3.13/4.0 Dean's List