- South America/Argentina/Córdoba - X5008IZU - Arquimedes 3557
- Telephone: +54 9 351 7722996
- Telegram: @agustinhenze
- E-mail and IM: email@example.com
- Date of birth: May 13th, 1985
- Citizenship: Argentinean and Italian (In progress)
- Languages: Spanish (mother tongue), English (Advanced B2), Deutsch (Beginner A1)
I'm a mature professional with more than 10 years on embedded software development. I love accepting challenges, researching and learning are my passions. I have a Degree in Electronic Engineering, with the thesis of Building an Autonomous Quadcopter using Open Architecture.
I'm a Debian Developer and Open Source lover. My background and my passion makes me a fast learner. From one side, I have written software for weird architectures like tilera64, but I've also written web pages using django, with everything else in between. Therefore I can do high level stuff understanding and designing the software architecture as well as doing low level stuff like writing and debugging assembly. I found myself facing awesome challenges on embedded systems so, even though knowing high level software always made the difference for me, I feel better doing low level stuff much closer to hardware. Designing and implementing real time software have been the most motivating challenges for me.
Head of "SatSoft" at Satellogic [2016-2018]
SatSoft is the team in charge of the software that runs inside the satellites. It includes bare metal embedded systems and linux embedded.
After building two generation of satellites, write thousands lines of code and have had a lot of fun, I was promoted to a new position. The good thing here is that my promotion was "natural", so my co-workers took this very well. This lets me easily implement radical ideas on how to change software architecture to evolve into many satellites (the Satellogic's plan is to have 300 satellites orbiting the earth in the year 2020). This led me to go deeper in some topics like software architecture, team management, interaction across teams, among others.
After building two generation of satellites, write thousands of lines of code and have had a lot of fun, I was promoted to a new position. The good thing here is that my promotion was "natural", so my co-workers took this very well. As a team was easy to implement radical ideas like changing the software architecture to evolve into many satellites (the Satellogic's plan is to have 300 satellites orbiting the earth in the year 2020). This led me to go deeper in some topics like software architecture, team management, interaction across teams, among others.
However, I love writing software so I've split the team into 4 small teams and I made them work as a cell, they can choose their programming language, their schedule, their roadmap, their own way of maintaining a good code quality just defining an interface to interact between them. Also, they push code across projects giving the chance to see the big picture and keep they motivated to have a better architecture. I am very proud to have taken this decision because now I can write software again and have fun with a "minimum management fee".
Satellite Embedded Software Engineer at Satellogic [2014-2016]
Great things happened here! We made impossible things here with no time at all. I remember being working for 36 hours straight because we were late for the launch. I have written thousands of lines of code in Python, C, C++ and bash scripting and I am really proud to know it is flying around the earth :).
Some technologies used:
- Python, C, C++, Docker, Gitlab and GCI.
- Overo (cortex A8) + device tree + drivers + bootstrap + Debian GNU/Linux rootfs + systemd
- TMS570 + GNU toolchain + bootstrap + low level things + many many boards and drivers
- CoAP + CSP for communication between nodes that compose the satellite.
- Cameras + image processing + control + cooking
- Software to operate and communicate with a bunch of satellites from multiple ground stations (Python, C, ZeroMQ)
- And a lot more.
Technical Lead at TVD Consortium [2013-2014]
My responsability is to lead, coordinate, manage and monitor the development teams in order to achieve the proposed goals.
Some technologies used:
- Digital TV ISDB-T.
- Transport Stream Technology.
- Ginga Middleware.
- NCL/Lua applications.
- Technical Overview and challenges
Outsourced Software Engineer at INVAP [2013-2014]
Great challenges happened here, technically the project involves big challenges, you can see more details here. But it was my first experience in a project that needs to meet all requirements to be ISO certified.
I'm a specialist in the C, C++ and Python programming languages. Please look at my skills below.
- Programming Languages daily used
- ARM Assembly
- Bash scripting
- Embedded Systems
- First steps on Zephyr
- Thousands hours of development on the FreeRTOS platform.
- Strong knowledge about linux booting process.
- Strong knowledge about Real Time Operating Systems.
- Development of Linux char drivers
- Software Development
- CI preacher.
- Agile methodologies (Scrum, Kanban).
- Design patterns.
- Profiling, Coverage and Optimisation (google-perftools, gprof, valgrind, kcachegrind, latencytop, perf Linux, lcov, between others).
- GDB debugging and core dump analysis.
- Parallel programming (SIMD/MIMD, TBB, OpenMP, etc).
- Build systems
- In love with CMake.
- Makefile from scratch.
- Autoconf and Automake.
- Strong knowledge about cross compiling
- Since I become on Debian Developer, I had to deal with waf, scons, ant, maven, bitbake, grunt, ninja, among others.
- Some frameworks used
- Qt4 (C++)
- Good communication
- Problem solving
- Ability to work under pressure