Mihai Popescu

I am an experienced Software Developer and Technical Lead. I've worked in a variety of IT organizations ranging from start-ups to cross-functional organizations. I have extensive experience with Scala, Java, AngularJS, and *nix systems. I have a strong work ethic, am very passionate about the work I produce, and am highly successful both within a team as well as on an individual basis. My varied areas of expertise, diligence, willingness to learn, and thorough approach allow me to not only meet but exceed expectations.

I value the craft and team trust among my colleagues as these are the key components to being an effective development team. I am continuously learning by using new paradigms and technologies that expand my skill set and advance the quality of my work. Within a team I endeavor to share new technologies and paradigms as well as encourage growth, ownership, and collaboration.

Idioms:
Team Skills:
  • Task Design & Estimation
  • Dev Management, Training & Interviewing
  • Client Communication & Support
  • Code Review & Pair Programming
Languages and APIs:
  • Scala, Java, C#, C, C++, Ruby
  • Rails, Spring
  • JSON, REST
  • Javascript, AngularJS, JSP, ASP.NET
  • HTML, CSS, Bootstrap
  • BASH, SQL
Tools:
  • Intellij, Eclipse, NetBeans, Visual Studio, VS Code
  • JIRA, Confluence, Cruicble
  • Postgresql, MySQL, Neo4j
  • Subversion, Git
  • Apache Web Server, Tomcat, NGINX
  • *nix systems

Shopify, Toronto, ON
April 2018 - Present

Shopify is a cloud-based and hosted complete commerce platform that lets users start, grow, and manage a business.


Senior Developer

(April 2018 - Present)
  • Advocating pair 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