Matthew Bentivegna

Software Developer • Electrical Engineer • Inventor
$ ./about work-history
I have been an Engineer and programmer for over 20 years. My focus has been on the digital side of high frequency power amplifiers, in a company that specializes in custom-made designs for Research and Development programs. The technology I've helped develop has been used for cutting-edge research in the fields of medicine (MRI), science (particle accelerators), and defense.
$ ./about technology
Hardware

I've designed circuit boards with sophisticated control and monitoring capabilities, complex interconnected digital platforms, and dozens of custom user interfaces. I've also created custom test equipment to enhance the testing of our products, including test fixtures, and even a precision multi-pulse generator for granular control over synced, strictly-timed pulses.


Software

I've written code in assembly language for microcontrollers, graphical user interface programs to control amplifiers with serial interfaces, and a host of small programs and scripts to manage the design complexities of our products. I've also developed code for combinational logic devices (CPLDs, FPGAs).

In addition, I've written servers with extensive back-end logic for Ethernet-based interfaces, websites, and API scripts able to interface with common programs and web applications.


Inventing

Combining these skills lets me exercise my creativity with technology, particularly with inventing, which is something I mostly do for fun.

In general, I prefer making my own solutions to fit my needs, rather than adjusting my needs to fit a pre-existing solution.

$ ./about --passion software
While I enjoy designing hardware, my true passion lies in software development. In addition to the coding I get to do for work, programming is something I do a lot of in my free time. Some of the significant projects I've worked on are:
  • Personal finance software that tracks accounts, bill payments, and allows allocation of money into different pockets of savings
  • A few small games written in SDL
  • A discord bot used to track turns for a TTRPG game
  • Several websites
  • Task management project with an API interface
$ ./about philosophies

Creativity: Programming is as much of an art as it is a science. Solving complex problems allows one to exercise a degree of creativity in how they approach the problem. Implementing this solution is where the 'rules' come more into play.

Problem Solving: Problems are obstacles, and solving them removes them as obstacles. For many, there is a sense of satisfaction and joy when an obstacle is overcome. For me, problem solving is something that I enjoy immensely.

Divide and Conquer: A classic approach within programming, and for problem solving in general, is to break down a problem into smaller pieces and tackle them one at a time. I use this approach for any project I might be working on, programming or otherwise.

Attention to Detail: Finding a solution to a complex problem can quickly go wrong if one approaches it sloppily or frequently makes careless mistakes. Taking a few extra minutes to focus on the current task, and carefully double-checking the work, can save hours of troubleshooting later on.

Troubleshooting: This skill seems to be underrepresented in training and education, but is of vital importance in the field. Knowing some basic troubleshooting techniques can vastly speed up the process of identifying and then fixing problems.

$ ./about other-interests
Some of my other interests include:
  • Woodworking
  • Cooking / Barbeque
  • Hiking
  • Music
  • Reading (particularly fantasy)
  • Logic Puzzles / Kakuro
  • Animal Rescue