John Fitzpatrick, Software Developer in Calgary, Canada
John Fitzpatrick

Software Developer in Calgary, Canada

Member since September 9, 2022
John is a senior software engineer with nearly two decades of experience developing software for various purposes, including eCommerce, asset tracking and identification, transportation, and software quality and security. John is a polyglot developer, keen on using multiple programming languages and technologies, including Go, Java, C, and Python, and diverse operating systems, such as Linux, macOS, and Windows.
John is now available for hire

Portfolio

  • Self-employed
    Go, Python, Visual Studio Code, Canbus, J1939
  • Synopsys
    Go, Java, Elixir, Linux, Windows, MacOS, REST, GitLab CI/CD, GitLab...
  • MINDS
    Java, Hibernate, JBoss, MySQL, Eclipse, Visual Studio, C#

Experience

Location

Calgary, Canada

Availability

Part-time

Preferred Environment

MacOS, Visual Studio Code, Postman, Go, Python, REST, Git, SQL, Java, Elixir

The most amazing...

...solution I've recently developed is a CAN bus vehicle simulator that uses the Google Maps API and simulates driving a real vehicle on a given route.

Employment

  • Senior Software Developer

    2021 - PRESENT
    Self-employed
    • Developed a vehicle device simulator that uses the Google Maps API and simulates a vehicle sending CAN bus data while driving a route.
    • Wrote technical documentation, including requirements and project design specifics. I also created documentation for the end users.
    • Participated in regular sync meetings with the client to gather requirements and provide feedback on the project status.
    Technologies: Go, Python, Visual Studio Code, Canbus, J1939
  • Software Engineer, Senior Staff

    2013 - PRESENT
    Synopsys
    • Co-created a solution for a critical business problem, facilitating the use of the company's software. The solution is currently in a provisional patent status.
    • Defined the solution's overall architecture and direction, working closely with UX designers, other architects, and individual team members.
    • Oversaw the solution launch from the initial beta version to the general availability release, where it is now a key product differentiator.
    • Mentored junior team members on software development best practices, including coding, testing, design patterns, and architecture.
    • Helped define processes for CI/CD and quality assurance.
    • Served as a scrum master, leading sprint planning meetings and retrospectives.
    Technologies: Go, Java, Elixir, Linux, Windows, MacOS, REST, GitLab CI/CD, GitLab, Confluence, Jira
  • Software Developer

    2009 - 2013
    MINDS
    • Developed new web-services API to allow clients to access data about their paving operations and asphalt hot mix plant.
    • Developed new asphalt and emulsion plant ticketing product from scratch and oversaw initial customer deployments across multiple sites.
    • Implemented RFID data capture software and developed high-level software to interpret RFID readings to significantly speed up report generation, up to ten times speed improvement.
    Technologies: Java, Hibernate, JBoss, MySQL, Eclipse, Visual Studio, C#
  • Software Developer

    2008 - 2009
    AppLocation Systems Inc
    • Led an RFID pilot project for a large telecommunications company to track assets stored in outdoor yards.
    • Wrote technical developer documentation for the third-party web services platform provided by a telecommunications company for inclusion in SDK. Code samples were provided in C, C++, Java, PHP, and C#.
    • Completed enhancements to the core product as an RFID specialist.
    Technologies: Java, PostgreSQL, JBoss

Experience

  • Vehicle Device Simulator

    I wrote a vehicle device simulator capable of simulating a truck driving a route to test vehicle tracking software.

    I was the sole developer on the project, so I gathered requirements, wrote a design document for my client, and implemented all the code. I also wrote a pytest plugin to facilitate its integration into their testing system.

  • Simplified Static Analysis Product

    I invented a new approach to translating project source code into a format suitable for static analysis by the analysis tool. My invention allows non-technical users to use a very advanced static analysis tool, making the static analysis software accessible to a significantly larger pool of users. I worked with the intellectual property team to file provisional and non-provisional patents for my invention.

  • Active RFID System for Tracking Large Assets

    An active RFID system for tracking large assets such as vehicles in a manufacturing facility or high-value assets stored in a yard.

    I worked as one of the key software developers in this project, helping design and implement the system. I took responsibility for gathering requirements, designing the system's architecture and the tag communications protocol, and implementing them across the entire software stack. I wrote a substantial part of the user interface, the back-end database, and the firmware for the RFID readers. I also traveled to customer sites to help with customer POCs and troubleshooting.

Skills

  • Languages

    Go, SQL, Python, Java, Elixir, C++, C#, C
  • Tools

    GitLab, Confluence, Postman, Git, GitLab CI/CD, Jira, Bitbucket, Pytest, Visual Studio
  • Paradigms

    REST
  • Platforms

    MacOS, Visual Studio Code, Linux, Windows, JBoss, Eclipse
  • Storage

    Databases, MySQL, PostgreSQL
  • Other

    Software Engineering, Algorithms, Networking, Canbus, J1939, RFID, SQL Server, Static Application Security Testing (SAST)
  • Frameworks

    Hibernate

Education

  • Bachelor's Degree in Computer Science
    1998 - 2004
    University of Calgary - Calgary, Alberta, Canada

To view more profiles

Join Toptal
Share it with others