Skip to content

Tools and Technologies

Summary
  • Programming languages: Python, Javascript, C++, bash
  • Development: Git, CI/CD, Docker, documentation (Sphinx, mkdocs), testing (pytest)
  • Data science: Jupyter, SciPy stack, pandas, scikit-learn, SymPy, Matplotlib, Seaborn, Plotly, Streamlit
  • Web development: Python (FastAPI, Pydantic), Javascript (Vue), HTML, CSS, SQLAlchemy
  • Robotics: ROS stack; various microcontrollers, boards, sensors, and actuators
  • Hardware: Raspberry Pi, ESP8266, Arduino, mbed; MicroPython, CircuitPython, C++, C
  • Mechanical: Solidworks, Autodesk Inventor, OpenSCAD; design, analysis, simulation, and manufacturing
  • Electrical: PCB design and manufacturing, soldering, wiring, crimping, cable management
  • Other: ChatGPT and other LLMs; Gimp, Inkscape; Linux, macOS, Windows; various office suites

In the course of my work, I've had the opportunity to use a wide array of tools and technologies that support efficient and effective software development, project management, and team collaboration. While the extent of my experience with each tool varies, they have all played a role in my projects and professional tasks.

Software engineering

Python

  • Testing: pytest
  • Documentation: Sphynx, mkdocs
  • Environment: Poetry, pip, venv, Pyenv, Pipenv, DevPI

Data science

  • Data science: Jupyter, SciPy stack, pandas, scikit-learn, SymPy
  • Visualization: Matplotlib, Seaborn, Plotly, Streamlit

Interfaces

  • TUIs: argparse, typer, click, fire
  • GUIs: OpenGL, PyQT, PySide, Tkinter

Web development

  • Languages: Python, Javascript, HTML, CSS
  • Frameworks: FastAPI, Flask, Django, Vue
  • Packages: Pydantic, Jinja2, Bootstrap, Axios
  • Databases: SQLAlchemy, SQLite, redis
  • Distributed systems: Docker, Kafka, Kubernetes, AWS

General development

  • Version control: Git, Github, Gitlab
  • CI/CD: Github Actions, Gitlab CI, Travis, Jenkins
  • Collaboration tools: Jira, Confluence, Trello
  • Other development tools: Tox, Nox, Makefile, CMake

Other languages

  • Text: Markdown, reStructuredText, LaTeX
  • Scientific programming: Matlab (with Simulink), LabVIEW, Maple, Mathcad, Mathematica
  • Familiar with: Bash, C, Rust, C++ ('11 and later), Java, Kotlin, Haskell, Perl, C#, VBA

Physical interfacing

Robotics

  • Languages: Python, C, C++ (up to '03)
  • Packages: ROS, Gazebo, rviz, OpenCV
  • Hardware: Allen Bradley PLCs, Kinova robotic arms, Dynamixel, Maxon, PhotonFocus
  • Products: LEGO Mindstorms, AR.Drone
  • Motion capture: Optitrack
  • Familiar with: Matlab (with Simulink), RSLogix

Mechanical engineering

  • CAD Tools: Solidworks, Autodesk Inventor, AutoCAD, Sketchup, Pro/E, CATIA, Unigraphics, FreeCAD, OpenSCAD
  • Analysis and simulation: Solidworks, Adams View, ANSYS
  • Production: Machine shop practices, metalworking, woodworking

Electrical engineering

  • Platforms: Raspberry Pi, ESP8266, Arduino, mbed, PIC, AVR, Altera DE2 FPGA
  • Programming: MicroPython, CircuitPython, C++, C, VHDL
  • PCB Design: Altium, PSpice, Eagle, KiCAD, Wonderware
  • Production: Soldering, wiring, crimping, cable management

Other

  • Digital logic: Digital logic, Pneumatic, and Hydraulic circuit design

Other tools

  • AI Tools: ChatGPT, Claude, Bard, Stable Diffusion, some Langchain and HuggingFace
  • Graphic design: Gimp, Inkscape, diagrams.net (draw.io), Visio
  • Office suites: LibreOffice, Microsoft Office, Google Suite
  • Project management: Microsoft Project, Primavera
  • Operating systems: Linux (including Arch, Fedora, and Ubuntu), macOS, Windows
  • IDEs and text editors: PyCharm, VSCode, Vim, Spacemacs