About Me
Hi, I’m Brian (he/him)! I’m an accomplished engineering leader with over 20 years of software development experience, leading innovative software teams and projects. I specialize in cloud migrations, agile transformations, and delivering robust C#/.NET/React/Angular/SQL solutions in fast-paced environments. I’m passionate about mentorship and building high-performing teams to drive impactful results.
Writing
The Three Continuums of Better Software Estimation
As a software engineer, you're frequently asked to estimate how long a task will take to complete. Estimation can be a tedious process and it's tempting to just throw out a (usually rosy) date. This approach can quickly get you and your team buried, working nights and weekends to heroically meet dates that were unrealistic to begin with. Better estimates are critical to your health and longevity as a software engineer and this framing can help you keep your workload sustainable, avoid burnout, a
Writing Job Descriptions to Attract Talented Software Engineers
Whether the current talent pool of software engineers is large or small; as a hiring manager, you have essentially the same problem: attracting and identifying talented individuals that will be able to add value to your team. In a saturated job market, you'll get tons of CVs, but you'll need to be incredibly discerning to find folks that will meet your teams' needs. In a market where the talent pool is limited, you will really need to sell yourself, your team, and your organization to get grea
5 Custom Linter Rules to Turbocharge Your Team's Productivity
Linters such TSLint and pyLint can be a great way to enforce standards on your team’s codebase; making your code more cohesive and easier to understand. Here are some helpful coding standards that you can impose using custom linting rules to elevate your team's output. 1. Something to think about Ending a sentence with a preposition is a huge grammatical no-no. To keep your code grammatically correct, forbid comments that end with a preposition. //Refactor later; this is the best hack I co
Experience
Currently directing a team of 26 software engineers (10 FTEs and 16 contractors,) including 5 direct reports, one of whom is a manager overseeing a team of 5 engineers. Our group develops features for and maintains an industry-leading, client-facing, multi-tenant cloud-based SaaS product used by top pharma to plan clinical trials.
Designed and established a comprehensive hiring process, optimized for finding great talent in a fair and empathic way. Successfully hired and onboarded a new team of 5 additional exceptionally skilled engineers, including a manager, reporting to me. Mentored and fostered technical skills across the team, with a special focus on coaching the new manager to effectively lead the new team. This expansion has increased our throughput by more than 25%, allowing us to fulfill on large client contracts while continuing to enhance the product.
Introduced and staffed the new role of Support Engineer, a specialized IC that will quickly respond to and triage critical client issues. Implemented new incident response protocols, and spread responsibilities across time zones, increasing our response footprint from 8 hrs/day to 24 hrs/day.
Designed and managed the adoption of a lightweight quarterly planning process, leading to the on-time delivery of all releases over the course of four years, enhancing the reliability and efficiency of the engineering teams.
Orchestrated and executed the migration of our 15-year-old application from on-premises to Azure. The architecture leveraged Azure SQL Managed Instances, Virtual Machines, Azure Data Factory, Azure DevOps, and Application Gateways with WAF, which increased security and decreased our disaster recovery RPO/RTO by 80%
Spearheaded the transition to an advanced CI/CD process, implementing artifact-based deployments which decreased production deployment times from 2 hours to 5 minutes. Enhanced code quality and security through the integration of merge/pull requests, impact reviews, automated testing, and static code analysis into our SDLC.
Oversaw design, architecture, and planning for the Clinical Trial Optimization Solutions group
Led a strategic, phased migration of a 15-year-old flagship .NET 3.5 Application to ASP.NET MVC 5 and Angular. This approach enables continuous delivery to production, significantly enhancing performance, reducing technical debt, and modernizing the user experience.
Pioneered and implemented Scrum in a previously waterfall environment, establishing buy-in from management and developers unfamiliar with the process.
Developed the team’s Continuous Integration process and branching strategy. Moved the team to git + Jira + Hudson, allowing us to test earlier and more often.
Oversaw design, architecture, and planning for the Clinical Trial Optimization Solutions group
Co-founded Photobot 3000, a Philadelphia-based company specializing in customized portable photo booths for event photography. Developed a real-time event photography system, using a combination of hardware and software to present a unified, joyful experience to guests. Enhanced user experience with a custom greenscreen module and a user-friendly iPad app. The system served hundreds of events and processed tens of thousands of photos.
As a senior member of an agile scientific startup; created software to help clients such as NASA and the UPENN monitor and study individual fatigue. Notably, the software was used on the ISS to study fatigue in astronauts.
Created an infrastructure for seamless and instant localization of Pulsar’s flagship cognitive testing product written in C++/CLI. This functionality enabled users to switch between English and Russian at the press of a button to accommodate the bilingual crew of the Mars-500 study.
Improved a critical randomization algorithm in Pulsar’s testing suite so that it more rigidly followed the precedents set by established psychological studies. This enhancement was deployed to the International Space Station where astronauts use the software to measure their fatigue.
DKR Oasis Management Co. LP
Application Developer/Senior Application Developer
April 2005 – October 2008
https://oasiscm.com/
As the senior member of a back-office development team at a hedge fund; planned, engineered and built applications to support trade reconciliation, pricing, and accounting operations. Took on an active role in long-term project planning, task estimation, hiring and training.
Evaluation Associates, LLC
Junior Application Developer
August 2003 – December 2007
Designed, developed, debugged, documented, tested and deployed software applications to support business activities at a small securities rating firm.
Featured Personal Projects
An app written in Node.js/Javascript that converts an image into plans to recreate that image with [Perler beads](https://en.wikipedia.org/wiki/Fuse_beads)
Perler/fuse beads are the perfect Saturday afternoon activity. I was first introduced to them a few years ago and was disappointed with the limited choice of patterns available. I built this as a hobby project to convert arbitrary images into Perler bead patterns. This project runs Node.js in Docker containers with Javascript for the UI. It pixelates the image, quantizes the colors, and reconstructs the image in mosaic form, with a helpful legend/shopping list of beads required to reconstruct the image.
A clone of the original Wordle code with added features
Originally written as a Valentine’s gift for my partner, I built a modified version of Wordle that includes:
- An expanded word list to make things extra challenging
- Continuous play: after completing one puzzle, you can tap "NEXT WORD" to keep playing with a different word
- Ability to share a board; allowing you to challenge others to the same word during continuous play
An open-source random Sudoku puzzle generator
Written for a client and open-sourced with permission, a cross-platform desktop Sudoku puzzle generator.
Education
Southern Connecticut State University, New Haven, CT
Bachelor of Science in Computer Science
(Minors: Physics and Mathematics)
May 2003