Software Engineer Resume
Beaverton, OR
SKILLS/TECHNOLOGIES:
Java: J2SE/J2EE (versions 1.4 - 8), Enterprise JavaBeans (EJB), JavaServer Pages (JSP), Java Database Connectivity (JDBC), Java Message Service (JMS), Java Naming and Directory Interface (JNDI), Java and XML Binding (JAXB), Java API for XML Web Services (JAX-WS), JavaMail, various open-source projects and libraries including but not limited to Apache Kafka, Zookeeper, Active MQ, Maven, Ant, Velocity and Commons.
Other Languages/Technologies/Frameworks: RxJava, Groovy, Grails, PHP, C, C++, Shell Scripting, JavaScript (Node.js, Angular.js, Express.js, Hapi.js, Mongoose.js, and more), Ruby on Rails, Rabbit MQ, Perl, JQuery, Spring MVC, CSS, HTML 5, XML, XMPP, XLSD, FTP, SSH, RESTful APIs, Heroku, SOAP, TDD using Rspec, BDD using Cucumber/Gherkin for JVM using Java and Groovy, Docker, Vagrant, Jenkins, Puppet, MQTT, Mosquitto, Netlfix OSS (Asgard, Eureka)
Operating Systems: Mac OS X, Microsoft Windows, Linux and Unix
Web/Application Servers: JBoss, Glassfish, Jetty, Tomcat, Node.js
Development Tools/IDEs: Eclipse, Netbeans, TextMate, IntelliJ, WebStorm, Groovy-Grails Tool Suite (GGTS), RubyMine, Notepad++, Emacs, Pico, Vim, Adobe Master Collection CS6 (Photoshop, Illustrator, Dreamweaver, Flash), VMWare
Databases: NoSQL DynamoDB, MongoDB, RDBs Oracle, Microsoft SQL Server, SQL, PL/SQL, MySQL, SQL Developer, Hibernate, Postgresql, Graph DBs Neo4j
AWS: EC2, Elastic Beanstalk, ElastiCache, DynamoDB, VPC, IAM, Route 53, CloudFormation
Team Collaboration/Version Control: Atlassian Suite (Jira, Fisheye, Crucible, Bamboo), Unfuddled, Base Camp, Git/GitHub, SourceTree, SVN, CVS, Docker-Hub, Shippable, Slack, Stash, BitBucket
PROFESSIONAL EXPERIENCE:
Confidential, Beaverton, OR
Software Engineer
Responsibilities:
- Contributed to a “Developer’s Playbook”; A step by step guided manual to creating and deploying a blueprint cloud-native application with a fully automated build pipeline for continuous integration. Technologies used: Java 8, Spring boot, Jenkins, Git, Asgard, Eureka
- Created a python script that automated the creation and deployment of an Amazon ElastiCache cluster, including generating the appropriate security groups, creating a subnet, and assigning cluster nodes to specific CIDR blocks, based on the region in which the cluster is deployed. Technologies used: Python, boto, AWS ElastiCache
- Created a cloud-native Java 8 application used to serve a static set of part-codes using Amazon’s DynamoDB. The application was responsible for not only creating the database, but also serving requests through a RESTful interface.
Confidential, St. Louis, MO
Application Developer
Responsibilities:
- Designed and implemented the Java/Groovy backend for Valvoline’s Stickerbucks and Spiff promotions.
- Provided a solution using Groovy and Spring for a server-side RESTful API to support a front facing Wordpress-based site by which end users could create, retrieve, edit, and report on monetary claims.
Confidential, St. Louis, MO
Java Developer
Responsibilities:
- Modernized the existing Direct Loan System (DLS) and Program Loan Accounting Systems (PLAS), sub-modules of the Farm Loan Program Information Delivery System (FLPIDS) - a legacy system still used in production, written in COBOL - by deconstructing discrete functional pieces of the system, then recreating (and optimizing as appropriate) the existing functionality using Java in what will ultimately be known as the National Appraisal Tracking System (NATS).
- Specifically, my role entailed participation in all aspects of the project including, but not limited to: requirement gathering and analysis, writing technical specifications, implementing functionality, as well as unit testing.
Confidential, Boca Raton, FL
Software Engineer
Responsibilities:
- One of three founding members of a development team, in a high-risk, fully-agile, startup company aiming to provide a full platform, state-of-the-art solution for remote patient monitoring by combining wearable devices capable of telemetry tracking using Bluetooth and GPS. Technology stack consisted of a modified MEAN (MongoDB, Express.js, Angular.js, Node.js) stack, MQTT and ZeroMQ for real-time process communication and message handling; Apache Kafka and Zookeeper for high-reliability real-time processing, MongoDB for Geospatial mapping and querying; Mongoose.js for Object-Data Mapping and Schema Modeling
- Researched then implemented Google Protocol Buffers for optimized message serialization/de-serialization.
- Created a customized RESTful API, using primarily Node.js and Hapi.js to interact with the USPS Address Validation API.
- Designed, provisioned and maintained virtual environments using technologies including but not limited to: Vagrant, Docker, Puppet, Chef, VirtualBox, VMWare, Parallels for Mac, as well as Amazon AWS Tool Suite (EC2, S3, Lambda, etc.)
- Implemented Behavior-Driven Development initially using JBehave then ultimately Cucumber for Java and Groovy from feature and scenario writing all the way through step-definition and implementation.
- Participated in daily status, sprint planning, and sprint retrospective meetings.
Confidential, Boca Raton, FL
Software Development Engineer
Responsibilities:
- Lead developer in a 3 person team tasked with maintaining and enhancing Confidential ’s proprietary Adapt Java Core, a J2EE Web Application (Java version 7) deployed on a JBoss Enterprise Application Platform (JBoss EAP 6) server that functions as a central mediator and message routing engine in the provisioning, configuration and ultimate de-provisioning workflows for shared hosting solution bundles, available through the Confidential Marketplace.
- Duties for this project included: performing development on new features, designing, documenting and implementing solutions to bugs as they arose, participating in peer code reviews, updating and creating new unit tests, as well as refactoring and optimizing the existing code base and delegating incoming tasks as appropriate to my fellow team members.
- Achievements include redesigning significant portions of the application in order to conform to best programming practices and conventions, resulting in noticeable reductions in overall execution time and consequently increased development efficiency. This was accomplished by introducing new features (e.g. concurrent message consumption to leverage a multi-threaded environment, mocking in unit tests, etc.), streamlining and optimizing existing code (e.g. remodeled the way data was modeled and being persisted to the databases, such that the size of memory required was cut to 1/15th of what was previously used for storing the same information), enhancing the existing logging to be more descriptive and useful for future development and troubleshooting.
- After stabilizing the existing code base, I then assisted in the designing and architecting of an improved replacement for Confidential ’s provisioning system, using WSO2 middleware products such as Enterprise Service Bus (ESB), Identity Server (IS) and Business Process Server (BPS). Specifically, I assisted in analyzing and documenting the various workflows and use case scenarios, currently processed by the Adapt Java Core, facilitating the creation of discrete business processes, written using the Business Process Execution Language (BPEL) and Web Service Definition Language (WSDL), conformant with the WS-BPEL standard.
- Researched the Single Sign-On (SSO) functionality of WSO2’s Identity Server (v4.5.0) used by various Confidential products and portals, including learning the underlying Security Assertion Markup Language (SAML) used by the WSO2 Identity Server.
- Modified WSO2’s open source code per Confidential ’s specific requirements, as well as documented the entire process of acquiring the necessary source code, making modifications, re-building the product, as well as integrating patch updates as needed.
Confidential, Miami, FL
Grails Developer
Responsibilities:
- Communicated with previous development team (offshore) to provide documentation of the existing Ruby on Rails application
- Re-designed and implemented the way the existing application handled sending email notifications and other resource consuming events. Rather than having one monolithic Ruby on Rails application responsible for all user event processing, the application was modified to send messages to an external message queue (Rabbit MQ) where different APIs, implemented using Groovy on Grails, could consume the messages and process the events asynchronously.
Confidential, Fairfax, VA
Senior Analyst
Responsibilities:
- Occupied primary role as developer/programmer on various projects mostly government agencies, together with several shorter-duration projects for a private customer base.
- In the role of developer, designed and implemented numerous functional additions -using open-source Java-based technologies- to the existing J2EE/JSP/Servlet Automated Case Tracking System (ACTS) for the Departmental Appeals Board (DABACTS) and Medicare Operations Division (MODACTS), subdivisions of the U.S. Department of Health and Human Services (DHHS); including planning, configuring and ensuring interconnectivity and synchronization between the legacy Java-based ACTS system and the new external-facing Ruby-on-Rails E-filing module, by sharing an Oracle Database backbone. This included adding and streamlining file upload/download abilities, creating support for general mail and employee timesheet tracking, as well as implementing and logging automated e-mail notifications to all relevant parties for every eFiled case.
- Developed a custom XSLT-based control that generated JQuery and JSTree code, using AJAX, to interact with a RESTful Taxonomy-tagging interface.
- Served as temporary Project Lead for DAB and MODACTS; Duties included interfacing directly with clients to gather, document, and analyze new requirements; promptly followed by establishing the estimated Level of Effort (LOE) necessary to achieve client satisfaction in an efficient, modular and scalable manner. Additionally, delegation of tasks to support staff was performed when deemed necessary, in order to supply the client with as successful of a deployment as possible, meeting most, if not all of the agreed upon requirements to the client, acknowledging the dynamic challenges that arise during the full life-cycle of the project, sometimes resulting in a redesign or restructuring of the original requirements to improve functionality and usability.
- Assisted in the development of a Content Syndication System utilizing Groovy-on-Grails (GoG), an XMPP layer that leveraged its underlying use of the Spring MVC, Hibernate, GORM, and several other open-source technologies to allow participating governmental agencies to access, disperse, subscribe to and publish important information. One such participating agency, was The Center for Disease Control (CDC).
- Served as a consultant to a partnering company, Percussion, owners of the CM System, as well as Rhythmyx, a commonly used Content Management System by government agencies. After receiving training at Percussion's Headquarters in Woburn, MA, I assisted in migrating 28 active websites on behalf of the Administration of Children and Families, a division of the Department of Health and Human Services, together with its numerous subdivisions, including all of the sites' comprising elements, of varying MIME types as smoothly and effectively as possible into the Rhythmyx system for future use. This was achieved by executing a series of at-the-time Alpha version Visual-Basic scripts, run as Macros in Microsoft Excel after manipulating the supplied data to fit the expected input format so as to import as much viable and usable data as possible.
- Performed routine database maintenance and administration, as well as optimizations when appropriate of the Oracle databases used for all of the DAB and MOD divisions.
Confidential, Miami Beach, FL
IT Manager
Responsibilities:
- Implemented Search Engine Optimization (SEO) plan on existing company website with the goal of increasing online exposure, as well as added Adobe Flash throughout the site, increasing its visual appeal.
- Produced multiple websites using primarily server-side PHP, a Microsoft SQL Server database, together with appropriate client-sided Javascript code with elements of Flash and AJAX, while still following best SEO practices, with the ultimate goal of capturing new prospect registrations and entering into the FrontRange Goldmine CMS used by the company, to then be followed up by the sales and business department.
- Designed and implemented a Java application to run as a daily Cron job, performing a check of the latest U.S. Commodity Futures Trading Commission reports, capturing that data, and updating a local copy of the information, using a Microsoft SQL Server, for redistribution on multiple company websites.
- Created and maintained an internal informational site, using mostly the same technologies as described above.
- Created and managed web-marketing campaigns using Google AdWords and Yahoo Search Marketing.
- Created an administrative web-based dashboard for updating content across multiple websites efficiently.
Confidential, College Park
Research Assistant
Responsibilities:
- Researched, then installed and configured the Condor Software on various computer terminals using Windows XP, Linux, and Mac OSX platforms. This allowed for lengthy research simulations, using extremely large data sets, often exceeding Terabytes of date, per execution, to be run in a more reasonable time frame than if they had been executed on a single machine, given the current available technologies. This was accomplished by having a central machine batch large jobs into more manageable segments and delegating these jobs to be executed by multiple connected machines, regardless of the operating system it ran on, if it would otherwise have been idle.
- Created multiple shell scripts to automate the installation of the Condor software, as well as to automate the submission of batch jobs to the managing terminal and then delegated to its