Principal Software Engineer Resume
Billerica, MA
SUMMARY:
- Adept at Object Oriented programming using many different programming languages.
- Also adept at creating mid - to- large scale multitier applications and SOA (Service Oriented Architecture) based systems.
- Extremely knowledgeable in the area of component technologies, including COM, CORBA, Javabeans, Enterprise Javabeans, and other J2EE technologies.
- An expert in OOA/OOD, Design Patterns, and round- trip engineering.
- An experienced mentor capable of leading teams of engineers and increasing their competencies.
TECHNICAL SKILLS:
Programming Languages: Java, Action script, C#, C++, C, Groovy, Javascript, SQL, HTML, Prolog, PHP, Pascal
Technologies: OSGi, Spring Framework, Enterprise Java beans (1.1 through 3.1), AOP, Flex, XML, XSLT, Voice XML, WAP/WML, JDBC, Struts, Java Servlets, JSP, LDAP, Java Messaging Service, .NET, ASP.NET
Confidential Technologies: Ozone Widget Framework, JQuery, Flex, .NET WinForms, Java Swing, Java AWT, Win32, Motif, X- Windows
Tools: Eclipse, WSAD, NetBeans, AspectJ, Visual Studio 2010, Ant, Oracle Web logic Server, IBM Web sphere, Magic Draw, MQ Series
Databases: Oracle 11g, MySQL, Derby, Hypersonic, Sybase, Postgres, Microsoft Access
Operating Systems: All Windows Platforms (Win7/Vista/XP/2000, etc), UNIX (Sun Solaris, HPUX and Linux), Mac OS (10.x)
PROFESSIONAL EXPERIENCE:
Confidential, Billerica, MA
Principal Software Engineer
Responsibilities:
- Development duties include the development of a Cloud- based application that allowed control of security cameras at multiple sites. Participated in the architecture and design of the overall system, and also acted as an individual contributor developing several of the components used by the application.
- Produced an OSGi- based Gateway system for the initial version of the application, which performed discovery of cameras using WS- Discovery. Utilized the Onvif standard APIs for gathering information about the cameras and configuring them. Saved the company a significant amount of money since prior to my being hired they were paying a company for a camera- control system, which I replaced using a freeware OSGi framework (Apache Felix).
- The latest version of our SaaS system uses a micro services architecture. Designed and implemented several services that coordinated with others created by co- workers. Services were coordinated and orchestrated using RESTful interfaces. Several of the services handled video streaming data using Web sockets.
- Our services were implemented in Java, C# (using Mono), and C++. All services were placed in Docker containers that ran on CoreOS Virtual Machines. The Docker images used were based on CentOS 7.
Confidential, Albany, NY
Contractor/Senior Engineer
Responsibilities:
- Duties included the development of software that is used to manage claims for Medicare benefits. Consulted with customers and other developers on requirements to manage claims in Medicare Part A and Part B. Also worked on the other Medicare- related functions. Developed solutions based on the requirements using Java, Javascript, and .NET components.
- Produced code for an application called the Checklist Designer. The Checklist Designer is an application that generates “checklists” for hospital administrators. These checklists are templates for web pages that ask questions about Medicare claims. They also help administrators decide whether the claim will be accepted or denied. If the claim is denied, the checklist pages generate and display information on the reason for the denial.
- The Checklist Designer allows non- technical people to design these web pages, create the questions to be asked, and manage the answers and any associated denials.
Confidential, Burlington, MA
Software Consultant/Contractor
Responsibilities:
- Implemented a security “bridge” to be used by the DIB to enable the implementation of different Authentication/Authorization systems on the DIB. This bridge is necessary because different branches of the Military utilize different security models, and the DIB must be made compatible with all of them. The security bridge is implemented using Aspect Oriented Programming (AOP), and provides a pluggable interface in order to allow connections with different security systems.
- Created a software library that enables an application to send SOAP information over a RESTful service. This system works by translating SOAP envelopes into JSON prior to sending it. This library was necessary in order to integrate RESTful services used by the U. S. Army into a form that could be used by SOAP- based services. Translated SOAP envelopes are received by a RESTful function (implemented using JAX-RS), and translated back into XML. The envelopes are then sent directly to SOAP services.
Confidential, Hopkinton, MA
Software Consultant/Contractor
Responsibilities:
- Consulted with the Development Planning group, gathering requirements and determining architectures for software that will be used by the Confidential ’s Cyber Security group. Am working to assist the Confidential in the creation of a services platform that makes heavy use of in a secure Cloud environment.
- Created several “viewport” components for smartphones that worked with the dynamic SOA described below. These components were Android based and utilized the RESTful services that the SOA offered. NOTE: the components were full Android applications (not web applications) and were implemented first for Android 2.3 (Gingerbread), but were later ported to Android 3 (Honeycomb).
- Created the Air Resource Enterprise System (ARES), a dynamic SOA (Service Oriented Architecture) stack which included all basic components. The SOA was implemented using OSGi technology, and provided the ability to dynamically add or remove components, the ability to utilize any security model, and several “presentation services” which were used in a User Defined Operational Picture (UDOP). The security bridge was implemented using Aspect Oriented Programming, and many of the services were implemented using the Spring Framework. Database access was implemented using an API layer that utilized the Hibernate framework, LDAP, and several NoSQL databases.
- Provided consulting and assistance in the creation of the NGAP system. NGAP is a Service Oriented Architecture used for integrating targeting services, weather gathering services, and federated databases. Consulted in the creation of the architecture and high- level design for NGAP. Mentored and trained group members in the use of JEE 6 technologies for the creation of NGAP’s services. Assisted in the creation of Rich Internet Applications for NGAP’s web applications and JSR- 286 Portlets. Designed and implemented several middleware components. Implemented ESB “actions” for the integration of web services into NGAP. NGAP was deployed on the JBoss Enterprise platform.
- Designed and created the Data Translation Layer (DTL), a lightweight, Java- based component used for the integration of otherwise incompatible remote services. The DTL makes heavy use of both SOAP and REST- based web services and translates the data received by those web services into objects that are consumed by standalone and web applications. The DTL is currently part of a test harness that uses and validates several standard services including SMARTS, NetIQ, and TBMCS.
- Assisted in the creation of components for the EMPIRE-A (TEMPAL) project, which was a mission planning application developed for use in Air Operation Centers (AOCs). Created a User Interface component using Javascript which generated timelines for visualizing air operations. The components generated were implemented using Javascript and ASP.NET. Data acquisition was achieved using LINQ.
Confidential, Woburn, MA
Independent Software Consultant
Responsibilities:
- Architected, designed, and implemented a video library system that enables users to upload, approve, and view videos.
- This system is composed of three web applications: a video viewer that allows users to select and view videos, a video manager which administrators use to upload videos, categorize them, and (when appropriate) approve them for viewing, and an analytics display application which displays statistics on the videos.
- All front- ends are Rich Internet Applications (RIAs) which are implemented using Flex 3.0 with Action script 3.0 exclusively.
- The front ends utilize a variety of REST- Web services that are offered by a JEE- based back end.
- The back end is composed of different components whose services are implemented using JAX-RS.
- The security services that protect the applications are Axis- based services that are offered by a security component hosted on another machine.
- The database used by the security component is a MySQL database. The security module used Hibernate in its first version of its DAO handler, but was changed to use the JPA in a later version.
Confidential, Needham, MA
Consulting Engineer
Responsibilities:
- Limited information provided regarding details of this project due to Confidential and other restrictions.
- Responsibilities included the design and implementation of components to be used in a PKI system developed for a government agency.
- This system provides certificate management services to a large SOA network. The system runs on multiple platforms and uses JEE technologies.
Confidential, Lexington, MA
Consulting Engineer/Architect
Responsibilities:
- Architected, designed, and built the Confidential which implements an abstract but fully functional message bus. The Confidential is capable of sending and receiving messages over multiple protocols, including SOAP- based (NCES, both ECB and MSP), over JMS (Java Messaging Service) and WS- compliant protocols. The Confidential is currently being used by different organizations for the collaboration/coordination of services in the Space Situational Awareness, Domain Awareness, and Missile Defense communities.
- Built components for the DSA (Distributed Systems Architecture) Project, including a Swing- based management interface (which used the Naked Objects paradigm), a discovery system based on the Bonjour (DNS-SD) protocols, and several web services that provided interfaces into a Federated Search system. The Federated Search system consisted of several different types of databases (PostgreSQL, MySQL, and Oracle), that were joined by a communication system that shared information over TCP/IP and XMPP. Built some parts of the communication system for the databases using the Java NIO libraries.
- Implemented a DNS- SD based system for the DSA project. This system was implemented in the C/C++ language and ran on multiple platforms (Linux, Windows, and Mac- OS). It worked with the Java- based parts through the use of JNI (Java Native Interface).
Confidential, Merrimack, NH
Consulting Engineer
Responsibilities:
- Designed and implemented a portal that integrated several existing applications, including several of Fidelity’s MAUI- related applications. This portal was initially a Websphere portal, though a later version was implemented using Jetspeed 2.
- Made enhancements to current web applications in Fidelity’s MAUI Portal. Enhancements include the introduction of AJAX- based scripting to dynamic web pages, introducing Tiles as the page layout system, introducing Hibernate on the persistence layer for object- relational mapping, and re- implementing parts of the business layer so that they conform to a more component- based design (which, in turn, can be reused in the new applications to build a more service- oriented system).
- Trained several coworkers in the use of more up- to- date technologies, defined an improved development and test environment for the group (which was used in all current and future development), and analyzing all aspects of our existing applications in order to determine which parts, once refactored, could be used in our new development.
Confidential, Manchester, NH
Consulting Engineer/Architect
Responsibilities:
- Designed and completely implemented several web applications which were used by Confidential customers to input personal and health information and to select different kinds of health coverage. These applications had front- ends implemented using Tiles, Struts, and the JSF (Javaserver Faces). The middle tier was composed of several objects which use XML documents (and some XSLT) to dynamically generate health and insurance- related questions for a user (and process the user’s answers). The back- end uses Hibernate to map some objects to a DB2 database, and uses Spring JDBC to connect to a Teradata data warehouse.
- Acted as a consultant, training teammates in Java and J2EE programming. Designed and taught several “courses” that expanded the group’s expertise, changing them from data miners to Java/J2EE programmers. These courses were based on Java certification training requirements and included basic Java programming, Servlet/JSP programming,, JDBC programming, and basic EJB programming and deployment (in a Websphere environment).
- Created a generic architecture and framework for use in the creation of all web applications developed in Confidential ’s New Hampshire location. This architecture incorporated several existing frameworks (including Struts, JSF, Hibernate, and Spring) . The framework consisted of several libraries that implemented several J2EE design patterns (for those situations where EJBs and Web Services are required), utilized AOP for logging and security, and provided the following SOA- related functionality:
- Exposed several EJB- based interfaces as Web Services, enabling them to be used as infrastructure for web pages that input health information (they received the information and stored it into a local database).
- Designed and implemented a simple messaging service which provided “event- driven” functionality for placing records of local database changes into Confidential ’s data warehouse.
Confidential, Boston, MA
Senior Engineer/Consultant
Responsibilities:
- Designed and implemented several applications for Confidential ’s data management system, including a servlet that received monitoring events from other web applications, a component which received and processed XML documents containing customer information, and several EJBs (which, in turn, were offered as web services) that analyzed data about Confidential ’s customers.
- Worked with several architects at Confidential to develop an overall strategy for developing several web services whose purpose was to process XML documents and to place their data in a form useable by Swing- based and web- based client applications.
Confidential, Quincy, MA
Senior Engineer/Consultant
Responsibilities:
- Implemented an “Authentication/Authorization Component” which handles all of the Business Partners Application’s security needs, including signing in, dynamic displaying of links on different pages (based on user access permissions), and the use of security- specific logic (such as determining whether or not a password expires or if a user logs in for the first time). This component has been adopted for use by all applications in Confidential ’s eSuite.
- Refactored several existing Confidential applications so that much of their business logic can be reused in eSuite. For example, logic for handling outside agencies has been re- arranged from residing in several JSPs and Servlets to residing in a single EJB which will provide Web Services for use by other applications within eSuite.
- Developed a generic interface for sending messages from different systems into the iHub system. This interface receives requests for services offered through iHub, transforms them into XML format, and routes the request to the appropriate endpoint within the iHub. Since iHub is based on sonic technology, the generic interface makes heavy use of JMS in communicating with the iHub.
Confidential, Southborough, MA
Senior Engineer/Consultant
Responsibilities:
- Worked on the Confidential Jr, a storage management system that combines embedded C++- based software (implemented using Windows CE) with Java J2EE and Swing- based management interfaces.
- Responsibilities include the implementation of the management interfaces, their integration with the embedded software, and working with the testing organization to eliminate any bugs found in the embedded code.
Confidential, Marlborough, MA
Technical Lead/Architect
Responsibilities:
- Lead a team of engineers in the development of Learning Synergy, a web portal application that performs course and student management for school systems.
- This application is J2EE based and runs under Weblogic Server.
- The Learning Synergy application enables teachers and school administrators to manage classrooms, design and build courses, assess student performance, and (where necessary) to design and implement special education plans for those students.
- Responsibilities included architecting and designing the Individual Literacy Plan (ILP) subsystem, participating in its implementation, and providing technical leadership and training for other members of the team.
Confidential
Freelance Software Developer
Responsibilities:
- Responsibilities included the architecture, design, and implementation of a Web- based system for assisting technical recruiters.
- Gathered requirements for the application from recruiters, created prototype user interfaces for evaluation, and implemented the system as hybrid Web and Swing applications that in corporate various J2EE and Confidential technologies to provide distributed services.
- The web components of these projects are deployed using Apache Tomcat 4.0 and JBoss 3.0 Application Server. The Swing components are implemented using the Javabeans component model, have standardized interfaces, and can be dynamically gathered and loaded using custom servlets and class loaders.