Edit page AbridgedResume
[wiki.git] / AbridgedResume
index 48caaa2a79b03689c01ab4dddd9a5dd8864c9ce3..9ecce13b9b5bffb5c6b193b68f45b41f1c7698bd 100644 (file)
+<div class="thumbright">{{ pictures/bernie/bernie-gradient-thumb.jpg | maxwidth=160 }}</div>
+
+<span style="font-size: large">
 **Bernie Innocenti** \\
-**Linux Systems Engineer, Firmware Engineer** \\
-Tokyo Metro, Japan \\
-E-mail: **bernie**@**codewiz**.**org** \\
+Linux Systems Engineer, Firmware Engineer \\
+</span>
+
+東京都区部 — 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/ \\
+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>
 
 === Career Objectives ===
 
-My primary interests are in system programming, compilers, firmware, sensors, robotics, machine learning, GPUs, education technology, distributed systems and realtime applications. \\
-Anything related to science, technology and consumer electronics is likely to attract me, **especially** if it's not already listed below.
+My primary interests are system programming, compilers, firmware, sensors, robotics, hard real-time systems, machine learning, distributed systems, low-latency networking, computer graphics, education technology.
+Anything related to science, technology and consumer electronics 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]]
- * Product/Release Manager, [[http://www.paraguayeduca.org/ | Paraguay Educa]]
- * OS Developer (volunteer), [[OneLaptopPerChild | One Laptop Per Child]]
- * CTO, Co-Founder at [[DevelerCompany | 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]]
+ * 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]] and various others)
 
 === Skills ===
 
- * **Programming languages**: C++, C, Rust, Java, Go, asm (x86, m68k/Coldfire, m68705, TMS320, Z80, 6502)
- * **Dynamic/Scripting languages**: Python, Java****Script, Perl, PHP, Bourne Shell
- * **Pseudo languages**: SQL, HTML, CSS, LaTeX, GNU make
- * **Natural Languages**: Italian (native), English (excellent), Spanish (fluent), Japanese (beginner)
+ * **Programming Languages**: Modern C++, Rust, C, Java, Go
+ * **Assembly**: x86, m68k, 6502, Z80
+ * **Microcontrollers and DSPs**: Coldfire, m68705, TMS320
+ * **Dynamic/Scripting Languages**: Java****Script, Type****Script, Python, Bash, Perl, PHP
+ * **Other Languages**: HTML, CSS, GLSL, SQL, LaTeX
+ * **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, Visual Studio Code, GNU make, autoconf
+ * **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, multithreading
+ * **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, 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 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
+ * Instructor of advanced C++ and Linux programming courses for Tokyo and Taipei offices
+ * Conduct system design interviews, mentor new employees and host interns
+
+==== Senior Systems Administrator, Free Software Foundation (Oct 2010 ~ Sep 2011) ====
+ * Develop and consolidate infrastructure comprising approx. 100 virtual machines and 50 domains
+ * Maintain project hosting and collaboration services for the GNU Project
 
- * **Operating systems**: Linux (Arch, Red Hat, Fedora, Ubuntu, Debian, uClinux), Android, MacOS, Solaris, NetBSD, AmigaOS, Windows
- * **Development Tools**: GCC toolchain (contributor), LLVM, MSVC, XCode, Codewarrior, IAR, Code Composer Studio, BSO Tasking
- * **Frameworks and APIs**: POSIX, Emscripten, Qt, Gtk, OpenGL, STL/Boost, WIN32, MFC, Protobufs, Google APIs
- * **Programming Techniques**: OOP, template metaprogramming, multithreading, real-time and event-driven systems
- * **Version Control**: Git, Subversion, Perforce, CVS, Clearcase, Source Safe
-
- * **Sysadmin**: KVM, XEN, Docker, Puppet, systemd, Nagios, Munin
- * **Server software**: BIND, Exim, Qmail, Postfix, Apache, MySQL, PostgreSQL, Mediawiki, Asterisk
- * **Networking**: TCP/IP, HTTPS, IPv6, DNSSEC, BGP
+==== 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
 
-=== Education ===
+==== 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
 
- * 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)
- * Non-formal studies in Computer Science including compilers, algorithms, operating systems, networking, relational algebra
+==== 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
 
-=== Experience ===
+==== 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
 
