I have been working professionally in electrical and computer engineering since I graduated from the University of Kentucky in 2015, both as an electrical engineer and as a systems software developer. My strengths are:
Programming experience in C, C++, Python, Linux, HTML, JavaScript, Rust, Java.
- My bread and butter on most projects are C, Python, and Linux shell scripting.
Strong knowledge of embedded systems concepts (serial protocols, gpio port driving, etc.) and experience interfacing varius sensors and ICs with microcontrollers.
- 99.99% of the systems I've worked on use I2C and UART for at least some communication so those are the protocols I have the most familiarity with.
Familiarity with a variety of popular microcontrollers, including Arduino, Raspberry Pi, Intel Edison, BeagleBone Black, ARM based microcontrollers, and others.
- I'm not particularly invested in a particular chip-set or architecture. I just download the toolchain, libraries, and docs for whatever system I happen to be using for a particular project and dive right in.
Comfortable programming systems running bare-metal, an RTOS, embedded linux, or a full-blown desktop or server linux distribution.
- A caveat for the full-blown desktop is that I do not program for Windows. I have ethical qualms about supporting a computer virus.
I'm on a first-name basis with Git, Vim, Pytest, Markdown and other helpful software tools.
- I've had a good deal of freedom in selecting my tools on the projects I've worked on and so I've gotten used to scouring the interwebs early in a project to identify and install any tools that can help save me time and improve my quality of work.
Experience using Altium to capture circuit schematics and design printed circuit boards.
- I typically put together a schematic with detailed part numbers and have a PCB layout pro do the actual layout. My PCB layout skills are limited to relatively straightforward two-layer boards that don't have too many high-speed signals or crazy EMI concerns.
Proficient at reading and understanding circuit schematics and data sheets for electrical components as well as API's and man pages for large software projects.
- The bigger sell might be that I'm willing to read the documentation. At the end of the day you just have to RTFM to do any serious engineering.
Capable of debugging both hardware and software using common lab equipment like oscilloscopes, logic analyzers, programmable power supplies, function generators, and digital multimeters.
- I'm a software guy that actually owns an oscilloscope and can usually get her to do what I ask without too much complaining.