I’ve been passionate about software development since I wrote my first ‘Hello, world’ script in 2006 with VBA. Today, with the benefit of nearly 15 years of professional experience, I delight in providing the hands-on technical leadership that guides software engineering teams to continuously achieve success. I meticulously prescribe processes that enable engineers, testers, designers, and product owners to collaboratively perform their duties in the best possible manner with the least waste of time and effort. I press engineers to develop solutions commensurate in complexity to the problem they are solving. When I hire, I seek people with humility, aptitude, and passion. I build teams who deliver better software, faster.
Senior Engineering Manager
Managed the development of the Multi-Tenant Console (MTC) from its earliest days as a pre-production greenfield project to its current state as a globally distributed, highly available, microservices + SPA application. The MTC enables bulk actions on managed tenants who employ BlackBerry software offerings. Originally hired as an individual contributor, I was promoted to Manager within 8 months, later rising to Senior Manager. Team sized ranged from 5 to 10 full-time and contract developers, spanning two time zones. Every aspect of the application’s development owned by the team, including frontend, backend, database, test automation, and release management. Implemented a sophisticated CI/CD pipeline with extensive automated testing and git workflows to facilitate rapid deployment of new features to staging and production environments. Led the development of a public API, documentation site, and status page. Introduced new tools, such as the AWS CDK and LaunchDarkly, improving our ability to deliver quality software faster. Cultivated a team culture where everyone likes and respects one another. 40% YoY revenue increase in FY2020; the only Cylance-suite product not to decline in revenue.
- People Management: Hiring, performance reviews, coaching and mentoring, conflict resolution, policies and proceedures.
- Technical Leadership: Developer education, code reviews, emergency response to production outages, sox compliance, release management, CI/CD, versioning strategies.
- Project Management: Ensured predictable output by maintainting a consistent average velocity. Ensured that staff are busy and engaged, but not overworked.