<span style="font-size: large">
**Bernie Innocenti** \\
-Linux Systems Engineer, Firmware Engineer \\
-</span>
+Linux and Firmware Engineer
+</span> \\
+Boston, Tokyo
-東京都区部 — Tokyo Metro, Japan \\
-email: **bernie**@**codewiz**.**org** \\
+Email: **bernie**@**codewiz**.**org** \\
+Website: [[https://www.codewiz.org/ | codewiz.org]] \\
[[https://gitlab.com/berniecodewiz | GitLab]] | [[https://github.com/codewiz | GitHub]] | [[https://www.linkedin.com/in/codewiz | LinkedIn]] \\
-Website: [[https://www.codewiz.org/ | www.codewiz.org]] \\
-<span style="font-size: small">Latest version of this resume: [[https://www.codewiz.org/resume | www.codewiz.org/resume]]</small>
+<span style="font-size: small">Latest version of this page: [[https://www.codewiz.org/resume | codewiz.org/resume]]</small>
-=== Career Objectives ===
+=== Objectives ===
-My primary interests are in system programming, compilers, firmware, sensors, robotics, machine learning, GPUs, education technology, distributed systems, low-latency networking, and real-time.
-Anything related to science, technology and consumer electronics is likely to attract me, //especially// if it's not already listed here.
+System design, real-time systems, sensors, robotics, compilers, parallel computing, graphics acceleration, machine learning,
+low-latency networking, distributed systems.
+
+Work related to science, technology, electronics and aerospace is likely to interest me, //especially// if it's not already listed below.
=== Summary ===
- * Senior Software Engineer, [[https://www.google.com/ | Google]]
- * Senior Systems Administrator, [[https://www.fsf.org/ | Free Software Foundation]]
- * Co-founder, Board Member, [[https://www.sugarlabs.org/ | Sugar Labs Foundation]]
+ * Senior Firmware Engineer, Starship Avionics & Sensor Development, [[https://www.spacex.com/ | SpaceX]]
+ * Senior Software Engineer, Android Networking, [[https://careers.google.com/locations/tokyo/ | Google Japan]]
+ * Senior Software Engineer, Search Infrastructure, [[https://careers.google.com/locations/cambridge/ | Google Cambridge]]
+ * Co-founder, [[https://www.sugarlabs.org/ | Sugar Labs Foundation]] (edutech non-profit)
* OS Developer, [[http://www.paraguayeduca.org/ | Paraguay Educa]], [[OneLaptopPerChild | One Laptop Per Child]]
- * CTO & Co-Founder, [[https://www.develer.com/en/ | Develer]], software and embedded systems engineering firm
+ * CTO & Co-Founder, [[https://www.develer.com/en/ | Develer]] (Linux / embedded engineering firm)
* Open-source contributor ([[https://gcc.gnu.org/ | GCC]], [[https://www.kernel.org/ | Linux kernel]] and various others)
=== Skills ===
- * **Programming languages**: Modern C++, Rust, Java, Go, C, asm (x86, m68k/Coldfire, m68705, TMS320, Z80, 6502)
- * **Dynamic/Scripting languages**: Python, Java****Script, Bash, Perl, PHP
- * **Pseudo languages**: HTML, CSS, SQL, LaTeX, GNU make
- * **Natural Languages**: Italian (native), English (excellent), Spanish (fluent), Japanese (studying for JLPT N3)
+ * **Programming**: C++23, Rust, C, Java, Python, Go, Java****Script, Type****Script, PHP
+ * **Scripting**: Bash, Perl, Lua
+ * **Assembly**: ARM, x86, m68k, 6502, PowerPC, Z80
+ * **Microcontrollers**: NXP i.MX RT (ARMv7), Coldfire, M68705, TMS320 DSP
+ * **Other Languages**: HTML + CSS, GLSL, SQL, LaTeX
+ * **Natural Languages**: Italian (native), English (excellent), Spanish (fluent), Japanese (JLPT N3-N4)
- * **Operating systems**: Linux (Arch, Red Hat, Fedora, Ubuntu, Debian, uClinux), Android, MacOS, Solaris, NetBSD, AmigaOS, Windows
- * **Development Tools**: GCC (contributor), Clang, VSCode, XCode
- * **Embedded Compilers**: Codewarrior, IAR, Code Composer Studio, BSO Tasking, SAS/C
+ * **Operating Systems**: Linux (Red Hat, Fedora, Arch, Ubuntu, Debian, uClinux), Android, macOS, NetBSD, Solaris, AmigaOS, Windows
+ * **Development Tools**: GCC (contributor), Clang, Visual Studio Code, GNU make, ninja, bazel
+ * **Execution domains**: realtime, event-driven, async/await, multithreading, client/server, GPU offload
* **Frameworks and APIs**: POSIX, Web****Assembly, Qt, OpenGL, Win32, Protobufs
- * **Programming Styles**: OOP, functional programming, template metaprogramming, event-driven, real-time, multithreaded
- * **Version Control**: Git (self-hosted, [[https://gitlab.com/berniecodewiz | GitLab]] and [[https://github.com/codewiz | GitHub]]), Perforce, Subversion
+ * **Version Control**: Git ([[https://codewiz.org/gitweb/ | self-hosted]], [[https://gitlab.com/berniecodewiz | GitLab]] and [[https://github.com/codewiz | GitHub]]), Perforce, Subversion
- * **Network protocols**: QUIC, HTTP, IPv6, TCP, TLS, DNSSEC, BGP
- * **Sysadmin**: KVM, Docker, Puppet, Google Cloud, systemd, Nagios, Munin
- * **Server software**: Apache, Nginx, BIND, Postfix, Exim, MySQL, PostgreSQL, Mediawiki, Asterisk
+ * **Network Protocols**: HTTP, QUIC, TLS, IPv6, TCP, UDP, DNS, DNSSEC, DHCP, TFTP, BGP
+ * **Sysadmin**: KVM, Docker, Puppet, Google Cloud, systemd, Nagios, Grafana
=== Work Experience ===
-==== Senior Software Engineer, Google (Sep 2011 to present) ===
+==== Senior Firmware Engineer, SpaceX (Sep 2021 ~ Apr 2024) ====
+ * Sensor Development: Design control firmware for navigation and fuel control
+ * Starship Avionics: Co-maintainer of C++ firmware framework
+ * Test engineering: Build Linux-based CI pipelines and testbeds for firmware projects
+
+==== Senior Software Engineer, Google (Sep 2011 ~ Sep 2021) ====
* Android Core Networking: Lead developer of the [[https://source.android.com/devices/architecture/modular-system/dns-resolver | DNS resolver]], including monitoring and experiments system
* Google Search Infrastructure: Develop features for high-throughput, high-availability, distributed web serving for billions of files
* [[https://amp.dev/ | Accelerated Mobile Pages]]: Tech lead of global CDN for news sites integrated with Google Search
* Develop and consolidate infrastructure comprising approx. 100 virtual machines and 50 domains
* Maintain project hosting and collaboration services for the GNU Project
-==== Co-founder, Sugar Labs (May 2008 to present) ===
+==== Co-founder, Sugar Labs (May 2008 ~ present) ===
* Lead of the [[https://wiki.sugarlabs.org/go/Infrastructure_Team/Resources | Infrastructure Team]]
- * Member of the Sugar Labs Oversight Board (2008 to 2011)
+ * Member of the Sugar Labs Oversight Board (2008 ~ 2011)
* Fundraising, partnerships and organization of events
==== OS Developer, Paraguay Educa (Jan 2010 ~ Aug 2010) ====
* Coordinate engineering team to develop new features for [[https://sugarlabs.org/ | Sugar Learning Environment]]
- * Release OS upgrade for 4600 machines deployed in rural schools
- * Organize computer programming and "hacking" courses for students
+ * Build, test and release OS updates for 4600 laptops deployed in rural schools
+ * Organize computer programming and "hacking" workshops for students
-==== Volunteer Developer at One Laptop Per Child (May 2007 ~ Apr 2008) ====
+==== Volunteer at One Laptop Per Child (May 2007 ~ Apr 2008) ====
* In-house maintainer of the X11 windowing system and graphics drivers
* Input drivers, keyboard layouts and i18n
* Platform development, packaging, release engineering
* Built team of highly skilled Linux and firmware engineers
* Wrote firmware for embedded systems and DSPs (over a dozen different architectures)
* Created project hosting and remote collaboration infrastructure
- * Business development and customer relationships in multiple industries
+ * Business development and customer relationships
==== Freelance (2000 ~ 2009) ====
* **Telecom Italia Labs**: Design and implement compiler & interpreter of an object-oriented configuration language for a network simulator
==== Co-founder and CTO, Sirius SRL ====
* Firmware and power control for laser hair removal
- * Created company's Internet presence and collaboration infrastructure
+ * Created company's IT infrastructure and Internet presence
==== Firmware engineer, SEAC R&D laboratories ====
* Control software for clinical analyzer robot with 18 stepper motors