Edit page FrontPage
[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://gitlab.com/berniecodewiz | GitLab]] | [[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  * 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**: C++, C, Rust, Java, Go, Assembly (x86, m68k/Coldfire, m68705, TMS320, Z80)
26  * **Dynamic/Scripting languages**: Python, JavaScript, Perl, PHP, Bourne Shell
27  * **Pseudo languages**: SQL, HTML, CSS, LaTeX, GNU make
28  * **Natural Languages**: Italian (native), English (excellent), Spanish (fluent), Japanese (beginner)
29
30  * **Operating systems**: Linux (Ubuntu, Red Hat, Fedora, Debian, Arch, SuSE, uClinux), MacOS X, Solaris 6 to 9,
31  NetBSD, AmigaOS, Windows
32  * **Development Tools**: GCC toolchain (contributor), LLVM, MSVC, XCode, Codewarrior, IAR, Code Composer Studio, BSO Tasking
33  * **Frameworks and APIs**: POSIX, Qt, Gtk, OpenGL, STL/Boost, WIN32, MFC, Protobufs, Google APIs
34  * **Programming Techniques**: OOP, template metaprogramming, multithreading, real-time and event-driven systems
35  * **Version Control**: Git, Subversion, Perforce, CVS, Clearcase, Source Safe
36
37  * **Sysadmin**: KVM, XEN, Docker, Puppet, systemd, Nagios, Munin
38  * **Server software**: BIND, Exim, Qmail, Postfix, Apache, MySQL, PostgreSQL, Mediawiki, Asterisk
39  * **Networking**: TCP/IP, HTTP(S), IPv6, DNSSEC, BGP routing
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  * Non-formal studies in Computer Science including compilers, algorithms, operating systems, networking, databases
47
48 === Experience ===
49
50 ==== Software Engineer, Google (Sep 2011 to present) ===
51  * Design and develop features for Google Search Infrastructure
52  * Design and develop features for the serving infrastructure of Accelerated Mobile Pages (AMPHTML)
53
54 ==== Senior Systems Administrator, Free Software Foundation (Oct 2010 -- Sep 2011) ====
55  * Develop and grow hosting infrastructure comprising approx. 100 virtual machines and 50 domains
56  * Provide project hosting and collaboration infrastructure for the GNU Project, Savannah and Trisquel Linux
57
58 ==== Co-founder, Sugar Labs (May 2008 to present) ===
59  * Coordinator of the Infrastructure Team
60  * Member of the Sugar Labs Oversight Board (2008 to 2011)
61  * Fundraising, partnerships and organization of events
62
63 ==== Product and Release Manager, Paraguay Educa (Jan 2010 -- Aug 2010)  ====
64  * Coordinate engineering team to integrate new features in Sugar learning environment
65  * Develop OS upgrade for 4600 students of the deployment
66  * Organize computer programming extracurricular activities for local students
67
68 ==== Volunteer Developer at One Laptop Per Child (May 2007 -- Apr 2008) ====
69  * In-house maintainer of the X11 windowing system
70  * Input devices, keyboard layouts and i18n
71  * Miscellaneous OS development, packaging, release engineering
72
73 ==== CTO, Co-founder at Develer (Nov 2001 -- Apr 2007) ====
74  * Wrote firmware for embedded systems and DSPs (over a dozen different architectures)
75  * Developed portable, modular, open-source, multitasking RTOS for 8 and 16bit microcontrollers.
76  * Managed customers and sales for several years
77  * Created the project hosting and internet collaboration infrastructure
78
79 ==== Freelance software engineering consultant (2000 -- 2009) ====
80  * Firmware development for **SEAC R&D labs**
81  * POS drivers and system software for **Marconi Commerce Systems**
82  * Implemented compiler/interpreter of a specialized OO language for **Telecom Italia Labs**
83  * Air traffic control radio DSP firmware for **Selex Communications**
84
85 ==== Instructor for European Fund's engineering courses (2002 -- 2004 and 2006 -- 2007) ====
86  * D-Lab: Multimedia course of 600h for 20 students
87  * GFactory: Videogame development course of 450h for 15 students
88  * PAW (Web Application Programmer): 300h for 15 students
89  * Advanced C++, Embedded Linux and Software Analysis & Design for 40-50 employees of Gilbarco Veeder-Root (200h)
90  * Workshop on GIS Systems in Iannina, Greece (30h)
91
92 ==== Co-founder and CTO, Sirius (late 2000 -- mid 2001) ====
93  * Developed firmware and high-level software of cooling and telemetry system for laser surgery
94  * Created and managed network, IT and development infrastructure for the entire company
95
96 ==== Firmware engineer at SEAC R&D laboratories (June 1996 -- April 2000) ====
97  * Developed firmware for several devices, including photometers and blood cell analyzers
98  * Member of team developing software for large robotized clinical analyzers
99  * Create and maintain the network and development infrastructure of the R&D lab.
100
101 === Volunteer / Pro-Bono ===
102  * [[http://bertos.org/|BeRTOS]] Open Source Microkernel (2001-2007)
103  * [[http://fedoraproject.org/wiki/User:Bernie|Fedora developer]] (2007-2009)
104  * [[https://launchpad.net/~codewiz/+archive/ppa?field.series_filter=|Ubuntu packager]] 2008
105  * Xorg developer (2007-2008)
106  * GCC compiler maintainer (2003-2005)
107  * Linux kernel hacker (2002-2008)
108  * NetBSD developer (2000-2001)
109  * Co-maintainer of [[http://bdm.sourceforge.net|Background Debug Module]] driver for Freescale Coldfire processors (2003-2005)
110  * SysOp of [[SystemShockBBS]]