Mihai Popescu
[email protected] - https://mihai.software
I am an experienced software developer and engineering manager with over 12 years of experience that has
worked in a variety of software organizations ranging from start-ups to large, cross-functional enterprises.
From a technical perspective this includes extensive experience with Ruby on Rails, AWS, and React systems.
From a more human oriented view I excel at establishing high-performing teams that I care deeply about. I am
passionate about the work that I produce, which has allowed me to develop a strong work ethic and instilled
in me a willingness to always improve. This, combined with my varied areas of expertise, diligence, and
thorough approach, allow me to consistently exceed expectations.
I strive to build resilient and high-performing teams, both as a manager and an individual contributor.
Change is constant and only teams that can be agile and adaptive are successful. I'm a strong believer in
continuous improvement for myself and my teams so we can execute with grace and agility.
Some of my most notable achievements include:
- Significantly improving the performance and reliability of Nulogy's flagship product.
- Building and managing two key teams at Nulogy through the pandemic, remote transition, and recession.
- Rolling out two completely new products while maintaining existing critical systems, all while dealing with the unique challenges of remote work.
- Introducing a culture of pair programming at Shopify and building a pair programming workshop to onboard new developers.
- Being an early adopter of AI tools at Nulogy and helping to build a body of knowledge on how to use them effectively.
But why did you switch back to development?
While management was definitely the challenge that I needed, there were still so many opportunities to stretch in an individual contributor role. My wide breadth of skills and willingness to dive into unknown waters made me a perfect fit for a team that does precisely that. Plus I just love coding and missed it dearly!
- Functional Programming, Object Oriented Programming
- Agile, Extreme programming, Waterfall
- Pair Programming & Test Driven Development
- Domain Driven Design, SOLID
- Task Design & Estimation
- Team Management & Growth
- Training & Interviewing
- Client Communication & Support
- Code Review & Pair Programming
- Ruby, Javascript, Typescript, Scala
- Rails, React
- GraphQL, XML
- BASH, SQL
- HTML, CSS
- Terraform, Docker, Kubernetes
- Cursor, Github Copilot, Various AI chatbots
- Ruby Mine, VS Code, Vim
- JIRA, Confluence
- Snowflake, Postgresql
- AWS, BuildKite, Helm
Nulogy Inc., Toronto, ON
January 2020 -
Present
Nulogy is an
award-winning provider of supply chain collaboration solutions.
Their cloud-based multi-enterprise platform synchronizes consumer
brands with their external supply chain partners to respond
seamlessly to a volatile retail and consumer environment, while
reducing waste and costs, and accelerating brand growth.
Software Developer (SD5)
(March 2023 - Present)Engineering managers and SD5s are both L5 roles at Nulogy
- Maintaining and supporting Nulogy's flagship product: Shop Floor
- Functioning in a small tiger team that is able to move with agility and speed.
- Working with management and other SD5s to improve how we develop software at Nulogy.
- Working with a very wide breadth of systems and technologies, from Kubernetes to React, and everything in between.
- Working with a very wide breadth of teams, from the Shop Floor teams to the Integrations team to the Site Reliability Engineering team.
- Planning, prioritizing, and managing project work assigned to or generated by my team.
- Collaborating closely with Product Managers and other departments to ensure alignment between all stakeholders.
- Creating (solo or with the team) technical design documents to facilitate communication with stakeholders.
- Advocating TDD, Pair Programming, mobbing, and other development practices within the team.
- Improving our system performance and reliability, in some cases by several orders of magnitude.
- Helping to cut AWS costs (by up to an order of magnitude) by working with our Site Reliability Engineering team to optimize our usage of AWS.
- Expanding and improving our CI/CD pipeline and suite of automated tests to ensure fast feedback and excellent coverage. Often improving CI/CD times by 50% or more.
- Working with the team to create a collaborative and safe environment.
- Developing a new muscle for coding with AI tools and helping to build that muscle within the team and Nulogy as a whole.
- Working with just about every technology we've ever used at Nulogy in just about every system we have to make sure critical work gets done in a timely manner.
Software Engineering Manager
(January 2020 - March 2023)- Managing the Connections group which includes two critical teams through the pandemic and recession.
- Building and growing high performing teams that delivered new products while maintaining existing systems.
- Reducing the number of critical incidents on my teams from 27 per year to 6.
- Coaching and mentoring team members including their transition to more senior roles; one notably from an intermediate position into a leadership role.
- Managing the team that maintains Nulogy's Integrations platform which has a daily throughput of approximately 90 thousand messages.
- Managing the team that built the new Connect platform on top of Nulogy's Integrations platform.
- Managing the team building Nulogy's new Data Platform from the ground up using Snowflake.
- Planning, prioritizing, and managing project work assigned to or generated by all of my teams.
- Collaborating closely with Product Managers and other departments to ensure alignment between all stakeholders.
- Managing customer communications and expectations, often on a daily basis.
- Handling audits and grant applications.
- Handling vendor or consultant vetting and management.
- Creating (solo or with the team) technical design documents to facilitate communication with stakeholders.
- Advocating TDD, Pair Programming and other development practices within the team.
- Introducing and organizing mob programming within the team which drastically reduced knowledge silos and merged system specific "sub-teams" that had formed.
- Introducing new tools and processes to help the teams work more effectively (e.g. Kanban, Miro, Pomodoros).
- Working with other managers to build a process of handling cross-team and platform work more effectively.
- Driving code quality and innovation within the team.
- Working with the team to create a collaborative and safe environment.
- Getting a lot done with few people and resources while still treating my team like humans (e.g. no overtime on my teams, team members can take time off whenever they need it).
Using the following key technologies:
- Ruby, Rails, Javascript, React
- Github, RubyMine, VS Code
- AWS, Snowflake, BuildKite
- Terraform, Kubernetes
- Cursor, Github Copilot, and other AI tools
- Jira, Confluence, Miro, Slack, Zoom, Nave
Shopify, Toronto, ON
April 2018 - January
2020
Shopify is a
cloud-based and hosted complete commerce platform that lets users
start, grow, and manage a business.
Senior Developer
(April 2018 - January 2020)- Advocating pair for programming and driving it within Shopify.
- Mentoring and teaching other team members on software architecture and development practices.
- Working with team members and stakeholders to design solutions.
- Planning, organizing, and managing project work.
- Creating technical design documents to communicate technical design to stakeholders.
- Advocating TDD and other development practices within the team.
- Introducing and organizing mob programming within the team.
- Working with architecture teams to improve the way we build software at Shopify.
- Driving code quality and innovation within the team.
- Introducing the concept of psychological safety to the team.
- Working with the team to create a collaborative and safe environment.
- Coaching other developers in functional programming paradigms and domain driven design.
Using the following key technologies:
- Ruby, Rails, Javascript, React
- Github, RubyMine
CaseWare, Toronto, ON
December 2017 -
April 2018
CaseWare is
an accounting software company that aims to create breakthrough
opportunities that push the technological boundaries in the
industry, The work with accountants and auditors in practices
large and small, in corporations and governments worldwide.
Senior Data Engineer
(December 2017 - April 2018)- Worked on an ETL pipeline used to consume data from third party client accounting software (e.g. Quickbooks) into CaseWare Cloud for accountants.
- Responsible for mentoring and teaching other team members Scala.
- Worked with Agile coach to implement new agility practices within and outside of the team.
- Attended regular agile coffee sessions to help other teams become more agile and work through issues.
- Facilitated Scrum rituals for other teams.
- Worked with the team to implement new architectures and grow the software in new ways.
- Interviewed several candidates for developer positions at all levels.
- Drove code quality and innovation within the team.
- Improved hiring and interview process by implementing a code screening.
- Coached other developers in functional programming and domain driven design.
Used the following key technologies:
- Scala, Java, C++, C
- Apache Spark
- JIRA, Confluence, Bitbucket, Intellij
Garner Distributed Workflow, Toronto, ON
August
2014 - 2017
Garner Distributed Workflow
is a software development shop that produces logistics and
document management software for a variety of clients such as
Exxon Mobil and the Yukon Environmental and Socio-economic
Assessment Board
Technical Lead
(July 2015 - December 2017)- Continued duties as a developer.
- Responsible for code in one active development and two maintenance projects.
- Worked together with System Designers, Project Managers, and clients to form tasks on three projects.
- Worked together with developers on those projects to manage code quality and assist with solutioning.
- Worked together with other Technical Leads to improve general system designs and design new frameworks.
- Interviewed several candidates for developer positions, both intermediate and senior.
- Drove code quality and innovation within the team.
- Managed support team and schedule for a project with 24/7 support.
- Coached other developers in functional programming and domain driven design.
- Held responsibility over technical decision making for all three projects.
Software Developer
(August 2014 - June 2015)- Scala and Java application development.
- Code reviewed peers' code as well as paired with co-workers on complex tasks.
- System and Database Administration.
- Introduced the use of Intellij and JIRA as well as administered both.
- Drove code quality and innovation within the team.
- Improved application Architecture and Design.
- Worked in a true Agile environment following Extreme Programming practices & principles.
Used the following key technologies:
- Scala, Java
- Javascript, AngularJS
- Intellij
- JIRA, Confluence, Crucible
Ministry of Health and Long-Term Care, Toronto,
ON
May 2013 - September 2013
Ministry of Health and Long-Term Care,
Ontario Public Health Integrated Solutions Branch, Panorama Project; Panorama is a pan-Canadian
immunization,
vaccine inventory, and infectious disease outbreak management
integrated system.
Systems Officer
(May 2013 - September 2013)- System and Database Administration.
- Bash/SQL Script Development.
- Designed and Developed a Configuration Management Tool for RBAC2.
- Role-Based Access Control (RBAC) with Dynamic Separation of Duty: Analysis, Role Design, Implementation and Configuration.
- Clinical Terms and Vocabulary Analysis and Testing.
Used the following key technologies:
- Java
- Eclipse
- Bash
- SQL
- RBAC2
- SNOMED CT
Eu & I, Toronto, ON
2011 JUNE - 2012
AUGUST
Eu & I
is a software consulting company located in Toronto, Ontario,
Canada.
Software Developer
(2011 June - 2012 August)- Involved in website, mobile app and application development.
- Developed an internal Business Plan for a marketing analysis and reporting tool.
Used the following key technologies:
- Java
- C#
- Android SDK
- Eclipse
- Javascript
- HTML
- Apache Web Server, HTTPS and Security Configuration, User Management
Alpha Global IT, Toronto, ON
2009 (May -
August) and 2008 (September - December)
Alpha Global IT
delivers Electronic Medical Records and Clinical Management
Information Systems.
Quality Assurance Analyst
(2009 and 2008)- Made important contributions during the CMS 3.0 compliance certification of the flag-ship product: Globe MED.
- Performed quality assurance analysis, including formulating and executing test cases.
Used the following key technologies:
- Jira
- MSSQL, MYSQL, XML and XSD, Java 6
- VersionOne
- Subversion
Education
2014 April-May,
Cloudera University,
Cloudera Developer Training for
Apache Hadoop.
2009-2014,
Ryerson University,
Bachelor of Science in Computer Science
with Honours.
2008-2009,
University of Waterloo,
Bachelor of Science
in Computer Science with Honours.
2003-2007, High school Graduate with Honours at
Don Mills Collegiate
Institute, Toronto.