Edit page AbridgedResume
[wiki.git] / AbridgedResume
1 == Bernie Innocenti -- Résumé ==
2
3 '''Linux Systems Engineer, Firmware Engineer''' \\
4 E-mail: **bernie**@**codewiz**.**org** \\
5 [[https://github.com/codewiz | GitHub]] | [[https://www.linkedin.com/in/codewiz | LinkedIn]] | [[https://plus.google.com/+BernieInnocenti | G+]] \\
6 Website: https://www.codewiz.org/ \\
7
8 === Career Objectives ===
9
10 My primary interests are in system programming, firmware, GPUs, sensors, machine learning, robotics, education technology, distributed systems 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  * Software Engineer, [[http://www.google.com/ | Google]]
16  * Senior Systems Administrator, [[http://www.fsf.org/ | Free Software Foundation]]
17  * Co-founder, Board Member, [[http://wiki.sugarlabs.org/ | Sugar Labs Foundation]]
18  * Product/Release Manager, [[http://www.paraguayeduca.org/ | Paraguay Educa]]
19  * Operating System Engineer, [[OneLaptopPerChild | One Laptop Per Child]]
20  * Founder, Director of R&D at [[DevelerCompany | Develer s.r.l.]]
21  * Maintainer/Contributor of various [[FreeSoftware | Free Software]] projects, including [[http://gcc.gnu.org | GCC]] and [[http://www.kernel.org/ | Linux kernel]]
22  * Embedded Systems [[ConsultingWork | Design & Consulting]] for companies in the metropolitan area of Firenze, Italy
23
24 === Skills ===
25
26  * **Programming languages**: C++, C, Rust, Java, Go, Assembly (x86, m68k/Coldfire, m68705, TMS320, Z80)
27  * **Dynamic/Scripting languages**: Python, JavaScript, Perl, PHP, Bourne Shell
28  * **Pseudo languages**: SQL, HTML, CSS, LaTeX, GNU make
29  * **Natural Languages**: Italian (native), English (excellent), Spanish (fluent), Japanese (beginner)
30
31  * **Operating systems**: Linux (Ubuntu, Red Hat, Fedora, Debian, Arch, SuSE, uClinux), MacOS X, Solaris 6 to 9,
32  NetBSD, AmigaOS, Windows
33  * **Development Tools**: GCC toolchain (contributor), LLVM, MSVC, XCode, Codewarrior, IAR, Code Composer Studio, BSO Tasking
34  * **Frameworks and APIs**: POSIX, Qt, Gtk, OpenGL, STL/Boost, WIN32, MFC, Protobufs, Google APIs
35  * **Programming Techniques**: OOP, template metaprogramming, multithreading, real-time and event-driven systems
36  * **Version Control**: Git, Subversion, Perforce, CVS, Clearcase, Source Safe
37
38  * **Sysadmin**: KVM, XEN, Docker, Puppet, systemd, Nagios, Munin
39  * **Server software**: BIND, Exim, Qmail, Postfix, Apache, MySQL, PostgreSQL, Mediawiki, Asterisk
40  * **Networking**: TCP/IP, HTTP(S), IPv6, DNSSEC, BGP routing
41
42 === Education ===
43
44  * Diploma in Mathematics, Computer Science and Electrical Engineering (Firenze, Italy)
45  * Undergraduate student of Software Engineering (Università degli Studi di Firenze)
46  * Undergraduate courses of Education Technology and Mathematics (Harvard Extension School)
47  * Non-formal studies in Computer Science including compilers, algorithms, operating systems, networking, databases
48
49 === Experience ===
50
51 ==== Software Engineer, Google (Sep 2011 to present) ===
52  * Design and develop features for Google Search Infrastructure
53  * Design and develop features for the serving infrastructure of Accelerated Mobile Pages (AMPHTML)
54
55 ==== Senior Systems Administrator, Free Software Foundation (Oct 2010 -- Sep 2011) ====
56  * Develop and grow hosting infrastructure comprising approx. 100 virtual machines and 50 domains
57  * Provide project hosting and collaboration infrastructure for the GNU Project, Savannah and Trisquel Linux
58
59 ==== Co-founder, Sugar Labs (May 2008 to present) ===
60  * Coordinator of the 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 extracurricular 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]]