Skip to main content

About Me

/images/2023-headshot.png

I'm a (freelance) Software Developer and a Systems Engineer with 3 years of professional experience and 8+ years of programming experience. My main focus is in Embedded Linux, but I also deal with bare-metal C applications and DevOps.

I'm available at adam.procio@gmail.com for business inquiries and on Mastodon for all else. Currently working at BTL Medical Technologies a.s..

My main skills include GNU/Linux knowledge, C and Python languages and the Yocto build system.

Click here to see some of the services I offer.








Experience

Oct 2023 - Now: Embedded system engineer @ BTL Medical Technologies a.s.

  • Yocto, Bash, C/C++, CMake

Jul 2023 - Sep 2023: Software tester @ esc Aerospace s.r.o.

  • Navigating pseudocode software specification in large PDFs

  • Fixing old and writing new tests in typed Python

Jan 2021 - Sep 2023: Embedded software engineer @ Photonic Technologies s.r.o.

  • Developing FreeRTOS and bare-metal firmware in C for in-house designed electronics based on the 8-bit AVR and ESP32 platform (also a bit of STM32)

  • Python programming for Linux

  • Maintenance and modification of a custom Linux distro based on Yocto

  • Porting bespoke software to ARM

  • Hacking up proof of concept software with Arduino (bare-metal) and Python (Linux)

  • Troubleshooting basic electronic interfaces (I2C, SPI, CAN)

  • Git evangelism

  • In cases of high time pressure flying out to the UK to ease integration hell on-site

Our electronics drive most of RBC Group-designed machines (now Bright Blue). I'm especially proud of my work on the second iteration of Refill Station, which helped our client to secure a UK government grant from the "Reduce. Reuse. Recycle." program.

Education

(No degree) Oct 2016 - Jun 2020: Czech Technical University, Open Informatics - Computer science

  • Designed and programmed a chess game in Java

  • Solved algorithmic problems

  • Developed a custom network layer and an embedded UI application in C

  • Dabbled with threads in C/C++ on Linux

  • Scripted in Bash and Python and dabbled in Lisp and Haskell

  • Trained classification models in PyTorch

  • Scraped websites using BeautifulSoup and played with data in Pandas

  • Created lab reports in LaTeX, did a lot of m*th and fell in love with Vim & Archlinux

Sep 2008 - Jun 2016: Gymnázium nad Štolou

Learned about relational databases, sorting algorighms and programmed a simplified Magic the Gathering CLI game in C++.

Skills

Technology (A graphical representation)

Legend Apprentice ApprenticeJourneyman JourneymanMaster Master

Technology Technology TechnologyTools ToolsTechnology->Tools SDK SDKTechnology->SDK Systems SystemsTechnology->Systems Languages LanguagesTechnology->Languages Web Web &DevOpsTechnology->Web GNUMake GNU MakeTools->GNUMake GDB GDBTools->GDB GCC GCCTools->GCC Git GitTools->Git FFMPEG FFMPEGTools->FFMPEG Gimp GimpTools->Gimp Sphinx SphinxTools->Sphinx Nikola NikolaTools->Nikola PulseView PulseViewTools->PulseView Graphviz GraphvizTools->Graphviz JupyterNotebook JupyterNotebookTools->JupyterNotebook Inkscape InkscapeTools->Inkscape ESPIDF ESP-IDFSDK->ESPIDF Arduino ArduinoSDK->Arduino STM32Cube STM32CubeSDK->STM32Cube OpenJDK OpenJDKSDK->OpenJDK Linux LinuxSystems->Linux Systemd SystemdSystems->Systemd YoctoOE Yocto ProjectOpenEmbeddedSystems->YoctoOE CMake CMakeSystems->CMake LaTeX LaTeXSystems->LaTeX C CLanguages->C Python PythonLanguages->Python HTML5 HTML5Languages->HTML5 Dot DotLanguages->Dot CPP C++Languages->CPP Java JavaLanguages->Java JavaScript JavaScriptLanguages->JavaScript CommonLisp CommonLispLanguages->CommonLisp Haskell HaskellLanguages->Haskell Tex TexLanguages->Tex CSS CSSLanguages->CSS SQL SQLLanguages->SQL GitLab GitLabWeb->GitLab Asana AsanaWeb->Asana OpenProject OpenProjectWeb->OpenProject Apache2 Apache2Web->Apache2 MySQL MySQLWeb->MySQL Docker DockerWeb->Docker Portainer PortainerWeb->Portainer

Languages (A detailed view)

Languages Languages LanguagesC CLanguages->C Python PythonLanguages->Python CPP C++Languages->CPP Java JavaLanguages->Java JavaScript JavaScriptLanguages->JavaScript glibc glibcC->glibc AVRLibc AVR LibcC->AVRLibc FreeRTOS FreeRTOSC->FreeRTOS TMCAPI TMC-APIC->TMCAPI libcurl libcurlC->libcurl POSIX POSIXC->POSIX Numpy NumpyPython->Numpy Pandas PandasPython->Pandas BeautifulSoup BeautifulSoupPython->BeautifulSoup PyTorch PyTorchPython->PyTorch Setuptools SetuptoolsPython->Setuptools VirtualEnv VirtualEnvPython->VirtualEnv docutils docutilsPython->docutils Click ClickPython->Click PyDBus PyDBusPython->PyDBus Poetry PoetryPython->Poetry PThread PThreadCPP->PThread OpenMP OpenMPCPP->OpenMP JavaFX JavaFXJava->JavaFX Maven MavenJava->Maven NodeJS NodeJSJavaScript->NodeJS NodeUSB node-usbJavaScript->NodeUSB NodeSerial node-serialJavaScript->NodeSerial

Languages

  • Czech (Native)

  • Slovak (Native)

  • English (C1)

  • French (A2)

Miscellaneous

  • Handy with a Multimeter, Logic probes \w PulseView and a Rohde & Schwartz Oscilloscope

  • Own a driver's license (type B) and a car

  • Vim, Archlinux

  • Prague native - I know places

Hobbies

  • Musicking

    • Jamming on violin (formally educated) and guitar

    • Piano

    • Dancing

  • Going to the movies

  • Cooking, sometimes baking

  • Slackline, Indoors Climbing, Cycling, Swimming, Running

  • Football (5 years at Dukla Prague youth, age 9-14)

  • Counter-Strike (hit Czech top 150 on Faceit.com between years 2017-2018)

Some tech I'm interested in

Mainly things I've heard good things about but haven't gotten around to play with yet

  • WebAssembly

  • SQLite

  • Rust (in progress...)

  • Zephyr

  • RISC-V

  • NFS

  • FPGA

  • OpenSCAD (3D)