Jack Punter
Email: [email protected]
Phone: +44 7597 158963
GitHub: Jack-Punter
LinkedIn: linkedin.com/in/jack-punter-b41776183/
I am an Embedded Firmware Engineer with an MEng in Electronic and Computer Systems Engineering from Loughborough University. I have a passion for low-level programming, computer architecture and embedded systems. I have industry experience working in teams on kernel-level development, embedded systems and building robotics tools. I also have academic experience programming for multicore systems, programming FPGAs with VHDL, and analogue electronics. I am now looking for an engaging and meaningful role which aligns with my personal interests and skill set.
Work Experience
Automata: Embedded Firmware Engineer (July 2022 - Present)- Embedded Development: Developing an embedded framework for code/interface reuse between multiple platforms and OS targets as part of a small team of two senior and two recent graduate engineers. Targets ranged from bare-metal arm microcontrollers to real-time Linux devices.
- PCB Development: Designing PCBs using Altium Designer involving both voltage regulation and signal filtering.
- Developer Tooling: Developing CLI and visual tools to aid in the process of training robots, enabling the execution of customer workflows. This work included jogging utilties (moving robots with a keyboard) and system visualisation.
- Summer Placement, Simulation Software: Developing a model for an I2C controller device in Arm's FastSim simulation technology.
- Term-time: Writing documentation of summer placement work and personal development.
- Device Drivers: Development and maintenance of kernel device drivers for various hardware platforms based on Power PC and Intel CPU architectures, using the VxWorks operating system.
- Automated Testing: Configuration of automated testing of both specific device drivers and large-scale board support packages, running on various hardware platforms.
- Continuous Integration: Collaboratively redesigning the continuous integration system used by the team, to increase ease of use and reduce test cycle time.
- Data Entry: Data entry for pharmaceutical records, requiring a high level of attention to detail to ensure the accuracy of the data.
- Communication: Answering telephone calls from customers and suppliers, to ensure products are successfully procured and paid for.
Education
Loughborough University: MEng Electronic and Computer Systems Engineering 2:1 (2017 - 2022)- First Year (Part A): Circuits, Electromagnetism, Electronics, Introduction to Systems Engineering for Projects, Mathematics, Programming and Software Design, Signals and Systems.
- Second Year (Part B): Computer Architecture, Control System Design, Electronics, Introduction to FPGA Design, Mathematics, Robotics Project Design and Management, Software Engineering.
- Third Year (Placement): Full-time at Abaco Systems.
- Fourth Year (Part C): Digital Interfacing and Instrumentation, Digital and State Space Control, Electronic System Design with FPGA, Embedded Systems Design and Implementation, Engineering Management: Finance, Law and Quality, Team Project.
- Fifth Year (Part D): Mechatronics System Design, Applying Management Theory, Communication Networks, Programming Multi/Many-core Systems, Machine Learning - Principles and Applications for Engineers, Advanced Individual Project.
- Mathematics: B
- Computer Science: B
- Physics: C
Skills Summary
- C
- C++
- Python
- VHDL
- MATLAB
- Assembler
- Git
- Perforce Helix
- Visual Studio
- Keil μVision
- Vivado Design Suite
- Docker
- CMake
- Linux
- Windows
- VxWorks
- FreeRTOS
- Presenting work to collegues for review
- Collaborative software development
- Working within an Agile environment
- Working remotely in a small team.
- Communicating across disciplines.
- Confident sharing ideas, defending suggestions and discussing proposals in one-to-one and group settings.
- Good analytical and problem solving skills.
Extra Curricular
- Handmade Network: A supportive network of low-level programmers, dedicated to understanding software problems from a hardware perspective. The community aims to produce high-performance, robust software by utilising the full capabilities of the hardware.
- Programming Communities: An active member of several programming community Discord servers, where knowledge and assistance is commonly shared.
- OneLoneCoder Codejam 2020: A week-long codejam, for which I created a simple logic gate puzzle game in C++. I placed 12th out of 108 entries. (Available on Itch.io and GitHub)
- IRC Client for Twitch.tv: IRC Client for Twitch which includes concurrent processing and web API calls.
- MIT Mystery Hunt: Puzzle-solving competition which involves lots of team work (teams of 50 + members) and global communication. These competitions have required me to write numerous Python scripts to solve anagrams and other similar problems.