My name is Andrea Bernabei, but you will probably find more info about me on the web by looking for my nickname, faenil 🙂
I am a tinkerer at heart, passionate about system level programming but also about building great UXes!
I am a very curious person. I believe curiosity is at the basis of knowledge.
I particularly enjoy working in teams, as I am sociable and friendly.
Passion and dedication are key values to me.
When I do something, be it work or hobby, I put all myself into it.
I love tearing things apart to get a thorough understanding of what goes on inside: studying the inner workings of systems really inspires me to keep researching and acquiring knowledge and skills.
This works for software as well as for anything that is wrong inside my house, for example 🙂
The approach is the same: I acquire the needed knowledge and fix the problem, whatever it may be.
If you’re on this page there’s a high chance you’re more interested in my programming skills than plumbing ones though, so let’s move on 😉
My background is on system level programming.
My experience spans from developing smooth UIs with a focus on great UX, to writing system services and kernel drivers for AOSP/Android (I wrote a kernel driver for the Samsung Galaxy S9 when I was at Samsung R&D).
My ideal balance would be 80% system and middleware programming, 20% higher levels of the stack (e.g. UI development).
These are the bits of tech I use on a daily basis:
- Android system level deveopment, AOSP
- Java (not really that much of a fan, but heh, Android 🙂 )
- C/C++ (not as much as I used to!)
Some of the tech I previously worked with:
- Development of smooth UIs for mobile devices (via QtQuick/QML) (2010-2017)
- Qt cross-platform framework (2010-2017)
- QtQuick2/QML2 (2010-2017)
- Sailfish, Mer, Nemomobile mobile platforms (2011-2015)
- systemd (2013-2015)
- Game development in OpenGL (2011-2013)
- GLSL shader programming (2014-2015)
Another thing I am extremely good at is learning technologies that are not on that list 😉
I also have basic knowledge of the following:
- SVN, Java, Android, Xpath, XQuery, CaML, Prolog, SQL, Wayland
Master’s Degree (Dec 2014)
Computer Science at University of Pisa, 110/110 cum Laude
Thesis title: “Point based rendering of sphere-clouds with global illumination: a scalable approach to real-time molecular graphics.”
Bachelor Degree (Feb 2012)
Computer Science at University of Pisa, 105/110
Thesis title: “MeshLab for Android: manipulation and visualization of 3D meshes on a tablet”
Senior Software Engineer at CrowdStrike (Feb 2022 – Present)
– Tinkering with AOSP (Android Open Source Project), Android’s system services, NDK, middleware development
– End to end feature development, from API and architectural design to final implementation
– Mentoring to interns and new team members
– Integration of the app with Android system services
– Integration of the app with cloud services
Software Engineer at CrowdStrike (Sep 2020 – Feb 2022)
See role description above.
at Samsung R&D UK (Apr 2017 – Sep 2020)
Developer of system level software targeting performance optimization and thermal management for Samsung’s flagship mobile devices.
Awards: Project of the Year 2018 (need to confirm the name)
at Canonical Ltd. (Mar 2015 – Apr 2017)
– develop interactive Qt/C++/QML UI prototypes to aid the design process;
– develop Qt/C++/QML UI components to improve the Ubuntu UI Toolkit;
– won 2 Spotlight Awards, Q2 2015 and Q4 2015;
– implemented production-level components of the Ubuntu UI Toolkit: layouts for list item content, scrollbars;
– took part in the Performance task force;
– developed a tool to aid on-device LTTng-based profiling;
– performed extensive debugging of the Ubuntu Personal platform, commented on 260+ bugs;
– worked on multiple interactive Qt/QML prototypes and iterated over design choices with UX and Visual designers.
Intern at Jolla Oy (Oct 2013 – Dec 2013)
The internship took place in Jolla’s office in Tampere, Finland.
- built the official recovery console of Jolla’s smartphone;
- experimented with porting SailfishOS to Android devices like Samsung i9305;
- partecipated in manual software testing.
Independent Qt/QML apps developer (2010 – Present)
I developed and/or ported apps to the following platforms, in my spare time while at University:
- BlackBerry 10 (ported apps)
- Android (http://play.google.com/store/apps/details?id=it.isticnr.meshlab)
- Nemomobile (Image gallery application prototype)
- Nokia Harmattan Linux (3D sokoban clone in OpenGL, code available on request)
Nemomobile OS developer (2011 – Present)
- developed the Gallery application
- prototyped the Glacier UI components set
- contributed to the transition from GCC4.6 to GCC4.8.3 compiler (GitHub commits history: http://goo.gl/bJbYyB), and from X11 to Wayland platforms.
Symbian firmware customization expert (2009-2011)
- released custom firmwares featuring bugfixes and improvements such as perfect A/V sync in recorded videos and improved kinetic scrolling in lists;
- referenced by tech media, e.g. GsmArena (http://goo.gl/DkSs0) and AllAboutSymbian (http://goo.gl/XR6zt);
- rosted a blog with up to 10k unique visitors on firmware release days
- Winner of the Lightning Pitches challenge at the BlackBerry 10 Jam World Tour event by BlackBerry (proof)
- FOSDEM 2015 – 2023
- QtDay Italy 2014
- QtDay Italy 2012
- QtDay Italy 2011
- Qt Developer Days 2011, fully sponsored by Nokia as recognition for my outstanding dedication to app development
- Multiple BlackBerry 10 Portathons (ported apps)