Edit page AbridgedResume
[wiki.git] / AbridgedResume
1 <div class="thumbright">{{ pictures/bernie/bernie-gradient-thumb.jpg | maxwidth=160 }}</div>
2
3 **Bernie Innocenti** \\
4 **Linux Systems Engineer, Firmware Engineer** \\
5 東京都区部 — Tokyo Metro, Japan \\
6 Email: **bernie**@**codewiz**.**org** \\
7 [[https://gitlab.com/berniecodewiz | GitLab]] | [[https://github.com/codewiz | GitHub]] | [[https://www.linkedin.com/in/codewiz | LinkedIn]] \\
8 Website: [[https://www.codewiz.org/ | www.codewiz.org]] \\
9 Latest version of this resume: [[https://www.codewiz.org/resume | www.codewiz.org/resume]]
10
11 === Career Objectives ===
12
13 My primary interests are in system programming, compilers, firmware, sensors, robotics, machine learning, GPUs, education technology, distributed systems, low-latency networking, and real-time.
14 Anything related to science, technology and consumer electronics is likely to attract me, //especially// if it's not already listed here.
15
16 === Summary ===
17
18  * Senior Software Engineer, [[https://www.google.com/ | Google]]
19  * Senior Systems Administrator, [[https://www.fsf.org/ | Free Software Foundation]]
20  * Co-founder, Board Member, [[https://www.sugarlabs.org/ | Sugar Labs Foundation]]
21  * Product/Release Manager, [[http://www.paraguayeduca.org/ | Paraguay Educa]]
22  * OS Developer (volunteer), [[OneLaptopPerChild | One Laptop Per Child]]
23  * CTO, Co-Founder at [[https://www.develer.com/en/ | Develer]], software and embedded systems engineering firm
24  * Contributor of various open-source projects, including [[https://gcc.gnu.org/ | GCC]] and the [[https://www.kernel.org/ | Linux kernel]]
25
26 === Skills ===
27
28  * **Programming languages**: modern C++, Rust, Java, Go, C, asm (x86, m68k/Coldfire, m68705, TMS320, Z80, 6502)
29  * **Dynamic/Scripting languages**: Python, Java****Script, Bash, Perl, PHP
30  * **Pseudo languages**: HTML, CSS, SQL, LaTeX, GNU make
31  * **Natural Languages**: Italian (native), English (excellent), Spanish (fluent), Japanese (beginner)
32
33  * **Operating systems**: Linux (Arch, Red Hat, Fedora, Ubuntu, Debian, uClinux), Android, MacOS, Solaris, NetBSD, AmigaOS, Windows
34  * **Development Tools**: GCC (contributor), Clang, VSCode, XCode
35  * **Embedded Compilers**: Codewarrior, IAR, Code Composer Studio, BSO Tasking, SAS/C
36  * **Frameworks and APIs**: POSIX, Web****Assembly, Qt, OpenGL, Win32, Protobufs
37  * **Programming Styles**: OOP, functional programming, template metaprogramming, event-driven, real-time, multithreaded
38  * **Version Control**: Git (self-hosted, GitHub and GitLab), Perforce, Subversion
39
40  * **Network protocols**: QUIC, HTTP, IPv6, TCP, TLS, DNSSEC, BGP
41  * **Sysadmin**: KVM, Docker, Puppet, Google Cloud, systemd, Nagios, Munin
42  * **Server software**: Apache, Nginx, BIND, Postfix, Exim, MySQL, PostgreSQL, Mediawiki, Asterisk
43
44 === Experience ===
45
46  * Diploma in Mathematics, Computer Science and Electrical Engineering (Firenze, Italy)
47  * Undergraduate student of Software Engineering (Università degli Studi di Firenze)
48  * Undergraduate courses of Education Technology and Mathematics (Harvard Extension School)
49  * Personal research in compilers, algorithms, operating systems, network protocols, 3D graphics
50
51 === Experience ===
52
53 ==== Software Engineer, Google (Sep 2011 to present) ===
54  * 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
55  * Google Search Infrastructure: High-throughput, high-availability, distributed web serving for billions of files
56  * [[https://amp.dev/ | Accelerated Mobile Pages]]: Lead of global CDN for news sites integrated with Google Search
57  * Instructor of advanced C++ and Linux programming courses for Tokyo and Taipei offices
58  * Conduct system design interviews, mentoring for new employee and intern hosting
59
60 ==== Senior Systems Administrator, Free Software Foundation (Oct 2010 ~ Sep 2011) ====
61  * Develop and grow infrastructure comprising approx. 100 virtual machines and 50 domains
62  * Maintain project hosting and collaboration services for the GNU Project
63
64 ==== Co-founder, Sugar Labs (May 2008 to present) ===
65  * Lead of the [[https://wiki.sugarlabs.org/go/Infrastructure_Team/Resources | Infrastructure Team]]
66  * Member of the Sugar Labs Oversight Board (2008 to 2011)
67  * Fundraising, partnerships and organization of events
68
69 ==== OS Developer, Paraguay Educa (Jan 2010 ~ Aug 2010)  ====
70  * Coordinate engineering team to develop new features for [[https://sugarlabs.org/ | Sugar Learning Environment]]
71  * Release OS upgrade for 4600 machines deployed in rural schools
72  * Organize computer programming and "hacking" courses for students
73
74 ==== Volunteer Developer at One Laptop Per Child (May 2007 ~ Apr 2008) ====
75  * In-house maintainer of the X11 windowing system and graphics drivers
76  * Input drivers, keyboard layouts and i18n
77  * Platform development, packaging, release engineering
78
79 ==== CTO, Co-founder at Develer (Nov 2002 ~ Apr 2007) ====
80  * Designer of [[http://bertos.org/|BeRTOS]], a modular, open-source RTOS for 8bit and 16bit microcontrollers.
81  * Built team of highly skilled Linux and firmware engineers
82  * Wrote firmware for embedded systems and DSPs (over a dozen different architectures)
83  * Created project hosting and remote collaboration infrastructure
84  * Business development and customer relationships in multiple industries
85
86 ==== Freelance (2000 ~ 2009) ====
87  * **Telecom Italia Labs**: Compiler / interpreter of an object-oriented configuration language for a network simulator
88  * **Selex Communications**: Air traffic control radio DSP firmware
89  * **Gilbarco Veeder-Root**: Internal training of 200h for 45 engineer on Embedded Linux, OOP and C++
90
91 ==== Instructor for European Fund's engineering courses ====
92  * D-Lab: Multimedia software development course of 600h 20 selected participants
93  * GFactory: Videogame development course of 450h for selected 15 participants
94  * PAW (Web Application Programmer): 300h for 15 participants
95  * Workshop on GIS Systems in Iannina, Greece (30h)
96
97 ==== Co-founder and CTO, Sirius (2000 ~ 2001) ====
98  * Firmware and Windows control software for laser skin surgery
99  * Created company development infrastructure and Internet presence
100
101 ==== Firmware engineer at SEAC R&D laboratories ====
102  * Control software for robot clinical analyzer with 18 stepper motors
103  * Software, firmware and driver developer for laboratory instruments: photometers, hematology, incubators
104  * Introduced version control and other best practices for software development
105
106 === Volunteer / Pro-Bono ===
107  * [[https://gitlab.com/berniecodewiz/mandelwow | Mandelwow, a 3D fractal demo written in Rust and OpenGL
108  * [[http://fedoraproject.org/wiki/User:Bernie|Fedora developer]]
109  * [[https://launchpad.net/~codewiz/+archive/ppa?field.series_filter=|Ubuntu packager]]
110  * GCC maintainer (mostly m68k backend)
111  * Linux kernel hacker
112  * NetBSD developer
113  * Co-maintainer of [[http://bdm.sourceforge.net | Background Debug Module]] driver for Freescale Coldfire series
114  * Sysop of [[SystemShockBBS]]