Steve Desmond
Summary
- 18 years of professional full-stack development
- Open source contributions / experience in Bash, C, C++, C#, Docker, F#, Go, Java, JavaScript, PHP, Python, TypeScript, and Visual Basic
- Specializing in performance optimization, user experience, automated testing, and Continuous Integration and Delivery
Work Experience
Lead Developer, ecoAPM – Ithaca, NY (2018 – Present)
- Building an open source Application Performance Management platform that highlights energy consumption and efficiency, to help reduce the environmental toll that software takes on the planet
- Assisting organizations with any and all software development needs, focusing on performance, UX, testing, and code quality
- Offering Product Owner and Project Management services to help teams build high quality features from inception to deployment, specializing in inclusive design and data-driven UX improvements
Lead Developer, Steve Desmond Software Development – Ithaca, NY (2016 – 2020)
- Solved clients’ business needs locally and remotely with well-crafted software
- Created new sites, apps, and APIs; built features and fixing defects in existing applications
- Refactored code to improve maintainability, added automated test coverage to ensure functionality was preserved
- Profiled and optimized client-side, server-side, and database performance
- Provided training to team members on modern application architecture, development and delivery best practices
- Configured continuous integration environments and set up build pipelines to enable continuous delivery
Enterprise Application Developer, Ithaca College – Ithaca, NY (2013 – 2016)
- Led implementation of several modern development processes and practices: containers, CI/CD, cloud, APM, config mgmt
- Modernized student self-service site (previously updated in 2005) with a new mobile-first responsive design
- Optimized memory utilization and improved architecture to provide up to 300x performance improvements
- Implemented major upgrades and customizations for prospective student social network
- Developed new features and fixed defects for public-facing and campus-community web applications
- Maintained dozens of legacy applications, ranging widely in size and complexity
- Added test coverage and refactored legacy code, increasing confidence and decreasing cost of support
- Created RESTful web services to act as secure APIs between front-end applications and back-end systems
- Built internal libraries and frameworks to increase efficiency and consistency across projects and applications
- Worked directly with users and managers to develop requirements and prioritize feedback
Software Developer / System Administrator, Performance Systems Development – Ithaca, NY (2010 – 2013)
- Developed desktop and web-based applications to model and track energy efficiency upgrades
- Built visual reports to aggregate building attributes and performance results across thousands of entities
- Profiled application and database performance, improving the speed of the application by as much as 120x
- Created a configurable workflow engine, allowing customers to customize how jobs are processed
- Created an extensible plugin framework, allowing customer-specific modules to be added dynamically
- Increased automated unit test code coverage of core assemblies to 100%
- Monitored and optimized virtual resource allocation, performed system administration duties
- Took on many Product Owner and Scrum Master responsibilities
Programmer/Analyst / Investment Support, Loews Corporation – New York, NY (2007 – 2010)
- Developed desktop and web-based applications connected to back-end trading systems
- Deployed applications and system updates (both in-house and vendor supplied)
- Built customized, graphical reports on the company’s investments and financial transactions
- Created user documentation for system setup and deployment, and specialized login / security practices
- Provided Linux expertise in an otherwise Windows-only environment
- Technical support contact for more than 100 Investment department users and executives
Software Developer / Assistant System Administrator, Bartek Ingredients – Stoney Creek, ON (2006 – 2007)
- Developed and deployed custom order processing, shipping and tracking, and safety compliance applications
Conference Presentations
Profiling and Fixing Common Performance Bottlenecks
JetBrains Webinar – online (October 7, 2021)
- Step-by-step tutorial to help make slow apps faster, given to an audience of thousands
- More than a dozen live-coding examples of common performance improvements
Twelve-Factor Apps: A DevOps Olive Branch
Ithaca Web People – Ithaca, NY (June 4, 2019)
- Discussion of the definition of DevOps compared to widespread misunderstandings
- Overview of each of the 12 factors, what they mean, and how to implement them
SOLID: What Is It Good For?
Ithaca Web People – Ithaca, NY (November 6, 2018)
- Quick introduction to each of the SOLID principles
- Live-coding walkthrough of taking a real-life chunk of code and making it more SOLID
Adventures In Enterprise: Lessons Learned Promoting DevOps in a Legacy Organization
DevOpsDays – Portland, OR (August 2, 2017)
- How to introduce modern software and infrastructure ideologies into traditional IT departments
- Focus on leading culture change, experimentation, and decoupling enterprise systems
Load Testing and Benchmarking Web Applications
Ithaca Web People – Ithaca, NY (May 7, 2017)
- Overview of load testing fundamentals and best practices
- Live demos using a wide range of tools
Continuous Integration
Ithaca Web People – Ithaca, NY (August 2, 2016)
- Overview of Continuous Integration as a human process, as well as a build tool
- Live demo of GitHub-integrated Travis CI automation
There’s An App For That: Creating Cross-Platform Native Experiences Using Open Web Standards
HighEdWeb New York – Cornell University (June 12, 2015)
- Live examples and demos of HTML5 / JS Web APIs, showing the potential of the web as a platform
- Using Apache Cordova to create native app packages on multiple platforms
See https://stevedesmond.ca/talks for slides and video recordings of presentations