**Bernie Innocenti** \\ **Linux Systems Engineer, Firmware Engineer** \\ 東京都区部 — 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/ \\ === Career Objectives === My primary interests are in system programming, compilers, firmware, sensors, robotics, machine learning, GPUs, education technology, distributed systems, low-latency networking, and realtime applications. \\ Anything related to science, technology and consumer electronics is likely to attract 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]] * Product/Release Manager, [[http://www.paraguayeduca.org/ | Paraguay Educa]] * OS Developer (volunteer), [[OneLaptopPerChild | One Laptop Per Child]] * CTO, Co-Founder at [[https://www.develer.com/en/ | Develer]], software and embedded systems engineering firm * Contributor of various Free Software projects, including [[https://gcc.gnu.org/ | GCC]] and the [[https://www.kernel.org/ | Linux kernel]] === 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 (beginner) * **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 (advanced), Perforce, Subversion * **Sysadmin**: KVM, XEN, Docker, Puppet, systemd, Nagios, Munin * **Server software**: BIND, Postfix, Exim, Apache, Nginx, MySQL, PostgreSQL, Mediawiki, Asterisk * **Networking**: QUIC, HTTP/3, IPv6, TCP, TLS, DNSSEC, BGP === 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 === Experience === ==== 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 ==== 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 consultant (2000 -- 2009) ==== * Compiler / interpreter for special-purpose object-oriented language for **Telecom Italia Labs** * Air traffic control radio DSP firmware for **Selex Communications** * System software and internal training courses for **Gilbarco Veeder-Root** ==== 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 * 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) ==== Co-founder and CTO, Sirius (late 2000 -- mid 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 === Volunteer / Pro-Bono === * [[http://fedoraproject.org/wiki/User:Bernie|Fedora developer]] * [[https://launchpad.net/~codewiz/+archive/ppa?field.series_filter=|Ubuntu packager]] * GCC maintainer (mostly m68k backend) * Linux kernel hacker * NetBSD developer * Co-maintainer of [[http://bdm.sourceforge.net | Background Debug Module]] driver for Freescale Coldfire series * Sysop of [[SystemShockBBS]]