Aron D. Nopanen
707 484 6165

Objective

Create great software that makes users happy. Whittle away at complexity to leave simplicity that seems obvious in retrospect.

Overview

My educational background in computer engineering has equipped me to program and debug FPGAs and write DSP code. I've worked on hardware drivers, through all layers of business logic and typical server-side software, and up to the web UI work.

Most of my work has been in Java, C, and C++, but I enjoy learning languages to get a view of their various worldviews. Spending a bit of time with Clojure and Haskell has made me a better Java programmer.

I like variety in work as well as languages and can find interesting challenges in most domains. One common thread is a desire to create useful and reliable abstractions to help other people build things faster and better — platforms and infrastructure that people are happy to use. The sort of stuff where the highest compliment is nobody thinking about it because it just does what it's supposed to do.

Experience

Futrix/HDMS

02/2009 - Present
Wellington, New Zealand and Santa Rosa, CA
Advanced Software Development Engineer

Leading a small team to develop a web-based healthcare business intelligence tool.

While at Futrix and — post-acquisition — HDMS, I've been a core member and, more recently, lead of an agile, results-focused development team. We develop the Java-based midtier and web UI of a healthcare-focused business intelligence tool, and collaborate closely with the team implementing the product's query tier.

I've developed features working alone and with others, collaborated closely with Product to scope possibilities and develop requirements, provided engineering-level tech support, brainstormed to provide solutions to the day's urgent business requirement, mentored less-experienced developers, and guided architectural decisions.

Recently, I've been a key driver of efforts to modernize the mature system, with goals of improving performance and ensuring the system can support the company's needs in the coming years.

I've focused on infrastructure issues, owned the Spring Security-based authentication stack, and become the team's "security guy". I'm frequently called on to triage issues, and enjoy the challenge of efficiently diagnosing root cause.

While most of my days were spent in the Java world, I'm always happy to jump in anywhere, including the SAS-based query tier and the UI tier using technologies like Vaadin, Spring MVC, React, and AngularJS.

Alcatel-Lucent

11/2007 - 02/2009
Wellington, New Zealand
FSS Developer

Worked on team responsible for defining and integrating telephony services provisioning solutions for a major telephony operator. Product was responsible for orchestrating complex communications to multiple network devices using communications protocols such as SOAP. Major components of the solution included Oracle database and PL/SQL, Weblogic application server, and Axiom AXiOSS service fulfillment platform.

Gained understanding of IMS telephony network architecture by interacting with various network elements.

Worked to develop PL/SQL code code quality checker (à la C lint or Java checkstyle), using ANTLR parser-generator tool.

Worked on Java-based web application to drive the SOAP-based PSA interface, for use as internal development and test tool. Technologies used include JavaServer Faces/JSP, Apache Axis, and xmlbeans.

02/2003 - 07/2007
Petaluma, CA
Senior Software Engineer

Developed software for a Java-based network management application as part of a highly-dynamic, internationally-distributed, and agile development team. Quickly learning technologies such as the JBoss Application Server, Eclipse RCP, Spring, and Hibernate, I was able to contribute to the complex core of the product within a short period of time.

Independently learning about Subversion and the Maven build tool, I successfully brought order and speed to what was formerly a chaotic and highly-time-consuming release process.

Served as software technical lead for a major embedded development project; the product was an extension to a legacy telecommunications platform which bridged the gap between the TDM and packet domains using CES.

Developed software for a new embedded telecommunications platform. Owned a subsystem responsible for management of and communication to peripheral equipment. A notable challenge was the need to accommodate various idiosyncrasies of legacy hardware and software that could not be changed.

Implemented a data redundancy mechanism meeting requirements of a highly-available system.

Increased my knowledge of the vxWorks RTOS, Motorola PPC and 68K, Motorola QUICC, Flash device drivers, HDLC, IP protocols, XML/XSL and ORBs.

Westwave Communications

06/2000 - 12/2002
Santa Rosa, CA
Software Engineer

Modified an existing Digital Loop Carrier to enable its operation as a media gateway, allowing for dynamic connection management by an external Media Gateway Controller.

Implemented an SNMP agent interfacing on the back end to a relational database.

Designed and implemented an automated software distribution subsystem to allow for easy field upgrade of distributed hardware components.

Gained knowledge of Class 5 switching concepts.

Alcatel USA

07/1997 - 12/1999
Petaluma, CA
Co-op Student/Software Engineer

Gained knowledge of Digital Loop Carriers and associated communications topics. Areas studied include BRI ISDN, SONET, TR-008, GR-303, TR-057, and Transaction Language 1 (TL1).

Projects included strengthening of the top-level equipment protection switching code, work with provisioning of SONET cross-connections, creation of a system alarm log, general OAM&P work, customer field response, and offsite interoperability testing.

DSC Communications Corporation

07/1996 - 03/1997
Plano, TX
Co-op Student/Software Engineer

Worked on call processing software for a large tandem switch. Gained knowledge of call routing methodologies, SS7, and Dynamically Controlled Routing (DCR).

Education

Georgia Tech

09/1995 - 05/2000
Atlanta, GA
Bachelor of Computer Engineering

Graduated with Highest Honors, GPA 3.85/4.00

Participant in the Co-operative Education program.

Specialized in Systems and Architectures, providing a strong background in complex topics of system software design, as well as a background in hardware design.

Technology

An incomplete laundry list of stuff I've worked with.

Languages and Runtime Environments

  • Java
  • C++
  • C
  • JavaScript
  • TypeScript
  • Clojure/ClojureScript
  • Objective-C
  • Perl
  • XML
  • XSL
  • XSD
  • Haskell
  • Rust
  • Python
  • Ruby
  • Go
  • Groovy
  • Oracle PL/SQL
  • SQL
  • C#
  • .NET
  • PHP

Server Side

  • Spring Framework
  • Spring MVC
  • Spring Security
  • Spring Boot
  • Spring Data
  • JPA/Hibernate
  • ActiveMQ
  • RabbitMQ

Web Frontend

  • Vaadin
  • React
  • AngularJS
  • HTML
  • CSS
  • GWT
  • JSP
  • JSF
  • Apache Tapestry

Build and SCM Environment

Databases

  • MySQL
  • PostgreSQL
  • Apache Derby
  • Oracle database
  • MongoDB
  • Teradata
  • Microsoft SQL Server

Deployment

  • Docker
  • AWS
  • DigitalOcean
  • Apache
  • Tomcat