3f1d52696b0a380a4d788b7f1148cfe4f4950ff9
[wiki.git] / AbridgedResume
1 <div class="thumbright">{{ pictures/bernie/bernie-gradient-thumb.jpg | maxwidth=160 }}</div>
2
3 <span style="font-size: large">
4 **Bernie Innocenti** \\
5 Linux and Firmware Engineer
6 </span>
7
8 Boston Greater Area \\
9 email: **bernie**@**codewiz**.**org** \\
10 [[https://gitlab.com/berniecodewiz | GitLab]] | [[https://github.com/codewiz | GitHub]] | [[https://www.linkedin.com/in/codewiz | LinkedIn]] \\
11 Website: [[https://www.codewiz.org/ | www.codewiz.org]] \\
12
13 <span style="font-size: small">Latest version of this resume: [[https://www.codewiz.org/resume | www.codewiz.org/resume]]</small>
14
15 === Objectives ===
16
17 My primary interests are system programming, drivers, firmware, sensors, robotics, hard real-time systems,
18 compilers, machine learning, distributed systems, low-latency networking, computer graphics, education technology.
19 Anything related to science, technology, aerospace and electronics is likely to interest me, //especially// if it's not already listed below.
20
21 === Summary ===
22
23  * Senior Firmware Engineer, Starship Avionics & Sensor Development, [[https://www.spacex.com/ | SpaceX]]
24  * Senior Software Engineer, Android Networking, [[https://careers.google.com/locations/tokyo/ | Google Japan]]
25  * Senior Software Engineer, Search Infrastructure, [[https://careers.google.com/locations/cambridge/ | Google]]
26  * Co-founder, [[https://www.sugarlabs.org/ | Sugar Labs Foundation]] (education non-profit)
27  * OS Developer, [[http://www.paraguayeduca.org/ | Paraguay Educa]], [[OneLaptopPerChild | One Laptop Per Child]]
28  * CTO & Co-Founder, [[https://www.develer.com/en/ | Develer]] (embedded systems / Linux engineering firm)
29  * Open-source contributor ([[https://gcc.gnu.org/ | GCC]], [[https://www.kernel.org/ | Linux kernel]] and various others)
30
31 === Skills ===
32
33  * **Programming Languages**: C++20, Rust, C, Java, Go
34  * **Dynamic/Scripting Languages**: Python, Java****Script, Type****Script, Bash, Perl, PHP
35  * **Assembly**: x86, ARM, m68k, 6502, Z80
36  * **Microcontrollers and DSPs**: NXP i.MX RT (ARM), Coldfire, M68705, TMS320
37  * **Other Languages**: HTML, CSS, GLSL, SQL, LaTeX
38  * **Natural Languages**: Italian (native), English (excellent), Spanish (fluent), Japanese (studying for JLPT N3)
39
40  * **Operating Systems**: Linux (Red Hat, Fedora, Arch, Ubuntu, Debian, uClinux), Android, macOS, Solaris, NetBSD, AmigaOS, Windows
41  * **Development Tools**: GCC (contributor), Clang, Visual Studio Code, GNU make, ninja
42  * **Embedded Compilers**: Codewarrior, IAR, Code Composer Studio, BSO Tasking, SAS/C
43  * **Frameworks and APIs**: POSIX, Web****Assembly, Qt, OpenGL, Win32, Protobufs
44  * **Programming Styles**: functional, OOP, template metaprogramming, async/await, event-driven, realtime, multithreading
45  * **Version Control**: Git (self-hosted, [[https://gitlab.com/berniecodewiz | GitLab]] and [[https://github.com/codewiz | GitHub]]), Perforce, Subversion
46
47  * **Network Protocols**: HTTP, QUIC, TLS, IPv6, TCP, UDP, DNS, DNSSEC, DHCP, TFTP, BGP
48  * **Sysadmin**: KVM, Docker, Puppet, Google Cloud, systemd, Nagios, Grafana
49
50 === Work Experience ===
51
52 ==== Senior Firmware Engineer, SpaceX (Sep 2021 ~ Apr 2024) ====
53  * Sensor Development: Design firmware for navigation and propulsion
54  * Starship Avionics: Co-maintainer of firmware framework
55  * Test engineering: Build Linux-based testbeds and CI pipelines for sensors
56
57 ==== Senior Software Engineer, Google (Sep 2011 ~ Sep 2021) ====
58  * Android Core Networking: Lead developer of the [[https://source.android.com/devices/architecture/modular-system/dns-resolver | DNS resolver]], including monitoring and experiments system
59  * Google Search Infrastructure: Develop features for high-throughput, high-availability, distributed web serving for billions of files
60  * [[https://amp.dev/ | Accelerated Mobile Pages]]: Tech lead of global CDN for news sites integrated with Google Search
61  * Instructor of advanced C++ and Linux programming courses for Tokyo and Taipei offices
62  * Conduct system design interviews, mentor new employees and host interns
63
64 ==== Senior Systems Administrator, Free Software Foundation (Oct 2010 ~ Sep 2011) ====
65  * Develop and consolidate infrastructure comprising approx. 100 virtual machines and 50 domains
66  * Maintain project hosting and collaboration services for the GNU Project
67
68 ==== Co-founder, Sugar Labs (May 2008 ~ present) ===
69  * Lead of the [[https://wiki.sugarlabs.org/go/Infrastructure_Team/Resources | Infrastructure Team]]
70  * Member of the Sugar Labs Oversight Board (2008 ~ 2011)
71  * Fundraising, partnerships and organization of events
72
73 ==== OS Developer, Paraguay Educa (Jan 2010 ~ Aug 2010)  ====
74  * Coordinate engineering team to develop new features for [[https://sugarlabs.org/ | Sugar Learning Environment]]
75  * Build, test and release OS updates for 4600 laptops deployed in rural schools
76  * Organize computer programming and "hacking" workshops for students
77
78 ==== Volunteer at One Laptop Per Child (May 2007 ~ Apr 2008) ====
79  * In-house maintainer of the X11 windowing system and graphics drivers
80  * Input drivers, keyboard layouts and i18n
81  * Platform development, packaging, release engineering
82
83 ==== CTO, Co-founder at Develer (Nov 2002 ~ Apr 2007) ====
84  * Designer of [[http://bertos.org/|BeRTOS]], a modular, open-source RTOS for 8bit and 16bit microcontrollers.
85  * Built team of highly skilled Linux and firmware engineers
86  * Wrote firmware for embedded systems and DSPs (over a dozen different architectures)
87  * Created project hosting and remote collaboration infrastructure
88  * Business development and customer relationships
89
90 ==== Freelance (2000 ~ 2009) ====
91  * **Telecom Italia Labs**: Design and implement compiler & interpreter of an object-oriented configuration language for a network simulator
92  * **Selex Communications**: Design and develop DSP modem firmware for Air Traffic Control radios
93  * **Gilbarco Veeder-Root**: Internal training of 200h for 45 engineer on Embedded Linux, OOP and C++
94
95 ==== Instructor for European Fund's engineering courses ====
96  * [[https://en.wikipedia.org/wiki/DLab | DLab]]: Multimedia programmer course (600h for 20 participants). My students designed a [[https://sourceforge.net/projects/dlab/files/Starshocks/0.5%20beta/ | 2D game engine]] from scratch
97  * [[https://sourceforge.net/projects/gfactory/ | GFactory]]: Videogame development course of 450h for selected 15 participants
98  * PAW (Web Application Programmer): 300h for 15 participants
99  * Workshop on GIS Systems in Iannina, Greece (30h for 15 participants)
100
101 ==== Co-founder and CTO, Sirius SRL ====
102  * Firmware and power control for laser hair removal
103  * Created company's IT infrastructure and Internet presence
104
105 ==== Firmware engineer, SEAC R&D laboratories ====
106  * Control software for clinical analyzer robot with 18 stepper motors
107  * Software, firmware and driver development for laboratory instruments: photometers, incubators, hematology
108
109 === Education ===
110
111  * Diploma in Mathematics, Computer Science and Electrical Engineering (Firenze, Italy)
112  * Undergraduate student of Software Engineering (Università degli Studi di Firenze)
113  * Undergraduate courses of Education Technology and Mathematics (Harvard Extension School)
114  * Personal research in compilers, algorithms, operating systems, network protocols, 3D graphics
115
116 === Personal Projects / Volunteer Activity  ===
117  * [[https://gitlab.com/berniecodewiz/mandelwow | Mandelwow]], a 3D fractal demo written in Rust and OpenGL
118  * [[https://www.codewiz.org/wiki/CorebootX230 | Coreboot hacking]] on Thinkpad laptops
119  * [[GeekiGeeki]], a wiki engine backed by Git, powering this website
120  * [[http://fedoraproject.org/wiki/User:Bernie | Fedora developer]]
121  * [[https://launchpad.net/~codewiz/+archive/ppa | Ubuntu packager]]
122  * GCC maintainer (mostly m68k backend)
123  * Minor contributions to the Linux kernel
124  * Co-maintainer of [[http://bdm.sourceforge.net | Background Debug Module]] driver for Freescale Coldfire series
125  * [[https://www.netbsd.org/ | NetBSD]] developer
126  * Sysop of [[SystemShockBBS]], a FidoNET technology BBS