-See the CurriculumVitae for full details.
+<div class="thumbright">{{ pictures/bernie/bernie-gradient-thumb.jpg | maxwidth=160 }}</div>
-== Bernardo Innocenti's Résumé ==
+<span style="font-size: large">
+**Bernie Innocenti** \\
+Linux Systems Engineer, Firmware Engineer \\
+</span>
-=== Contact Information ===
+東京都区部 — Tokyo Metro, Japan \\
+email: **bernie**@**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]] \\
-Please contact me by e-mail only: bernie@codewiz.org
+<span style="font-size: small">Latest version of this resume: [[https://www.codewiz.org/resume | www.codewiz.org/resume]]</small>
-=== Summary ===
+=== Career Objectives ===
- * Founder, [[SugarLabs | Sugar Labs Foundation]];
- * Volunteer operating system engineer, [[OneLaptopPerChild | One Laptop Per Child];
- * Founder, CEO and R&D director at [[DevelerCompany | Develer s.r.l.]];
- * OpenSource maintainer and contributor in several areas, including GCC compiler and the Linux kernel;
- * Firmware engineer at [[SeacCompany | SEAC s.r.l.]]
+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.
-=== Education ===
+=== Summary ===
- * High-school Diploma in Math, Computer Science and Electrical Engineering in Firenze, Italy;
- * Non-formal in CS subjects including compilers, algorithms, OS design, networking, databases.
+ * 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]]
+ * 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
+ * Open-source contributor ([[https://gcc.gnu.org/ | GCC]], [[https://www.kernel.org/ | Linux kernel]], various others)
=== Skills ===
- * '''Programming languages''': C++, C, Assembly (m68k/Coldfire, m68705, TMS320, Z80), Java.
- * '''Dynamic/Agile languages''': Perl, PHP, Python, Javascript.
- * '''Scripting languages''': Bourne Shell.
- * '''Not properly languages''': SQL, HTML, CSS, LaTeX, GNU make.
-
- * '''Operating systems''': Linux (Red Hat, Fedora, SuSE, Ubuntu, Debian), Mac OS X, Solaris (version 6 to 9),
- NetBSD, AmigaOS, Windows (NT, WIN32 and WIN16).
- * '''Frameworks/APIs''': STL, Boost, POSIX, WIN32, Qt, MFC.
- * '''Programming Techniques''': OOP, generic programming, metaprogramming, real-time, event-driven, multithreading.
- * '''Development Tools''': GCC toolchain, GNU make, auto-tools, MSVC, XCode, Codewarrior, IAR, Code Composer Studio, BSO Tasking.
- * '''Revision Control''': Git, Subversion, CVS, RCS, Rational Clearcase, Source Safe.
-
-=== Experience ===
-
-==== Volunteer developer for One Laptop Per Child (May 2007 to present) ====
- * In-house maintainer of the X11 windowing system;
- * Work on localization, input devices and keyboard layouts;
- * Miscellaneous operating system development, packaging engineering;
- * Porting existing applications to the OLPC environment;
- * Miscellaneous Linux kernel development.
-
-==== R&D manager, founder and CEO at Develer s.r.l. (November 2001 to present) ====
- * Firmware, software, embedded and high-level development for several customers;
- * CTO of embedded division;
- * Sales and customer relations for most of Develer's customers;
- * Created and managed network, IT and development infrastructure of whole company.
-
-==== Freelance software engineering consultant (April 2000 to present) ====
- * Firmware development for SEAC s.r.l.;
- * Development of credit card drivers and system software for Marconi Commerce Systems;
- * Developed compiler/interpreter of a specialized OO langauge for Telecom Italia Labs;
- * Created DSP firmware for air traffic control radio communication systems.
-
-==== Teacher in courses for the European Fund (2002, 2004, 2006 and 2007) ====
- * D-Lab: Multimedia course of 600h for 20 students;
- * GFactory: Videogame development course of 450h for 15 students;
- * PAW (Web Application Programmer): 300h for 15 students;
- * Advanced C++, Embedded Linux and Software Analysis & Design for 40-50 employees of Gilbarco Veeder-Root (200h);
- * Workshop on GIS Systems in Iannina, Greece (30h).
-
-==== Firmware engineer and owner of Sirius s.r.l. (late 2000 to mid 2001) ====
- * Developed firmware and high-level software of cooling and telemetry system for laser surgery;
- * Created and managed network, IT and development infrastructure of whole company.
-
-==== Firmware engineer at SEAC s.r.l. R&D laboratories (June 1996 to April 2000) ====
- * Team member of robotized clinical analyzers ARIO and Alisei;
- * Developed firmware for several devices, including photometers and blood cell analyzers.;
- * Created and maintained the network and development infrastructure of the R&D lab.
-
-=== Activities ===
- * OneLaptopPerChild volunteer OS developer (2007 to present)
- * RedHat / FedoraLinux OS developer (2007 to present)
- * Xorg (X Wingow System) developer (2007 to present)
- * GCC compiler maintainer (2003 to present)
- * Linux kernel hacker (2002 to present)
- * NetBSD developer (2000-2001)
- * Co-maintainer of Motorola Background Debug Module driver (2003-2005)
- * Contributor of several OpenSource projects
- * SysOp of SystemShock BBS (1994-2000)
+ * **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)
+
+ * **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
+ * **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
+
+ * **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
+
+=== Work Experience ===
+
+==== Senior Software Engineer, Google (Sep 2011 to present) ===
+ * Android Core Networking: Lead developer of the [[https://source.android.com/devices/architecture/modular-system/dns-resolver#dns-q | DNS resolver]], including monitoring and experiments system
+ * Google Search Infrastructure: High-throughput, high-availability, distributed web serving for billions of files
+ * [[https://amp.dev/ | Accelerated Mobile Pages]]: Lead of global CDN for news sites integrated with Google Search
+ * Instructor of advanced C++ and Linux programming courses for Tokyo and Taipei offices
+ * Conduct system design interviews, mentoring for new employee and intern hosting
+
+==== Senior Systems Administrator, Free Software Foundation (Oct 2010 ~ Sep 2011) ====
+ * Develop and grow 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) ===
+ * Lead of the [[https://wiki.sugarlabs.org/go/Infrastructure_Team/Resources | Infrastructure Team]]
+ * Member of the Sugar Labs Oversight Board (2008 to 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
+
+==== Volunteer Developer 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
+
+==== CTO, Co-founder at Develer (Nov 2002 ~ Apr 2007) ====
+ * Designer of [[http://bertos.org/|BeRTOS]], a modular, open-source RTOS for 8bit and 16bit microcontrollers.
+ * 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
+
+==== Freelance (2000 ~ 2009) ====
+ * **Telecom Italia Labs**: Compiler / interpreter of an object-oriented configuration language for a network simulator
+ * **Selex Communications**: Air traffic control radio DSP firmware
+ * **Gilbarco Veeder-Root**: Internal training of 200h for 45 engineer on Embedded Linux, OOP and C++
+
+==== Instructor for European Fund's engineering courses ====
+ * D-Lab: Multimedia software development course of 600h 20 selected participants
+ * GFactory: Videogame development course of 450h for selected 15 participants
+ * PAW (Web Application Programmer): 300h for 15 participants
+ * Workshop on GIS Systems in Iannina, Greece (30h)
+
+==== Co-founder and CTO, Sirius (2000 ~ 2001) ====
+ * Firmware and Windows control software for laser skin surgery
+ * Created company development infrastructure and Internet presence
+
+==== Firmware engineer at SEAC R&D laboratories ====
+ * Control software for robot clinical analyzer with 18 stepper motors
+ * Software, firmware and driver developer for laboratory instruments: photometers, hematology, incubators
+ * Introduced version control and other best practices for software development
+
+=== Education ===
+
+ * Diploma in Mathematics, Computer Science and Electrical Engineering (Firenze, Italy)
+ * Undergraduate student of Software Engineering (Università degli Studi di Firenze)
+ * Undergraduate courses of Education Technology and Mathematics (Harvard Extension School)
+ * Personal research in compilers, algorithms, operating systems, network protocols, 3D graphics
+
+=== Personal Projects / Volunteer Activity ===
+ * [[https://gitlab.com/berniecodewiz/mandelwow | Mandelwow]], a 3D fractal demo written in Rust and OpenGL
+ * [[GeekiGeeki]], a wiki engine backed by Git, powering this website
+ * [[http://fedoraproject.org/wiki/User:Bernie|Fedora developer]]
+ * [[https://launchpad.net/~codewiz/+archive/ppa|Ubuntu packager]]
+ * GCC maintainer (mostly m68k backend)
+ * Linux kernel hacker
+ * Co-maintainer of [[http://bdm.sourceforge.net | Background Debug Module]] driver for Freescale Coldfire series
+ * [[https://www.netbsd.org/ | NetBSD]] developer
+ * Sysop of [[SystemShockBBS]], a FidoNET technology BBS