michelangelo@altamore.org — +39 320 948 66 63 — altamic
Self-motivated fast learner, enthusiast to tackle problems using appropriate tools, result-driven problem solver and proactive team player.
1 at the time of writing.
I got a five-years Bachelor's degree in Computer Science in 2006. Since then I am working as a consultant for private corporations providing software development in fields such as finance, telecommunications, mass retail and medical.
I've been developing mobile Apps for ten years and more. I work fully remotely since 2018, now at Playtomic as an Android and iOS native Mobile developer. During my career, I have been involved in a wide spectrum of software projects ranging from firmware development to back-end development sometimes as a Team Leader.
Beside my general interests in programming languages, I follow with enthusiasm Kotlin/Native and its use in Multiplatform projects. I remain focused onto the evolution of the best practices in the field of software architecture, for which I have empirically developed the belief that Clean Architecture is always desirable at the application level.
I have experience with different programming paradigms (Object Oriented/Functional/Logical), specializing with on device Digital Payments protocols, nowadays offered through Host-based Card Emulation of Type 4 tags by Apple Pay and Google Pay and in the automation of software life cycle processes.
Programming paradigms: Object Oriented, Functional, Logical
Languages: Kotlin, Java, Swift, Objective-C, C, Ruby, Prolog
Platforms: Android, iOS, MacOS X, Linux, Windows
Remote API paradigms: HTTP REST (JSON, XML), RPC (SOAP)
Frameworks: JetPack Compose, SwiftUI, Coroutines, RxKotlin, RxSwift
Specialties: Digital Payments: ISO/IEC 14443, ISO/IEC 15693; Android NDK JNI C/C++, NFC (HCE, RW, P2P), Bluetooth LE
Version Control Systems: Git (git-flow)
![]() Role: Native Android and iOS application development Period: April 2022 - ongoing Experience: Development of a native Android and iOS consumer app aimed at sport activities reservation and social engagement with other sport players Technologies: SOLID principles, Clean Architecture; Android: Kotlin, Jetpack, Android Studio, Bitrise, Zeplin; iOS: Xcode, Swift, UIKit, SwiftUI, MVP, MVVM. |
Playtomic mobile appImplementation of evolutionary changes of an existing native mobile application aimed at finding and booking courts to play Padel, Tennis and other club sportsCurrently on PlayStore and AppStore |
![]() Role: Native Android and iOS application development. Period: December 2021 - March 2022 Experience: Human hair segmentation and 3D modeling by 2D pictures with generative techniques, exploration of iOS LiDAR API and other AR techniques Technologies: iOS, Swift, Deep Learning techniques, Google MediaPipe, TensorFlow Lite, ARKit 5, SceneKit, Reality Composer |
DHI Mobile appMobile app prototype able to perform human hair recognition and 3D reconstruction, aimed at realistic human hair modeling and renderingReleased internally during February 2022 |
![]() Role: Native Android application development. Period: September 2020 - December 2021 Experience: Ad hoc customizations and various additions (e.g. SumUp terminals, MQTT protocol, NFC canteen badges, etc ...) Technologies: Java, Android |
A Touch SystemImplementation of evolutionary changes for the introduction of new features. Ad hoc customizations and various additions (e.g. SumUp terminals, MQTT protocol, NFC canteen badges and so on…)Multiple periodic releases since September 2020 |
![]() Role: Native Android application development. Period: March 2020 - September 2020 Experience: Team Leader, System Analyst, Mobile Developer Technologies: Clean Architecture, Kotlin/coroutines, Android, Dagger, Couchbase, Android Architecture components. |
Zulu.E 2.0Design and implementation of an Android tablet application able to collect clinical data in the context of EMS, able to operate offline and sync collected data coming from on-site operators or medical equipment devices.Released in September 2020 |
![]() Role: Native cross platform mobile application developer (Kotlin Multiplatform, Kotlin/Native) Period: February 2020 - March 2020 Experience: Evolutive change requests for an existing built in house KMP iOS/Android native application. Technologies: Clean Architecture, Kotlin, Kotlin Multiplatform Project, Coroutines, RxSwift, KTor, Kotlin Serialization |
LynQsEvolution of a mobile application providing a digital marketplace of financial products, investment ideas, lifecycle analytics, portfolio analytics and market events notifications.Released during March 2020 for both AppStore and PlayStore |
![]() Role: Mobile application developer (Android/Kotlin) Period: September 2018 – February 2020 Experience: Integration of REST web services and relative UI adaptation for an existing app Technologies: Clean Architecture, MVP, Dagger, RxJava, Retrofit, Realm |
B.link v1.2Summarize financial KPIs overview of customers, track progress and manage proposed financial products.Released for corporate employees in July 2019 |
![]() Role: Mobile application developer (iOS/Swift) Period: March 2017 – August 2018 Experience: Integrating REST web services and a new UI into an existing iPhone app Technologies: ApplePay, Apple Push Notifications, Firebase, Alamofire, PromiseKit, RESTful APIs integration, OpenID Mobile Connect |
TIMpersonal v2.xIntegration of banking APIs into an existing iOS application in order to provide banking services (virtualize physical credit cards, P2P payment between users, POS payments).Released publicly in January 2018 |
![]() Role: Mobile application developer (iOS/Swift) Period: August 2016 – February 2017 Experience: Introduce an event based architecture, refactor and/or port ObjC code to Swift, implement features, introduce bug fixes, profile and improve performances Technologies: RxSwift, iOS, Alamofire, Realm Role: Mobile application developer (Android/Java) Period: January 2016 – August 2016 Experience: Implement business logic flows pertaining the APIs with reactive programming and link them with the UI through an event based architecture, introduce planned features Technologies: RxJava, EventBus, Retrofit |
TIMpersonaliOS/Android application that provides an identification service based on the SIM to gain access to third party services: payment for goods/services of TIM business partners and obtain authorization to public administration services (SPID). The application provides other ancillary services: purchase of bus tickets and parking for many Italian cities and is able to capture and virtualize loyalty cards.Released publicly in January 2017 |
![]() Role: Mobile application developer (Android/Java) Period: August 2015 – October 2015 Experience: Design and implement methods to enable an OpenID Mobile Connect login; intercept an SMS with a PIN number in order to verify the phone number associated with a customer's data base, call a remote API to receive identification tokens that can be transferred by NFC technology (HCE), QrCode or via Bluetooth LE Technologies: Bluetooth, HCE, OAuth, OpenID Connect, Android Studio |
MobileConnectProximityA turnkey appliance that provides identification services based on OpenID Mobile Connect that can be used by third parties for authorize payments, turnstile opening, and so on. It consists of a Desktop app able to get an identification token via WebCam (QrCode), Bluetooth LE (GATT), PC/SC NFC reader (HCE), a Mobile application for both Android and iOS able to identificate a user through an OpenID login and receive identification tokens to be transmitted to a Desktop app, a Custom Bluetooth GATT Profile and a RESTful back-end.Released as prototype in November 2015 |
![]() Role: Mobile application developer (Android/Java) Period: June 2015 – August 2015 Experience: Design and implement an app to acquire and manage coupons captured by a QrCode or transferred via NFC interfacing with back-end via REST APIs Technologies: RecyclerView, CardView, Volley, REST APIs |
TIM TokkyAndroid app that captures coupons by a QR Code shown after watching videos provided by a Sponsor's website, or by a Scratch Card sold by the TIM telco. Coupons consist of hours/volume of internet traffic and can be activated in app or transferred to other TIM customers via the recipient's phone number or NFC.Released as a prototype in August 2015 |
![]() Role: Mobile application developer (Android/Java) Periods: • January 2015 – March 2015 • February 2014 – June 2014 • September 2013 – February 2014 Experience: Design and implementation, evolutionary maintenance, implementation of new features (meeting rooms reservation) Technologies: Material Design, RecyclerView, CardView, Volley, REST APIs |
SelfPassAndroid application intended for corporate employees. Perfoms a virtual reception service allowing to book a visit for a guest and providing the guest's entry clearance in the company. The application also manage the booking of corporate resources (classrooms meeting) and enable access to the resource (opening enabling mechatronics for classroom meeting) via NFC.Released for corporate employees in June 2014 |
![]() Role: Mobile application developer (BlackBerry/Java ME) Period: August 2013 – September 2013 Experience: Interface to communicate to/from SIM NFC and NFC terminals (POS), implement management of service subscriptions (request, removal, operations related to payments, sending identity in terminals), management of PIN/PUK application integrated at the SIM Level Technologies: Java Micro Edition, BlackBerry, NFC |
TIM WalletBlackBerry application for the management of smart cards (eg. attendance business badges, canteen badges, public transport badges).Released publicly in September 2013 |
![]() Role: Mobile application developer (Windows Phone/C#) Period: January 2012 – April 2012 Experience: Develop a Windows Phone app with platform's UI native components, interface with RESTful back-end APIs Technologies: C#, XAML |
SmartPassWindows Phone/iOS application to enable use of payment services via prepaid virtual cards. The app makes available information services, self care, mobile couponing and advertising.Released as a prototype in April 2012 |
![]() Role: Mobile application developer (Symbian/Javascript) Period: September 2011 – October 2011 Experience: Develop a mobile application with a cross platform environment Technologies: Rhomobile, jQuery, Ruby, HTML/CSS |
Agenda della SaluteSymbian application providing an agenda where information about medical tests are displayed and recommended according on user's gender and age.Released publicly in October 2011 |
![]() Role: Teacher Period: January 2013 – March 2013 Experience: Introduce the Android OS, its components and application programming techniques through a theoretical introduction and practical development of a sample app with fragments, list views, database, maps and media. Technologies: Java, Android, Eclipse |
Android courseDispense a course to introduce the Android architecture and train on the development of Android applications in Java. |
July 2006: | Bachelor's degree (5 years) in Computer Science |
Mathematics and Computer Science Department University of Catania, Italy |
|
Mark: 108/110 |
June 1996: | Senior high school diploma specializing in science education |
Liceo “Don Bosco” Catania, Italy |
|
Mark: 60/60 |
Understanding | Speaking | Writing | ||
---|---|---|---|---|
Listening | Reading | Interaction | Production | |
Italian | C2 | C2 | C2 | C2 |
English | B1 | B1 | B1 | B1 |
Privablic: access to private members and methods of a C++ struct or class
https://github.com/altamic/privablic
Bitcoin Protocol: Bitcoin protocol implementation in Ruby
https://github.com/altamic/bitcoin-protocol
June 2009: publish an introductory article about the use of Test Driven Development with Ruby on Rails on the Rails Magazine.
April 2009: talk at the Telecom Working Capital Barcamp entitled “Redis, an high performance service for data structures storage”.
January 2009: co-founder of Catania Ruby User Group and organizer of regular meetings.
Tennis: I started playing it at the age of 7, regularly and with passion. I string my rackets with strings and tensions that I choose appropriately.
Table tennis: I have been training twice a week since October 2021 in a local club.
Running: Almost daily since September 2020, with various general benefits and alternating with swimming whenever possible.
Sailing: My interest for the wind led me to try and sign up for a sailing course in October 2021 with the aim to obtain a nautical license.
Meditation: In my opinion it can facilitate a better self-awareness, which is why I practice it almost daily.