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