Profile | I am an all purpose software gardener with a broad range of experience from startups, to enterprise level web services. I've worked in many industries including Air Force Weather, Locomotives, Property Management, Health, and Online Live Auctions. My "Why" is to impact the world through game-changing software solutions. I believe in finding the right tools for the right job and have spent the last decade experimenting with many of them. I experiment with technical tools, like languages, libraries and architectures, as well as processes like true continuous integration and ShipIt Days. On top of technological achievements, I have shaped cultures of change, innovation and empowered teams. I believe in radical candor and am prepared to rock the boat to accelerate change. I'm a Co-Founder of the Agile for Defense Meetup and a conference speaker, spreading these practices to the military industry and beyond. My goal as a speaker is to share the discoveries and experiments of my career and help others accelerate their productive abilities by breaking away from the socially accepted notions of programming. You can find more ideas from me at TheSoftwareGardener.com. |
Technical Skills | ProgrammingJava, Spring Framework/SpringBoot/Hibernate, Maven/Gradle, JMS, MySQL/MariaDB/Oracle/SQL Server, MongoDB, JUnit/Spock/Mockito/Hamcrest, C#, .NET, C++, C, Visual Basic, and MatLab.
Web + MobileTypescript, JavaScript, React/Angular/Backbone, Style Guides Storybook/Styleguidist, Foundation/MaterialDesign, Ionic/Cordova, NPM, Webpack/Browserify/RequireJS/Grunt/Gulp, Jest/Selenium/Protractor/Mocha/Chai, Gatling, JQuery, CSS/SASS/LESS, DartLang, PHP, Flex/Flash, Websockets/STOMP, XML/JSON, XSLT, HTML and Photoshop/Adobe Products.
Environment/Tools Windows, Unix/*nix,Git/Mercurial/SVN/CVS, IntelliJ IDEA/Eclipse/Netbeans/Visual Studio, Jenkins, Sonar, Atlassian Toolset (Jira, FishEye, Crucible), Tomcat/Apache/Jetty/nginx/Glassfish/IIS, AWS/Azure, Docker/Rancher, System Monitoring Tools/Datadog/SentryOne/Google Analytics/Deep Crawl |
Experience | Lead Software Engineer, Developer Manager, Proxibid/Auction Technology GroupOmaha, Nebraska — 2018-Present- Catalyst to rebuild the development & technology department to an agile, iterative and learning culture. Responsibilities included Tech Lead, Architect and Developer Manager.
- Implemented React/NPM/Webpack into multiple outdated products including Classic ASP and JSP based applications. This allowed for more modern UI development, reducing tech debt, improving time to market of feature development and implementing proper MVC + Service Oriented practices.
- Introduce and implement Style Guide and best practices via React + Storybook/Styleguidist to develop a common brand and user experience as development progresses for either maintenance work or new feature development.
- Introduced many best practices for software development lifecycle including Agile Scrum, Continuous Integration with trunk based development, deployment automation with Jenkins, automated unit and end-to-end testing with Spock and Selenium, modern Peer Review practices and a focus on continuous learning overall.
- Led Mobile Responsive program, developing the iterative approach, facilitating execution and being part of the team to implement mobile responsiveness across the existing bidder facing site. Technologies included converting major elements to React, upgrading existing components to use Foundation Grid and eventing between the two to achieve a cohesive solution.
- Led SEO efforts over entire employment, implementing SEO best practices that had failed in the past including a dynamic and comprehensive sitemap, SEO url masking, adherence to meta tag best practices, improving sitewide performance, eliminating thousands of seo errors across the site. This led to significant increases in organic growth, increased sell through and reduced cost in SEM.
- Tech Lead and Architect in implementing many new features and migrating existing features into a microservice architecture, leveraging SpringBoot + MariaDB + Docker + Rancher 1.
- Led the acquisition of Wavebid LLC for engineering. Integrated existing program management toolsets (Confluence, Jira etc). Integrated software into pre-existing tools (Bitbucket, Jenkins, Secret Server etc). Took over primary development of the product and integrated into existing teams.
- Led the Design Studio project with the Raikes School of UNL, focused on developing a Machine Learning system to automatically categorize items based on images uploaded to Proxibid. Worked weekly with the students to help keep them on track, prioritize the right items and to teach programming practices and facilitate processes like sprint planning and retrospectives. This was a year long engagement with the students as well as continued work to operationalize the output.
- Developer manager for a separate team which focused on building client auctioneer sites with WordPress, helping this team adopt an agile and iterative approach to development while growing their technical skills. Also led project management and career development for this team.
- Led the initiative for operational stability during increased traffic of COVID-19. Focused on increased access and application logging, cleaning up legacy logs system wide, integrating logs into DataDog, increased system metric monitoring, and re-developing the on call approach from the ground up. This led to the discovery and resolution of many bugs, performance issues, allowing for triple the amount of traffic and a sustainable approach to system stability.
- Led the initiative for system wide security enhancements. Primary work revolved around prevention of XSS and SQL Injection opportunities, converting authentication from SHA1 to Argon2, improving PII protection and updating outdated libraries and server technologies.
PresenterOmaha, Nebraska — 2016-Present- Conference and meetup speaker on many topics in the software industry.
- Topics include: Increment and Iterative Development, Quality Software, Deliberate Practice, Radical Candor, ShipIt Days, Retrospectives, and Extreme Programming.
- Locations include: Heartland Developer Conference, Nebraska.Code(), Connectaha, Prairie.Code(), Kansas City Developer Conference, Lincoln Agile Community, Agile for Defense, Omaha Agile Development, and Aviture Lightning Talks.
- See more at: www.thesoftwaregardener.com/presentations/past-presentations/
Sr. Software Engineer, Tech Lead, Architect, AvitureOmaha, Nebraska — 2014-2018- Team lead of cross-functional teams working a multi-year government contract supporting UAV mission execution teams. Technologies focused on Java Spring, and AngularJS.
- Kicked off an agile project reinventing an outdated web app sharing geospatial data statically over google earth to a modern, multi-functioning, collaborative web application utilizing Dart, AngularJS, Cesium, and Java+Spring.
- Built a productive development environment for multiple web projects including Dart apps using Pub and Grinder and Javascript/Typescript projects using NPM, Gulp, Browserify and Webpack.
- Implemented best practices for using Mocha/Chai with Karma and Protractor for Angular testing.
- Designed and Implemented real time collaboration of full motion video metadata and live UAV geospatial data over websockets utilizing STOMP with Java Spring and SockJS with Angular.
- Team lead for prototyping mobile application to showcase what troubleshooting locomotives from a tablet could be in the future. Utilized Ionic/Cordova + D3 frameworks on top of Angular to accomplish the prototype.
- Team lead for multi-year contract supporting a health company transitioning patients from hospitals to post acute care facilities. Re-created and modernized client’s web portals utilizing Typescript, Webpack, Angular(1 & 2+), Foundation, Covalent, as well as created iOS and Android mobile apps utilizing Ionic(1 & 2+) and Cordova to have nearly equal functionality. Integrated push notifications for mobile apps to increase communication and help get patients healthier faster. Created automated system level tests for site and mobile utilizing Protractor. Server implementation built on existing Java Spring REST services.
- Team lead of apartment management software startup. Overhauled existing ASP.NET project to a more stable, supportable and ready for market product. This included bug reduction, performance tuning, usable logging infrastructure, deployment to Azure and improved architecture away from stored procedures to reusable logic tiers.
- Productionalized front end redesign of Sony Pictures Store. Improved stability and quality with rigorous testing of many environments including mobile and effectively eliminating bugs and increasing consistency of experience. Supported production launch of redesign. Project was a mix of Angular, Backbone, Bootstrap and LESS.
- Developed the Peer Coaching Program and was career coach for many developers and non technical employees.
Senior Software Engineer, Air Force Weather AgencyBellevue, Nebraska — 2009-2014- Worked as a DOD contractor which consisted heavily of Java EE web applications.
- Primary contract entailed visualizing and caching weather data and processed imagery. This was accomplished utilizing Java EHCache libraries and introduced Terracotta to achieve a scalable caching architecture.
- Learned to work with and manage extremely volatile data while serving that data in real-time via standard services to multiple client interfaces, including Flex and JavaScript applications of our own.
- Front end applications consisted of mapping technologies (OpenLayers, OpenScales, Google Maps, FlexiWeather) to visualize weather imagery and data services (WMS, WFS) in real time environments. High performance around the world was achieved through proper use of http/web standards, caching solutions, unique tiling algorithms and exploitation of existing architecture.
- Prompted and integrated MVC standards into multiple projects using SpringMVC, Spring Integration and RobotLegs frameworks.
- Modernized a legacy metsat/satellite processing application to use up to date java standards, the Spring Framework, hibernate, unit and integration level tests. While modernizing we added new mosaicing functionality and improved performance of the application by 10x.
- Helped organize and lead inter-organization web enterprise team workshops.
- Prototyped and setup enterprise distributed development tool sets and drove correct adoption of them: Mercurial, Atlassian Tools, Maven etc.
- Researched and implemented Agile Scrum across multiple projects.
- Grew adoption of development best practice throughout the enterprise including TDD, Pair Programming and Continuous Integration. Achieved this through practice, brown bag presentations, coding dojos (randoris), servant leadership & other culture changing techniques.
- Introduced and implemented many advanced JavaScript practices including Unit Testing, Object Inheritance, RequireJS and utilizing tools like IntelliJ in daily development.
- Prototyped and shipped the first Space Weather net-centric WFS data services as well as used JavaScript best practices to visualize the data utilizing AMCharts, inheritance and RequireJS.
Agile for Defense Meetup Organizer Bellevue, Nebraska — 2013-Present
- Helped organize the Agile for Defense Meetup which includes facilitating meetups, presenting topics on Agile and its application in the defense industry.
- Presentations included Scrum Discovery, Extreme Programming, Deliberate Practice, Quality and Retrospectives.
|