Senior Software Engineer Resume
Rancho Cordova, CA
SUMMARY
- Senior Java/JavaScript Developer with over 20 years of experience in Information Technology. Strong expertise in software architecture, design, and implementation.
- Solid experience in REST and JAX - WS web services, distributed systems, and application design. Key player in the design, implementation and production of applications and services.
TECHNICAL SKILLS
Operating Systems: Unix, Windows
Programming Languages: Java, JavaScript, AWS S3, DynamoDB, Spring Boot, Angular, JBoss, ExtJS, SQL, XML Schema, JSON, UML, SOAP, WSDL.
Tools: Eclipse, NetBeans, IntelliJ, WebStorm, JBuilder, JDeveloper, Git, CVS, SVN, RCS, Squirrel, ReqPro, InstallAnywhere, Rational Rose, ClearCase, Groovy, yEd, yWorks, yFiles, GIMP, StarUML, Jetty, GlassFish, Resin, Putty, LDAP/LDIF plugin, Toad, Visio, SOAP-UI, JMX, JMS, JNI, JNDI, JDBC, JUnit, J2EE, JAXB, JAX-WS, Spring, Axis2, J2ME, iBatis, Oracle, MySQL WorkBench, Weblogic.
PROFESSIONAL EXPERIENCE
Senior Software Engineer
Confidential, Rancho Cordova, CA
Responsibilities:
- I provide development support for multiple distributed web service APIs. These services are implemented in the Spring Boot, JBoss
- WebSphere frameworks and support several aspects (pricing, compliance, validation, etc.) of claim processing for the vision insurance business.
Environment: Spring, Spring Boot, Java, EJB, DB2, REST, Splunk, Jenkins, Postman, IntelliJ, WebSphere, JBehave and Drools.
Senior Software Engineer
Confidential, Sacramento, CA
Responsibilities:
- I provided development support for both the California Department of Social Services (CDSS) Case Management and Electronic Services Portal (ESP) In-Home Supportive Services (IHSS) applications.
- The case management application is a custom IBM EJB / Curam environment. ESP is an IBM Cloud hosted Node JS application that provides authentication, authorization and user profile support for the IHSS Angular mobile web application.
Environment: IBM Cloud, Java, JavaScript, EJB, DB2, Cloud Foundry, Cloudant/CouchDB, REST, NPM, NVM, Okta API, Postman, Eclipse, IBM RSA, and Visual Studio Code.
Backend Developer
Confidential, El Dorado Hills, CA
Responsibilities:
- As a senior software engineer I implemented multiple backend command features in support of the multi-platform Keeper mobile application. This software provides secure storage and distribution of password and other client media.
- I specifically implemented the Folder and Breach Watch features. The Breach Watch add-on allows users to securely monitor their password, email, and domain information through the SpyCloud Firehose API which maintains a repository of Internet security breach events.
- This project required API level integration with AWS S3 and DynamoDB services to download, encrypt, store, and query user credential information. This system was deployed in (40) server instances across (8) AWS EC2 servers. At my last count, the system had processed 140 billion credentials.
Environment: AWS S3, Lambda, DynamoDB, Java, JSON, SQL, DBUnit, Git, Jenkins, Jira, Guice, Docker.
S.Com contractor
Confidential, Rancho Cordova, CA
Responsibilities:
- As a staff software engineer I implemented REST web services in VSP’s customized Spring Boot API over a DB2 / JPA database in support of the Debit Management application.
- We also designed this application’s user interface components in Angular 2/4 and implemented Angular services and Jasmine / Karma unit tests.
- The Angular deployment was hosted on a series of AWS S3 servers and deployed through multi-master Jenkins builds. This system required OAuth2 / PingFederate integration for authentication using JSON web tokens. Additionally
- I supported implementation of Angular user interface components for the Provider Fee Management system.
Environment: Java, TypeScript, Spring Boot, Angular 2/4, Git, Stash, Jira, Agile, DB2, H2.
Senior Software Engineer
Confidential, Folsom, CA
Responsibilities:
- As a staff software engineer on an agile team we implemented requirements across two large datacenter management software suites. The first of these systems was Confidential ’s wireless environmental monitoring and control software.
- The second was Panduit’s SmartZone infrastructure management suite. I designed and implemented integration points between these system’s JBoss and Tomcat servers, as well as between the Groovy and ExtJS user interface components.
- I added several features to these systems, most of which span the full spectrum of software development.
- We supported user interface components in JavaScript and Groovy, REST web interfaces, Java business components, distributed SNMP discovery components, and MS SQL stored procedures.
Environment: Java, JavaScript, RESTEasy, JBoss, Tomcat, ExtJS, MS SQL, Git, BitBucket, and SNMP.
Senior Software Engineer
Confidential, Folsom, CA
Responsibilities:
- In my second return to OSI, I have worked on a number of projects. I am currently working on the second generation of a JBoss(7) web application which presents a REST Easy interface to our new Alert Manager client application.
- This interface surfaces network management functionality through an XML API to NetExpert in the fault management domain. I have designed and implemented several JBoss services and ExtJS client components for this product.
- The latest service provides multi-session cut-thru services to dedicated gateway based network devices using a combination of REST and websocket interfaces. This application will eventually replace the Alert Navigator Swing client that I originally worked on in the 1998 timeframe.
- I have developed components as part of the Dashboard REST API into Confidential ’s performance management stack. This project represents my second crossover from the fault domain into performance management and is heavily entrenched in a Java, Jersey, Eclipse, Maven, and REST-Assured continuous build and test environment.
- I also assisted in the implementation of the NetExpert 10.0 C++ based Rule development editors. I had worked on this toolset before when it was implemented in C and was able to contribute to a few of the Qt/Nokia based tools before their initial release.
Environment: Java, Javascript, C++, JSON, RESTEasy, REST Assured, Jersey, JBoss7, ExtJS, Qt, WebStorm, Eclipse, IntelliJ, Jenkins, Maven, ClearCase, OrientDB, MongoDB, Perforce, yFiles for HTML.
Software Architect
Confidential, Sacramento, CA
Responsibilities:
- Our primary role was to provide software support for the web service based Transaction Router Gateway and Criminal Processor custom workflows. These include:
- Custody: This workflow was redesigned in a BPMN 2.0 format. Our efforts consisted of interviewing Department of Justice (DOJ) employees and developers, documenting the existing workflow in BPMN 2.0 notation, suggesting improvements to the workflow, and evaluating (3) potential workflow engines (Oracle SOA/BPM Suite, Active Endpoints ActiveVOS, and RiftSaw) for implementation. Mobile Identification
- This workflow provides a rapid response identification for mobile devices. It included a National Information Exchange Model (NIEM) XML Schema integration with the FBI's Next Generation Identification (NGI) web and Repository for Individuals of Special Concern (RISC) SNMP services. The current implementation is integrated with the DOJ’s Automated Criminal History System (ACHS) as well as the Automated Fingerprint Identification System (AFIS).
- My role in this project was to design and implement a JAXB XML schema integration with the NIEM data, build mock requests and response systems to simulate message traffic, and to drive testing with JUnit.
Environment: Java, JAX-WS, JAXB, Eclipse, Jetty, PL/SQL Developer, XML, SOAP, SOA, BPMN 2.0, Weblogic, LDAP/LDIF plugin, CVS, SVN.
Java Software Architect /Technical Lead
Confidential, Fairfield, CA
Responsibilities:
- The SAWS project was initiated to add a major new product to Copart's auction systems and to address a number of high level architectural issues. The new product supports active seller counter - bidding in the real time auction environment. The architectural issues addressed were:
- Replace server direct stored procedure access with web services. This feature allowed throttling support to regulate the processing load on the primary database server. Replace proprietary packets over raw sockets connectivity to clients with a secure industry standard protocol (JAX-WS). This feature opened the door for third-party integration and offered a greater level of security for new and existing customers. Reduce time-to-market for Java web services development. JAX-WS development reduced the production time lines over our traditional Axis2 web services. Use of the non-proprietary messages also made modifying the protocol much easier for Java developers. The initial prototype was built using NetBeans and GlassFish. As the project went into active development we switched to JBoss (running the Metro web service stack), which was our target production platform for both the web service and EJB tiers.
- Stateless session beans were used between the web service tier and the Sales Facade EJB component. This component maintains the illusion of an always available socket connections to the Auction Server, even though these servers may only be running at specific times of the day.
- It also functioned as proxy for outbound client notifications through JAX-WS's asynchronous messaging. A MySQL EJB tier managed individual and shared client state. Individual state consisted of client user interface properties. Shared state was required to support locking of a sale by the seller representative during an auction.
- My role in this project was as principal architect. I created the proposed architecture, developed the initial rich client buyer and seller prototypes, built a serialized file persistence layer, and presented these to senior management and the main development team.
- I also created wiki based software architecture documentation (use case, class, sequence, and deployment diagrams, as well as, essential and real use case text). I also worked as lead developer with a team of six other developers once the project went into the development phase.
- This project involved the implementation of several key business features to enhance the user experience and integrated the buyer auction applet into Copart's next generation website. I implemented the majority of the client-side functionality, including:
- Movable panels with customized JavaFX and Swing image backgrounds. These panels can be fixed or slid out with animation into the frame's boundaries using the JavaFX animation and the Java timing-framework.
- These components were implemented in a JLayerPane composition of business components drawn over website style imagery. The main frame of the user interface, as well as the deployment model, is managed through JavaFX. This allowed out of frame pop-out panels and web page draggable installs to a client's desktop.
Environment: Java, JAX-WS, Axis2 (WS), DB2, RMI, Cream, JBoss5, Hibernate, Resin, GlassFish, NetBeans, MySQL, Swing, Struts, Spring, Applets, Servlet, JavaFX, JNLP, iBatis.
Senior Software Engineer
Confidential, Roseville, California
Responsibilities:
- Service Manager Object Modeler. Team lead, software developer for a Java client application which supports graphical network service design. This component of the Service Manager solution provided its users multiple
- UML-like Class and Object diagrams of the NetExpert MIM and also functioned as a gateway to import external XML definitions of the Service Manager objects. This project employed an MVC architecture centered around controller threads for data retrieval and validation. It used YWorks generated graphs with file and socket based XML persistence.
- Topology Viewer. Designed and implemented this integrated multi-view / multi-protocol application. This program provided customized yFiles Graph2D based views of discovered IP, MPLS, and VPN network topologies. It was used as the central vehicle to present the MPLS/VPN discovery mechanism. Its data model was created by a JDO Fast Object data source.
- Trouble Ticket integration into the Multi-NCC/VSM server. Along with the Online Advisor module the Trouble Ticket functionality was integrated into the multi-VSM design.
- Object Browser plug-ins. Both the Fire Hunter and Relationship plug-ins were developed as part of a Vodafone solution.
- Virtual Service Adapter (VSA) Policy Engine. Implemented segments in support of a device discovery project. Developed J2EE stateless session beans as part of the Discovery Manager project. Developed an XSLT/XSL interface to a JMX based administration facility. This was used to configure TIBCO messaging. VPM workflow graphical prototypes (tree based drag and drop, linked nodes with drill-down through multiple windows).
- CMeXEL replacement GUI (an OutLook type of integrated application). Included Swing treetables, toolbars, and frames that could be torn-off from the main window.
- This was a server implementation independent interface layer. Server connection types include TIBCO XML objects over JMS and OSS/J EJBs.
- Creation of both server simulation and message server based implementation layers.
Environment: Java, Swing, yFiles, JMS, JMX, OSS/J, Tibco, JDO, PL/SQL, JDeveloper, Eclipse, Rational Rose, TogetherJ.
Software Developer/Consultant
Confidential, Atlanta, Georgia
Responsibilities:
- Delta Technology’s Airline Reservation replacement application. Primary User Interface designer for a one year project which consisted of development of three complete UI prototypes based on both stated and written requirements.
- Designed complex Swing based UI controls for thick client airline reservation application. These consisted of a multiple component table and list cell editors and renderers.
- Also extended combination boxes and tab controls. Performed multiple user site demonstrations and requirements gathering sessions. Mentored development staff on best practices for Swing user interface design and java implementations.
Environment: Java, Swing, JDeveloper.
Consultant/Senior Software Engineer
Confidential, Folsom, California
Responsibilities:
- Designed, consulted on, and implemented applets for the Java based client-server Web Operator product and several NetExpert client applications. Migrated controls from AWT to Swing for the Gateway Control tool.
- Developed several multi-client JSF services in Java and C++. Rewrote native layer to support C++ and JNI. Improved native communication layer exception handling mechanism.
- Consulted on Motif GUI design and implementation for the C++ Peer To Peer Editor. This tool allows users to graphically configure multi-tier servers by manipulating icons.
- Analyzed and redesigned Neuron Data Client GUI tools. Performed usability studies and proposed several enhancements for existing client tools, with focus on Client Manager's Alert Display component.
Environment: Java, JNI, Applet, XWindow, Motif, Purify, C++, C, Swing, DBX.
Senior Software Developer
Confidential
Responsibilities:
- Designed and implemented a Motif/PVI based 3D map manipulation tool. Created a cartographic data conversion and transfer utility. Provided maintenance and testing support for a C/X Window/FORTRAN based mapping and charting tool kit.
Environment: C, XWindows, FORTRAN, Make, Shell, PV Wave.
Systems Programmer/Analyst
Confidential
Responsibilities:
- Designed and implemented XWindow/Apple UX client terminal emulator. Provided system analysis and Ada application programming support on mainframe systems.
Environment: C, Ada, XWindows, Apple/Unix, FORTRAN, Assembly, JCL.