Software Develper and Operations
I am a Software Developer new to the the Miami and Ft. Lauderdale areas looking for full time employment. I bring knowledge of several programming languages, database servers, and web service frameworks along with the ability to work within Agile and more traditional software development lifecycles. I'm seeking to extend those skillsets and am open to exploring areas that are outside of traditional development, such as DevOps.
|November 2012 to Present|
Develop and maintain Manheim’s Events API. The Events API is currently a series of microservices built around Ruby Sinatra, SQS, and using Cassandra to store events.
Develop and maintain Manheim’s OAuth2 API , Mashery API mappings, and support clients in using it. The API is currently undergoing a rewrite to use PingFederate and move us away from Mashery for authentication and authorization.
Automate deployment into Amazon Web Services via Elastic Beanstalk and Lambda.
Assist Release Engineering in maintaining shared infrastructure such as SES Receipt Rules, VPCs/Subnets. Making outputs such as Subnet IDs available to all automated pipelines and leveraging Infrastructure as Code and GitHub pull requests to track and approve requests for changes.
Assist teams new to AWS in determining how best to implement and monitor auto-scaling triggers.
Regularly audit the Eventer’s AWS use and find ways to cut expenses either through adding Cloud Custodian tags for off hours, downsizing and consolidating non-production environments, or improving our auto-scaling triggers.
Develop, deploy, and support web services based on SpringWS or TIBCO Business Works (an Enterprise Service Bus).
Ensured services supported SOAP and REST simultaneously. Also ensured REST calls supported XML and JSON return types, providing maximum flexibility and reuse by multiple product lines.
Used JMS (provided by TIBCO EMS) to create services triggered via event messaging.
Worked to use XML Schema Documents define reusable, canonical XML messages that were consumed across the enterprise by both planned and unplanned consumers.
Dedicated "downtime" to skunkworks projects exploring possible Esper, Storm, and Hadoop uses within the enterprise.
Standardized and automated SoapUI test projects allowing for a single command to be run to test the health of over 30 web services within a few minutes. This provided improved, more reliable responses to severe events where underlying databases, load balancers, and other network elements took down services. This could be customized to provide easily interpreted before and after reports for deployments and other network changes, also improving Common Services reliability and accuracy in testing network element changes.
|July 2012 to November 2012|
Developed a solution to convert requests from a 3rd party sales analysis product into Excel documents emailed to employees that allowed them to audit and confirm changes being made to stock levels and stocking status of SKU's at the store level. This software was critical in the transition away from hierarchical, market based management of store stock to a clustering approach that would cluster stores based on the demographics and habits of customers, increasing sales.
Worked on a proof of concept project using Storm, Cassandra, and JRules.
|May 2011 to July 2012|
Created several monitoring and reporting applications using combinations of Bash and Perl in a Linux environment. These scripts often involved interaction with LDAP, proprietary protocols accessed via Net::Telnet, and processing results before sending emailed reports if necessary.
Produced a GUI front end built on the NetBeans Platform for the team to use to pull subscriber specific information and download or upload greeting WAV files via a REST interface (content was XML). Development took 1 month of spare time and there was no prior experience with the NetBeans Platform.
Recruited as a subject matter expert for a legacy Movius platform, however now work almost 75% on automation, monitoring, and reporting for Acision's voice mail product.
|July 2010 to May 2011|
Became designated Subject Matter Expert for the System Management Unit in the Versera ICE platform in less than 1 year.
Contributed to patches in Java leveraging SVN and a proprietary build environment.
Assisted in a project for a tier 1 provider transitioning from a legacy platform to the ICE platform ensuring feature parity and providing a rapid deployment cycle in order to achieve time lines.
Provided support and troubleshooting for Java Applications, Apache Tomcat, and Red Hat Linux.
Script maintenance included detecting and automating proper restarts of of failed services and elegant turn-over of control in HA situations.
Performed basic configuration adjustments of Apache Tomcat, regularly wrote JSP pages to control call flows in client systems, assisted in debugging Java Bean code.
Constructed and installed Movius software into testing environments. Maintained testing environment version via upgrades and configuration adjustments.
Achieved all of the above while also exclusively providing top-tier support to 2 major telecommunications providers utilizing the Movius Versera ICE platform.
|Graduated December 2009|
Graduated Magna Cum Laude
|Java||Familiar with multi-threading from roll-your-own using Thread, objects, and a LinkedBlockingQueue to pass tasks to waiting threads to ExecutorService, ExecutorCompletionService and Futures to execute batches of tasks via thread pools. Regularly leverage JDBC to query databases.|
|Perl||Regularly use CPAN modules and have written my own object orientedmodules to create a plethora of utilities for health checks, monitoring, automation, log processing, and reporting.|
|Python||Have completed basic programs in Python such as in-order treetraversals and a few one-off XML munging scripts for personal projects. I like generators and the yield keyword in particular for these tasks.|
|Groovy||Used mostly in the context of SoapUI custom scripts.|
|XML Schema||While not exactly a language onto itself, all of my Spring services have been written contract first with a set of XSD files providing the business objects in the service via JAX-B.|
|Spring Web Services||Have written several CRUD services. Leveraged Spring Security andused the Spring AOP module to use point-cuts to address cross-cutting concerns such as performance logging of specific functions and applying Spring Security policies.|
|TIBCO Services Designer||Designed multiple JMS and SOAP based services that orchestratedcalls to other backing services or directly queried databases.|
|Tomcat Server||Regularly configure and deploy Tomcat servers.|
|Node.js||This site is hosted on Node.js using the Express framework.|