John Fitzpatrick
Verified Expert in Engineering
Software Developer
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.
Portfolio
Experience
Availability
Preferred Environment
MacOS, Visual Studio Code (VS 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.
Work Experience
Senior Software Developer
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.
Software Engineer, Senior Staff
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.
Software Developer
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.
Software Developer
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.
Experience
Vehicle Device Simulator
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
Active RFID System for Tracking Large Assets
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 (VS Code), Linux, Windows, JBoss, Eclipse
Storage
Databases, Microsoft SQL Server, MySQL, PostgreSQL
Other
Software Engineering, Algorithms, Networking, CAN Bus, J1939, RFID, Static Application Security Testing (SAST)
Frameworks
Hibernate
Education
Bachelor's Degree in Computer Science
University of Calgary - Calgary, Alberta, Canada
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring