PAOLO FERRARIS (last update: November 2018)
Looking for projects that can change the life of millions of people.
pieffe8<at>gmail<dot>com
EXPERIENCE
Google, Inc., Mountain View, CA
Software Engineer | Aug 2007-present |
- Google Cloud Print, server/backend tech lead. Responsible of all server-side stack. Development highlights include printer registration to the cloud, document conversion to formats understood by printers, integration with 3rd party printers, and multiple design docs. 4+ patents.
- Developed a cloud scanning algorithm, in collaboration with the TWAIN working group. Regularly participated to their weekly meetings.
- Developed an internal system that aggregates and shows server performance. Responsible of 5 components: from data retrieval to aggregation (C++) to the UI (Java, using GWT for AJAX).
The University of Texas at Austin – Department of Computer Sciences
Teaching Assistant | 2001-2006 (6 semesters) |
- From foundation to graduate classes. Instructor replacements and weekly discussion sessions.
The University of Texas at Austin – Department of Computer Sciences
Research Assistant | 2001-2007 (7 semesters) |
- Please see “research” session for more details.
Marconi Communications, Genova, Italy
Software Engineer | Oct 2000 – Jul 2001 |
- Developer of the control layer of the firmware (C++, under Unix) of the SmartPhotoniX PLT80 optical system for long haul, point-to-point data transport.
- Strong interaction with application and driver developers, and with the test group.
SKILLS
- Large experience in collaboration between teams and public presentations.
- Programming languages: C/C++, Java, Pascal, Answer Set Programming and assembly (especially Z80); Python, SQL, Modula 2 and Prolog; knowledge of Hypertalk and Common Lisp.
- Programming tools: skilled in GWT, Eclipse, Intellij, knowledge of Visual Studio (C++).
- Backend technologies: large scale computing, databases, SQL, noSQL, distributed computing, ...
- Algorithms: data structures (hash tables, graphs, etc…), dynamic programming, binary search, simplex, basic computer graphics, etc…
- Operating systems: DOS, Windows, *NIX, OS/2.
- Spoken languages: Italian – native language.
EDUCATION
The University of Texas at Austin, PhD in Computer Science, GPA: 3.91 | Aug 2007 |
|
|
University of Genova, Italy, Laurea in Computer Engineering, Score (~GPA): 110/110 | Dec 1999 |
ACHIEVEMENTS
8-bit minigame competitions | 2002 – 2005 |
- Developed several 1-kilobyte and 4-kilobyte games for an 8-bit computer.
- 1st place twice with a joint project with a professional graphic designer.
Topcoder Programming Contests | 2002 – 2003 |
- 120th among 4046 participants and first among the students of The U. of Texas at Austin.
ACM Collegiate Programming Contest (U. of Texas at Austin) | 2002 – 2003 |
- World finalist at both participations, where we finished 27th and 21st among 64-70 teams.
ACM Collegiate Programming Contest (University of Genova) | 1995 – 1999 |
- Team member at the ACM Southwest European Regional Programming Contest.
- First several times among Italian teams and in the top positions (4th and 5th) against teams from Germany, Czech Republic, Switzerland, France, Spain and Portugal.
Italian Math Olympiads | 1991 |
- Arrived in the top 23 in Italy.
- Took part at a week of preparation for the 2001 International Math Olympiads.
RESEARCH
PhD thesis: “Expressiveness of answer set languages” (Supervisor: Vladimir Lifschitz)
- Relative to answer set programming (ASP), a declarative programming language for solving complex combinatorial search problems.
- Showed the differences between various “dialects” of ASP invented by researchers from several countries, and invented a new and simple extension of ASP that is more expressive than most of the other extensions.
- Extended the concept of ASP to first-order formulas using simple second-order formulas.
- Showed how causal theories – a declarative language able to express actions and effects of actions (useful for instance in planning) – can be rewritten in ASP.
Laurea thesis: “Advanced planning techniques in complex domains” (Supervisor: Enrico Giunchiglia)
- Developed planner Cplan (6500 lines of C code) capable of solving complex conformant planning problems: the initial state is only partially known, and actions effects are nondeterministic.
University of Genova – Artificial Intelligence class project Feb 1999
- Developed (in C++) two new navigation techniques for robots within Artificial Potential Fields, able to avoid local minima, in case of minimal memory, no positioning information.