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 Anything related to technology and consumer electronics is likely to attract me, **especially** if it's not already listed here.
11 I'm primarily interested in system programming, firmware, GPUs, scientific applications, machine learning, robotics, education technology, distributed systems and realtime applications.
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]]