-==== Software Engineer, Google (Sep 2011 to present) ===
- * Android Core Networking
- * Google Search Infrastructure
- * Accelerated Mobile Pages (AMPHTML)
+==== Freelance (2000 ~ 2009) ====
+ * **Telecom Italia Labs**: Design and implement compiler & interpreter of an object-oriented configuration language for a network simulator
+ * **Selex Communications**: Design and develop DSP modem firmware for Air Traffic Control radios
+ * **Gilbarco Veeder-Root**: Internal training of 200h for 45 engineer on Embedded Linux, OOP and C++
 
-==== Senior Systems Administrator, Free Software Foundation (Oct 2010 -- Sep 2011) ====
- * Develop and grow hosting infrastructure comprising approx. 100 virtual machines and 50 domains
- * Provide project hosting and collaboration infrastructure for the GNU Project, Savannah and Trisquel Linux
+==== Instructor for European Fund's engineering courses ====
+ * [[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
+ * [[https://sourceforge.net/projects/gfactory/ | 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 for 15 participants)
 
-==== Co-founder, Sugar Labs (May 2008 to present) ===
- * Coordinator of the Infrastructure Team
- * Member of the Sugar Labs Oversight Board (2008 to 2011)
- * Fundraising, partnerships and organization of events
+==== Co-founder and CTO, Sirius SRL ====
+ * Firmware and power control for laser hair removal
+ * Created company's Internet presence and collaboration infrastructure
 
-==== Product and Release Manager, Paraguay Educa (Jan 2010 -- Aug 2010)  ====
- * Coordinate engineering team to integrate new features in Sugar learning environment
- * Develop OS upgrade for 4600 students of the deployment
- * Organize computer programming extracurricular activities for local students
+==== Firmware engineer, SEAC R&D laboratories ====
+ * Control software for clinical analyzer robot with 18 stepper motors
+ * Software, firmware and driver development for laboratory instruments: photometers, incubators, hematology
 
-==== Volunteer Developer at One Laptop Per Child (May 2007 -- Apr 2008) ====
- * In-house maintainer of the X11 windowing system
- * Input devices, keyboard layouts and i18n
- * Miscellaneous OS development, packaging, release engineering
+=== Education ===
 
-==== CTO, Co-founder at Develer (Nov 2001 -- Apr 2007) ====
- * Wrote firmware for embedded systems and DSPs (over a dozen different architectures)
- * Developed portable, modular, open-source, multitasking RTOS for 8 and 16bit microcontrollers.
- * Managed customers and sales for several years
- * Created the project hosting and internet collaboration infrastructure
-
-==== Freelance software engineering consultant (2000 -- 2009) ====
- * Firmware development for **SEAC R&D labs**
- * POS drivers and system software for **Marconi Commerce Systems**
- * Implemented compiler/interpreter of a specialized OO language for **Telecom Italia Labs**
- * Air traffic control radio DSP firmware for **Selex Communications**
-
-==== Instructor for European Fund's engineering courses (2002 -- 2004 and 2006 -- 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)
-
-==== Co-founder and CTO, Sirius (late 2000 -- mid 2001) ====
- * Developed firmware and high-level software of cooling and telemetry system for laser surgery
- * Created and managed network, IT and development infrastructure for the entire company
-
-==== Firmware engineer at SEAC R&D laboratories (June 1996 -- April 2000) ====
- * Developed firmware for several devices, including photometers and blood cell analyzers
- * Member of team developing software for large robotized clinical analyzers
- * Create and maintain the network and development infrastructure of the R&D lab.
-
-=== Volunteer / Pro-Bono ===
- * [[http://bertos.org/|BeRTOS]] Open Source Microkernel (2001-2007)
- * [[http://fedoraproject.org/wiki/User:Bernie|Fedora developer]] (2007-2009)
- * [[https://launchpad.net/~codewiz/+archive/ppa?field.series_filter=|Ubuntu packager]] 2008
- * Xorg developer (2007-2008)
- * GCC compiler maintainer (2003-2005)
- * Linux kernel hacker (2002-2008)
- * NetBSD developer (2000-2001)
- * Co-maintainer of [[http://bdm.sourceforge.net|Background Debug Module]] driver for Freescale Coldfire processors (2003-2005)
- * SysOp of [[SystemShockBBS]]
+ * 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
+ * [[https://www.codewiz.org/wiki/CorebootX230 | Coreboot hacking]] on Thinkpad laptops
+ * [[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)
+ * Minor contributions to the Linux kernel
+ * 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