Summary
I’ve been a software developer for 16 years, fueled by a passion for computers I had since I was little.
I am well versed in picking up new technologies, either to contribute to an existing product/process or to
assess their suitability for a given task. I learned (and forgot) a lot of them during the years, and for most
part I retain their underlying principles.
I quickly troubleshoot issues with the software/infrastructure I deal with, even with little/no previous context
– either by technical means or by involving/escalating to the right people.
I employ theory, experience and pragmatism to deliver software within the constraints given. This is not
always easy, but each time I learn from my mistakes and I get a little better in understanding tradeoffs.
I'm aware I have still room for improvement -- for this reason I practice new skills, revise known ones, keep up to date with trends, and take inspiration from apparently unrelated fields like psycology and economy.
The roles I fit best are Software Engineer and Software Engineer in Test (or equivalent roles). I would be interested in working on operating systems, compilers, real-time/embedded systems, videogames and DSP systems.
Work experience
01/2019 -- Ongoing: Compiler Development Tools Engineer, Apple, Cupertino (California, US)
- Troubleshooting, maintainance and development of the build system used to generate Swift toolchains, both internally and in opensource -- CMake, Python, ninja, zsh/Bash
- configured support to generate bridgeOS device executables for internal usage
- streamlined the build of the standard library in Apple OSes to reduce friction during development of new features
- reduced build times for the compiler shipped as part of Xcode
- contributing to the ongoing effort to rewrite the build systems for the standard library and runtime
- Triage and qualification of new Swift compilers for inclusion in Xcode, and for building iOS/iPadOS/tvOS/watchOS and macOS
- particularly effective in troubleshooting thorny integration issues leveraging both my experience from my previous role, and my (partial) understanding of the Swift compiler
10/2024 -- 12/2024: internship in the Embedded Audio DSP team, Apple, Cupertino (California, US)
- contributed to the prototype of new versions of Adaptive EQ -- C++, Matlab
- Refactoring of existing Airpods DSP code to support power reduction -- C++, Xcode
01/2014 -- 01/2019: iOS Build Engineer, Apple, Cork (Ireland)
Execution of daily software builds of iOS and its related products.
- Troubleshooting of build, integration and infrastructure issues
- Contribution of small fixes to the tooling used -- Perl, Shell
10/2009 -- 01/2014: Programmer, BEDIN Shop Systems srl, Cornuda -- TV (Italy)
Development, maintenance and support of software for Points of Sale (.NET 3.5/4.0/4.5):
- development and (automatic) deployment of smart clients -- Windows Forms, SQL Compact, SQLite, Lucene.NET, ClickOnce
- development, deployment and monitoring of web services handling thousands of users -- Windows Communication Foundation (WCF), Windows Azure, SQL Azure, Windows Azure Service Bus, ACS 2.0
- promotion engine; development of a library for video and photo capture from webcams (DirectShow); setup of a build server (Jenkins, MSBuild); development of a simple administration web site (ASP.NET MVC, Javascript, jQuery); migration of source code from Team Foundation Server to GitHub; basic programming of fiscal printers and EFT-POS; initial introduction of unit testing and automation practices; setup and customization of Thinktecture IdentityServer and AuthorizationServer
Summers from 2003 to 2008: Training -- apprentice programmer, BEDIN Shop Systems srl, Cornuda -- TV (Italy)
- Development and maintenance of software for Points of Sale management (.NET 2.0/3.5)
- Implementation of a visual editor for documents and labels made with GDI+, using a retained mode graphics system
- Investigation on WPF as an alternative to Windows Forms
Education and training
10/2007--09/2009: Laurea Specialistica (Master's Degree) in Computer Science, Università degli Studi di Padova, Padua (Italy), 110/110 cum laude
Online and approximate algorighms, concurrency, distributed systems, cryptography, semantics of programming languages, static analysis, data warehouse, business intelligence, multimedia, hypermedia, audio/video compression, bioinformatics, real-time systems, information retrieval, wireless networks, ITIL v2, abstract algebra, constraint programming, machine learning
Programming, algorithms, software engineering, relational databases, SQL , XML, probability, statistics, logic, operational research, programming languages, linear algebra, mathematical analisys, computer architectures, operating systems, networks, automata, numerical analysis, artificial intelligence, discreet mathematics, security
Computer science (programming, operating systems, DBMS, boolean logic), mathematics (analysis, integral, derivatives), electronics (transistors, operational amplifiers, logical ports), statistics (probability, stochastics variables)
Skills
Methodologies and concepts
Object oriented paradigm, functional paradigm, design, profiling, bug tracking, unit testing, separation of concerns, build automation, backward compatibility and versioning, legacy code, refactoring, debugging, code reading, mentoring
Technologies used outside of work
vim, XML, regular expressions, Git, Make, rake, Jekyll, Bootstrap, Linux (Fedora, Debian), Touch typist (Self-taught, QWERTY, about 47 words-per-minute), LaTeX, Markdown, Textile, Powershell, Unity
Languages
- Italian
- Mother tougue
- English
- Fluent, Able to handle written and spoken technical conversations
According to the Common European Framework of Reference (CEF) level
- Understanding
- Listening: C2
- Reading: C2
- Speaking
- Spoken interaction: A2 -- Basic User
- Spoken prodution: A2 -- Basic User
- Writing: B1 -- Independent user
In real life:
- I can read easily technical and narrative articles/books;
- I can watch films, tv series and YouTube shows (most of the times without the help of subtitles)
- I can handle technical conversation -- I'm able to interact to technical support to explain the issues I'm having and I can understand what it is told to me.
Favorite sites
Bookshelf
University Theses
- Title
- Challenges in the Integration of domain-specific and scientific bodies of knowledge in Model-Driven Engineering
- Supervisor
- Prof. Tullio Vardanega
- Outside examiner
- Prof. Gilberto Filè
- Description
- Technological investigation about problems and tools needed to introduce Model-Driven Engineering in the construction of software, in particular in the real-time field. The investigation was conducted within Eclipse (EMF, GMF, Papyrus).
- Translated Title
- A high-available service oriented architecture
- Original Italian Title
- Un’architettura orientata ai servizi che offra alta disponibilità
- Supervisor
- Prof. Gilberto Filè
- Outside examiner
- Prof. Massimo Marchiori
- Industry supervisor
- Davide Bedin
- Description
- At BEDIN Shop Systems srl development of a prototypal application for log transmission according to SOA principles using Windows Communication Foundation (WCF) and Amazon Simple Queue Service (SQS). For validation I employed testing, integration testing and coverage report
Curriculum Vitae by
Eric Miotto is licensed under a
Creative Commons Attribution 3.0 Unported License.