Seasoned Software Developer bringing over ** years of experience in fast-paced settings delivering exceptional systems. Effectively using a wide range of skills to produce innovative designs. Highly organized, performance-oriented and customer-driven.
Work History
2021-08 - current
Senior Software Developer
Nuvation Research Inc., Waterloo, ON
Writing device drivers for energy storage equipment (Inverters, Charge Controllers, Energy storage controllers)
Writing unit tests and HIL tests
Designing, implementing, and maintaining SunSpec interfaces for energy equipment
participating in peer code reviews
Git lab code management software, Docker and Redis
OOP coding in Python
Documenting processes and creating manuals
Debugging and solving code design issues (Wire Shark)
Algorithm and software design for drivers and controls
Ethernet, TCP, Modbus and serial comms protocols
2021-04 - 2021-08
Embedded Software Designer
PV-Labs, Burlington, ON
Developing embedded software solutions in C/C++, Python for Linux
Creating Makefiles for software builds
Creating APIs to extract and expose system information
Generate HTML based interface applications for relaying system information using Angular
Participate in daily review/update meetings
Maintain software version control with GIT
Documenting processes on Confluence pages
Creating and updating daily JIRA tickets for task tracking
2014-01 - 2021-04
Software Developer
Toyota, Cambridge, ON
Designed/Created Real Time Locating System for tracking company assets (lift trucks, 'tow motors', Production Vehicles)
Architected RTLS custom hardware and embedded software (C and C++). SAME70 xPlained Dev board SPI interface to RTLS transceiver, Arm Processor, FreeRTOS Real time OS.
KiCAD for designing and laying out new circuits
Writing REST APIs using C#, Node JS and Node-Red w/ JavaScript
XML parsing and integration into applications and APIs
Automating processes and APIs with Node-Red
Linux server configuration and development
MySQL database design
Mechanical design with Solid Works 2008 - 2018
Python and Power Shell for code updates, admin tasks, production scripts
Refactoring and rewriting inefficient and broken business applications in VBA
Designing and coding new business applications to suit a wide variety of company requirements. SharePoint, MS Access, MS Excel
Creating and interpreting SQL queries for various applications and systems
SharePoint workflows to automate company processes
Writing C# console & GUI apps using MS Visual Studio
Test apps/scripts written in C#, Python and HTML/CSS/JavaScript web pages
Designing and implementing new innovative test fixtures
Use of CAN Bus, LIN Bus, Ethernet, TCP communication protocols in applications and test fixture interfacing.
3D Printing of test and production
2008-06 - 2014-01
President
MTW, Kitchener, ON
Electrical/Mechanical/SW designs for all products including new CNC mills, retrofit CNC kits, Enclosed machine stands and various part/brackets/assemblies using Solid Works and OrCAD/KiCAD
General Machining, Welding
CNC programming with Master CAM X6, Bob CAD
Construction and testing of all prototypes
Integration of servo systems and motor controls
Sourcing parts for new product designs
Procurement and communication with factories in China
Website Maintenance and development
Customer support and service
2007-03 - 2009-10
Embedded Software Developer
Blue Coat Systems, Waterloo, ON
Developed and supported Virtual machine debugging system in C++ for field system crashes.
Kernel modules to dump current processor context and memory, and respond to GDB commands
Separate application to reformat the context and memory to be used by the emulator
Customized x86 emulator to execute context and memory as though it were a live system
Customized GDB to connect to the emulated system and debug the problem
Working with x86 processors (C++ and x86 Assembly)
Developing Kernel components and embedded test applications using C++
Assembly level coding and bug fixes
Triaging of system bugs
2004-07 - 2007-03
Embedded Software Developer
L3/Wescam, Burlington, ON
RTEMS and VX Works API programming in ‘C'
Camera drivers
System peripheral communications drivers
Desktop and Pocket PC Serial Communication apps
Desktop systems test applications
System level debugging and trouble shooting
PID Control loop coding
Compiling and Releasing system software builds
1998-04 - 2004-07
Programmer Analyst
L3/Wescam, Burlington, ON
Multi-tier Application design and development using Visual Basic 6
Database administration and design
Report writing for both desktop and web applications (Crystal Reports)
Extensive use of VBA for MS Access and MS Excel for data imports and conversions
App and Network communications via Ethernet/TCP protocol
Writing of technical documents for user support
Multiple successful projects
Customer Service application for tracking all aspects of customer service activities
Part non conformance tracking application
Barcoding system for MRP based Work Order updates, tracking and control
Intranet based application for referencing MRP Data
Multi-user data entry application for yearly inventory
Maintaining company payroll application
XML parsing and integration into apps and APIs (SOAP)
Education
1991-09 - 1995-04
Electronics Engineering Technology Diploma: Digital Circuits and Micro Processors
Mohawk College of Applied Arts and Technology - Hamilton, ON
Hobbies
AI and Deep Learning (https://www.linkedin.com/in/pat-o-banion-60492b3/details/certifications/)
Self-taught CNC and manual machinist
15 years of CAD design experience w/ SolidWorks
Designing/building CNC machines (Mills, plasma cutter).
Designing/building my own linear motors for the next generation of my CNC milling design
3D Printing
Continuing Education
Contact
Address
Kitchener, ON, N2P 2H1
Phone
ad4sg1@r.postjobfree.com
Skills
System Design & Programming
Trouble shooting/Problem Solving
Debugging
Critical Thinking
Time Management
Algorithm Design
.
Patrick O'Banion
Software Developer