Software Engineer
Download PDF
Profile
Multi-discipline developer, seeking employment doing interesting things with technology.
I have a wide range of experience in diverse areas of computing.
I enjoy learning new software, techniques, and tools, and applying that knowledge to the development of great software.
Skills
- Traditional Development
- Worked with many different programming languages and technologies, doing both new development and refactoring to improve existing codebases.
- Mobile Development
- Written native iOS and Android apps as well as “hybrid” development using Cordova and Ionic, blending web and native development.
- Build System Automation
- Built out and maintained automated build system tools using Bamboo, Git, and custom scripting, including generation of public Yum and Apt repositories for all branches of development.
- Systems Administration
- Performed a wide range of system administration with Debian, RHEL/CentOS, Mac, HP/UX, Solaris, and more, including installation, upgrades, and configuring web and mail servers, and many other services.
Development
- HTML/XHTML/CSS/SASS
- JavaScript (ES2015, ES2016, TypeScript, Node.js), Babel and Webpack
- Java (OSGi, Karaf, Vaadin)
- Scripting (Perl, Bash/POSIX, some Ruby)
- Make, CMake, Xcode
- Atlassian Bamboo and JIRA (administration and build automation)
- Mac OS X
- CentOS/RHEL/Fedora Core
- Debian/Ubuntu
- Also some experience with other UNIX platforms (HP/UX, Solaris, AIX, OpenBSD, FreeBSD)
Experience
- The OpenNMS Group, Inc. (2007-Present)
-
CIO and Senior Developer
Java and JavaScript programmer at a small, mature, open-source company.
Responsible for helping to develop and maintain OpenNMS, a Java-based network management tool.
- Created a modern mobile client for iOS and Android using Ionic
- Wrote a JavaScript integration library for OpenNMS clients using TypeScript, Babel, Webpack
- Implemented an automated build system for Debian and RPM-based systems:
- Bamboo integration with Git for automated builds on every branch commit
- automatic deployment of RPM and Debian packages to individual repositories for each branch
- a simple CDN for distribution using Squid proxies and Amazon Route 53 for geographical pinning
- Wrote a dynamic map visualization tool for remote pollers using Google Web Toolkit and OpenStreetMap
- Raritan, Inc. (2006-2007)
-
Software Engineer
Perl and Java programmer.
Responsible for developing and maintaining a number of subsystems for the CC-NOC line of network management appliances.
- Automated the CC-NOC build process.
- Updated the appliance software to run on the latest CentOS, including automated custom kickstart distribution.
- Wrote a tool for the generation and consumption of backups of CC-NOC appliances as well as managing upgrades of backup data.
- Fink Project (2001-2014)
-
Project Administrator
Project co-lead for an estimated 80,000-user distribution of open-source software for Mac OS X.
Involved in all major policy decisions, as well as packaging software as a maintainer.
- Did almost the entirety of the initial port of KDE to Mac OS X (using X11, initially, and native Qt/Mac eventually).
- Maintained many high-profile packages in Fink, including PostgreSQL, Mono .Net, and Ruby on Rails.
- Maintained hundreds of other packages, creating patches for Mac OS X, submitting fixes upstream, and creating package definitions for inclusion in the Fink distribution.
- Helped found the Fink Developer Network, a not-for-profit organization designed to aid the Fink project in providing tools and support to the Mac OS X open-source development community.
- Motricity, Inc. (2004-2006)
-
Software Engineer
Perl and Java programmer.
Responsible for developing and maintaining ereader.com, a large-scale mod_perl-based e-commerce site using RHEL, Apache, and mod_perl (HTML::Mason).
- Moved the eReader.com site to a new colocation facility including configuring hardware and software, migration procedures, and developing tools for creating a production environment on new hardware.
- Implementation and aid in design of a Java-based business-logic proxy for handling mailing lists across multiple properties.
- Design and implementation of the Omniture site tracking system for ereader.com, including creating a detailed taxonomy standard to be used across Motricity’s properties.
- Design and implementation of an ONIX import infrastructure for receiving books from publishers and book resellers.
- Oculan Corp. (2000-2004)
-
System Administration and Operational Support
Duties include design, implementation, maintainance, and administration of the source code tree, web, mail, and other infrastructure servers, as well as other office network and system administration.
Primarily involved in scripting and support related to the infrastructure that provides backups, updates, and nightly tasks for Oculan’s line of network management appliances.
- Design and development of a customized Linux distribution for Oculan’s appliances.
- Design and implementation of the OpticNerve build system, using Ant and Java.
- Software for doing an in-place upgrade of the underlying (Linux) operating system on appliances in the field while retaining historical data.
- A system for allowing the customer to initiate a support connection over a secure tunnel back to the appliance for trouble-shooting.
- Tools for backing up, and monitoring remote appliances and notifying customers of potential issues through our support team.
- Design and implementation of a filtering reverse proxy for web access to a custom demo environment using Apache 2.x and mod_perl.
Benjamin Reed — [email protected] — (919) 200-0655