Edit page AbridgedResume
[wiki.git] / AbridgedResume
1 **Bernie Innocenti** \\
2 **Linux Systems Engineer, Firmware Engineer** \\
3 東京都区部 — Tokyo Metro, Japan \\
4 Email: **bernie**@**codewiz**.**org** \\
5 [[https://gitlab.com/berniecodewiz | GitLab]] | [[https://github.com/codewiz | GitHub]] | [[https://www.linkedin.com/in/codewiz | LinkedIn]] \\
6 Website: https://www.codewiz.org/ \\
7
8 === Career Objectives ===
9
10 My primary interests are in system programming, compilers, firmware, sensors, robotics, machine learning, GPUs, education technology, distributed systems, low-latency networking, and realtime applications. \\
11 Anything related to science, technology and consumer electronics is likely to attract me, //especially// if it's not already listed below.
12
13 === Summary ===
14
15  * Senior Software Engineer, [[https://www.google.com/ | Google]]
16  * Senior Systems Administrator, [[https://www.fsf.org/ | Free Software Foundation]]
17  * Co-founder, Board Member, [[https://www.sugarlabs.org/ | Sugar Labs Foundation]]
18  * Product/Release Manager, [[http://www.paraguayeduca.org/ | Paraguay Educa]]
19  * OS Developer (volunteer), [[OneLaptopPerChild | One Laptop Per Child]]
20  * CTO, Co-Founder at [[DevelerCompany | Develer]], software and embedded systems engineering firm
21  * Contributor of various Free Software projects, including [[https://gcc.gnu.org/ | GCC]] and the [[https://www.kernel.org/ | Linux kernel]]
22
23 === Skills ===
24
25  * **Programming languages**: modern C++, Rust, Java, Go, C, asm (x86, m68k/Coldfire, m68705, TMS320, Z80, 6502)
26  * **Dynamic/Scripting languages**: Python, Java****Script, Bash, Perl, PHP
27  * **Pseudo languages**: HTML, CSS, SQL, LaTeX, GNU make
28  * **Natural Languages**: Italian (native), English (excellent), Spanish (fluent), Japanese (beginner)
29
30  * **Operating systems**: Linux (Arch, Red Hat, Fedora, Ubuntu, Debian, uClinux), Android, MacOS, Solaris, NetBSD, AmigaOS, Windows
31  * **Development Tools**: GCC (contributor), Clang, VSCode, XCode
32  * **Embedded Compilers**: Codewarrior, IAR, Code Composer Studio, BSO Tasking, SAS/C
33  * **Frameworks and APIs**: POSIX, Web****Assembly, Qt, OpenGL, Win32, Protobufs
34  * **Programming Styles**: OOP, functional programming, template metaprogramming, event-driven, real-time, multithreaded
35  * **Version Control**: Git (advanced), Perforce, Subversion
36
37  * **Sysadmin**: KVM, XEN, Docker, Puppet, systemd, Nagios, Munin
38  * **Server software**: BIND, Postfix, Exim, Apache, Nginx, MySQL, PostgreSQL, Mediawiki, Asterisk
39  * **Networking**: QUIC, HTTP/3, IPv6, TCP, TLS, DNSSEC, BGP
40
41 === Education ===
42
43  * Diploma in Mathematics, Computer Science and Electrical Engineering (Firenze, Italy)
44  * Undergraduate student of Software Engineering (Università degli Studi di Firenze)
45  * Undergraduate courses of Education Technology and Mathematics (Harvard Extension School)
46  * Personal research in compilers, algorithms, operating systems, network protocols, 3D graphics
47
48 === Experience ===
49
50 ==== Software Engineer, Google (Sep 2011 to present) ===
51  * 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
52  * Google Search Infrastructure: High-throughput, high-availability, distributed web serving for billions of files
53  * [[https://amp.dev/ | Accelerated Mobile Pages]]: Lead of global CDN for news sites integrated with Google Search
54
55 ==== Senior Systems Administrator, Free Software Foundation (Oct 2010 -- Sep 2011) ====
56  * Develop and grow infrastructure comprising approx. 100 virtual machines and 50 domains
57  * Maintain project hosting and collaboration services for the GNU Project
58
59 ==== Co-founder, Sugar Labs (May 2008 to present) ===
60  * Lead of the [[https://wiki.sugarlabs.org/go/Infrastructure_Team/Resources | Infrastructure Team]]
61  * Member of the Sugar Labs Oversight Board (2008 to 2011)
62  * Fundraising, partnerships and organization of events
63
64 ==== Product and Release Manager, Paraguay Educa (Jan 2010 -- Aug 2010)  ====
65  * Coordinate engineering team to integrate new features in Sugar learning environment
66  * Develop OS upgrade for 4600 students of the deployment
67  * Organize computer programming extra-curricular activities for local students
68
69 ==== Volunteer Developer at One Laptop Per Child (May 2007 -- Apr 2008) ====
70  * In-house maintainer of the X11 windowing system
71  * Input devices, keyboard layouts and i18n
72  * Miscellaneous OS development, packaging, release engineering
73
74 ==== CTO, Co-founder at Develer (Nov 2001 -- Apr 2007) ====
75  * Wrote firmware for embedded systems and DSPs (over a dozen different architectures)
76  * Developed portable, modular, open-source, multitasking RTOS for 8 and 16bit microcontrollers.
77  * Managed customers and sales for several years
78  * Created the project hosting and internet collaboration infrastructure
79
80 ==== Freelance software engineering consultant (2000 -- 2009) ====
81  * Firmware development for **SEAC R&D labs**
82  * POS drivers and system software for **Marconi Commerce Systems**
83  * Implemented compiler/interpreter of a specialized OO language for **Telecom Italia Labs**
84  * Air traffic control radio DSP firmware for **Selex Communications**
85
86 ==== Instructor for European Fund's engineering courses (2002 -- 2004 and 2006 -- 2007) ====
87  * D-Lab: Multimedia course of 600h for 20 students
88  * GFactory: Videogame development course of 450h for 15 students
89  * PAW (Web Application Programmer): 300h for 15 students
90  * Advanced C++, Embedded Linux and Software Analysis & Design for 40-50 employees of Gilbarco Veeder-Root (200h)
91  * Workshop on GIS Systems in Iannina, Greece (30h)
92
93 ==== Co-founder and CTO, Sirius (late 2000 -- mid 2001) ====
94  * Developed firmware and high-level software of cooling and telemetry system for laser surgery
95  * Created and managed network, IT and development infrastructure for the entire company
96
97 ==== Firmware engineer at SEAC R&D laboratories (June 1996 -- April 2000) ====
98  * Developed firmware for several devices, including photometers and blood cell analyzers
99  * Member of team developing software for large robotized clinical analyzers
100  * Create and maintain the network and development infrastructure of the R&D lab.
101
102 === Volunteer / Pro-Bono ===
103  * [[http://bertos.org/|BeRTOS]] Open Source Microkernel (2001-2007)
104  * [[http://fedoraproject.org/wiki/User:Bernie|Fedora developer]] (2007-2009)
105  * [[https://launchpad.net/~codewiz/+archive/ppa?field.series_filter=|Ubuntu packager]] 2008
106  * Xorg developer (2007-2008)
107  * GCC compiler maintainer (2003-2005)
108  * Linux kernel hacker (2002-2008)
109  * NetBSD developer (2000-2001)
110  * Co-maintainer of [[http://bdm.sourceforge.net|Background Debug Module]] driver for Freescale Coldfire processors (2003-2005)
111  * SysOp of [[SystemShockBBS]]