MARKO J. BLOM
**** ******** ****., ****** *****, TX 75022
214-***-**** / *****.****@*****.*** /
https://www.linkedin.com/in/marko-blom-a006031
EXPERIENCED MOBILE ARCHITECT AND DEVELOPER
Open for challenging and rewarding technical leadership role in embedded software technology, with a potential for continued professional growth into new technologies.
• Technical Leadership: Team of 20+ members overseas (UK, India, China) and in USA for mobile front-end, middleware and dB SW development; Delivery of mobile application R&D expertise to diverse audience and introducing them to new emerging technologies.
• Visionary & Innovator: New contactless cross-platform payment mechanism for mobile phones, MEAP design and implementation of a Tablet POS application –platform for merchant and consumers (omni-channel, cloud based data management, payment gateway); Experience in adopting and utilizing the latest in mobile phone technologies; Proven ability to learn & adopt new technologies and put them in practice effectively
• Seasoned Chief Embedded Software Architect with 17+ years of high-tech software engineering experience
• Hands on experience: Architecture and implementation (new APIs, SDKs) on Android OS using Java and Kotlin.
• Tools used: Umbrello (UML modeling), SVN and Git (Version control), Jira, Basecamp, CA Rally (Agile development tools), Charles (Http proxy)
• Presales experience, assistance in the evaluation and interview process of new employees
• Fluent in Finnish and English, intermediate Swedish. COMPETENCY AREAS
• Android OS Native development, Kotlin Multiplatform (KMP)
• Wide system architecture designs leveraging with commercial cloud services (e.g. AWS, Parse, Firebase)
• Android native (Java) application development: SDK, Application components, Data storages (file, SQLite, ORMLite, Room, online/offline web response data caching), Data Binding, Reactive Programming (AndroidRx), Persistent work with WorkManager, Async work with Coroutines, Web Services (REST – JSON, Jackson, Retrofit, MQTT), Dependency Injection (Dagger2), Location based services using geofencing and beacon devices, Push Notification (SNS, GCM, FCM, Deacon), Card payment process (swipe for magnetic stripe, EMV-IC), Data encryption/decryption/hash (e.g. AES128, HMAC- SHA1), NFC (Tag, Beam, HCE), classic Bluetooth, BLE, Indoor Navigation, Cloud based data management using AWS (Incognito authentication, DynamoDB, SNS), data sync between devices using Wi-Fi Direct P2P and NSD (both are basis of IoT),
• Robust and modular architecture designs applying common design patterns e.g.
‘MVC’,‘MVP’,‘MVVM’, new Android Architecture Components (LifeCycle, ViewModel, LiveData, Flow, Room, Navigation Components, WorkManager) and Jetpack Compose
• Android framework development - OS architecture, build system anatomy, images, Init process (Zygote, Runtime Service Manager, System Server), Boot Animation, IPCs
(binder, socket), JNI, video subsystem, Input System framework, EMV/ICC communication via PCSC/PCLite native API using ADPU based communication protocols, security (Self Modifying code, own DEX compiler, Assembly x86 routines)
• Linux Kernel - Process management, scheduling, Interrupt management, and different device types etc.
• Device Drivers (Resistive Touch Screen, USB devices), Boot loaders
• Extension of Android Security Model for banking applications (rooted device support)
• OMAP 3530 based SoC for prototyping a POS device featuring: o Resistive touch screen with a five-point-calibration procedure, hw keypad, o Data communication interfaces via SPI, I2C
o Contact and contactless Smart Card (chip) communication via ADPU o Assembly routines for a performance boost in critical sections
• Android experience: 10+ years
Java, C & C++ experience: 15+ years
Linux OS: 5+ years
Kotlin: 5+ years
PROFESSIONAL EXPERIENCE
Geico Insurance – Principal Engineer 1 April 2023 - Current Started at Geico as a mobile app developer using Jetpack Compose in implementing new features and fixing issues in the Geico mobile app (client interfacing app). After 6 months moved to another team as Team Lead and mentor of Android developer team (4 developers). Responsible for developing Telematics SDK (headless app) incorporated in Geico- Mobile-App for recording driving behavior in the background (Foreground Service). Applied sensor data fusion (GPS, accelerometer, magnetometer, rotation) to create data packages to be uploaded to server once trip is completed for scoring (Data Analytics). Detecting driving distractions like calling, BT handsfree, Android Auto, phone handling etc. during active trip. Conducted live feature testing, set up CICD-pipeline in DevOps. Created a POC for having SDK implemented in Kotlin Multiplatform for both iOS and Android SDK (web services, sensor framework communication).
GuardHat Inc. – Android Developer February 2021 – April 2023 Smart Glass (Android 10) development for two GuardHat applications running in Smart Glass devices (Vyzix M400 and M4000, RealWear HMT-1Z1). Navigation supports physical buttons, touch pad, voice commands and head tilt. Kotlin.
Android application development on Java/Kotlin code base, features including SIP voice & video calling using PortSip VOIP SDK, PushToTalk (PTT) using IO.VoiceLayer SDK, Notifications using Mqtt protocol (Paho SDK), SFTP protocol for media upload. Modernization of a mobile payment application (10 year old, Java) in Kotlin. Design and implementation of existing functionality applying clean-architecture (MVVM) using a custom mvvm-framework module. App consists of 10+ modules with 3 Dynamic Feature Modules. Supports a custom payment gateway and BT EMV/Swipe card reader. Uses heavily dependency Injection (Dagger2), Retrofit2 http client, data binding, custom data encryption, biometric authentication. CI/CD pipeline using Fastlane for deployment, set up in GitLab. Created architecture for a Remote Patient Care -device (Android 10 tablet running on a custom Quectel board). Designed and implemented 13 different applications running in the tablet device, including 4 Remote Services and 5 Content Providers. Implemented e.g. support for 10 different BLE medical devices, custom Dialer-app, custom Messages-app, Voice Assistant-app with Text- To-Speech (using Oboe low latency audio lib.) and Speech-To-Text (using Google Speech) capabilities.Leading three offshore developers (India, France). Publicis Sapient – Mobile Architect May 2018 – February 2021
(Client: U.S. Bank, Minneapolis, MN)
Designing and implementing new features into US Bank mobile application, new Web API design utilizing GraphQL approach (Apollo -client), Kotlin
(Client: Spirit Airlines, FL)
Android mobile application assessment. Bug fixing, Java
(Client: Abbott Labs - Abbott Diabetes Care (ADC), CA) Fixing issues in ADC Glucose Meter SDK which manages all communication from Java API layer (3rd party clients) via JNI to native C-code which parses data from BLE and NFC readings
(historic & realtime)
(Client: McDonald’s, Chicago, IL) May 2018 – July 2020 Architecting and implementing new features into McD Mobile Order application including Android Auto support for notifications, Google Pay, Samsung Pay, Voice interaction using App Actions, Slices, Google Assistant DialogFlow,
(Client: Presto, Redwood City, CA)
New payment gateway design for tabletop XAC-3A payment terminal (Kotlin, Façade -design pattern), integration and certification work for Fiserv (FirstData): DataWire front-end, TransArmor tokenization and RapidConnect payment APIs. Followed UMF data format (XML-SimpleXML parser) to complete certification for:
• DataWire certification - Implemented 3-phase DID generation from GroupId, MID and TID
• TransArmor certification – Tokenization and 3DES encryption for track1, track2 and combined data
• MSR (Visa, MC, AMEX, Discover) – Debit and Credit for Sale, Auth, Compl, Void, Refund (full)), MSR Contactless format support, PinlessPOS, PinByPass
• EMV-CT and -CTLS (Visa, MC, AMEX, Discover) Debit and Credit (Sale, Auth, Compl, Void, Refund (full)), PinlessPOSDebit, PinByPass, US Common Debit AID preference
• Two Certifications with Fiserv front-ends: BuyPass and NashvilleNorth
• Used UL-Tool (B2) for validation and testing of EMV-CT and -CTLS Other Activities for Publicis Sapient client
• Presale technical support for Firestone Building Products (Nashville, TN)
• Mobile application assessment for Sprit Airlines (Miami, FL), a future mobility road map definition
Aalto Solutions LLC, Dallas, TX November 2015 – May 2018 Clients and Projects with Aalto Solutions LLC:
(Client: GM Financial) Android Architect Oct 2017 – March 2018 Different application design and development responsibilities in a new GM Financial car loan mobile payment application.
(Client: American Airlines) Senior Android Developer March 2016 – Oct 2017 Different application development responsibilities in AA Android application, both on UIs following Google Material Design principles as well as application system components. Client: InfoVision Consultants; System Architect January 2016 – March 2016 Participate in presales operations, architecting system design for a platform that enables deep data collection, analysis and video sharing (WebRTC) with smart mobile application. Client: Barclays Bank, NYC; Android Mobile Architect November 2015 – January 2016 Architect and development responsibilities on a hybrid mobile application for Barclays (internal) staff use, utilizing PhoneGap3 (a.k.a. Cordova) hybrid application framework. InfoVision, Inc., Dallas, TX October 2011 – October 2015 Android Architect/Lead Developer - Barclays Technology Center Dallas (BTCD) Oversee Tablet Point-of-Sale (POS) application development. Solely responsible for inception and system architecture design for “Ecosystem” eCommerce platform in which POS acts a hub for different types of client applications regardless of OS, connecting Barclays merchants and customers in multiple ways: Clients can see mobile promotions/offers and place pre-orders (pick- up-, delivery- option) by using eCommerce client application. Merchants can create offers in POS tablet to their own website (web store), to mobile devices and to Barclays eCommerce site (Omni channel experience), merchants can detect customers’ presence in store and see their profiles and spending habits in real-time. Invented new Mobile Payment method that enables continuous bidirectional communication between payee and POS. This enables e.g. real-time reward redeeming and a new concept called “Future Shopping Experience. Android Team Lead in New Products Unit at BTCD (Android) Main responsibilities are on architectural design of multiple mobile banking applications for Barclays Bank (UK, ABSA) running on Android mobile and tablet devices, including Amazon Kindle Fire.
Designed and conducted efforts on new SW architecture (Application framework) for the existing and future applications payment applications resulting in faster and more uniform development and maintenance phases. Deploying new design for all Barclays mobile applications (common practices, code reviews, training) cooperating with project managers, team leads and developers. Lead a team of advanced developers for creating innovative POCs, e.g.:
• POS system based on TI OMAP3 SoC : hardware compatibility, device drivers, Android framework, applications
• Innovative prototypes for Mobile Wallet and mPOS application: “TapNpay” no card info transfer required since data is tokenized, using:
o NFC: Host Card Emulation (HCE) “TapNpay -payment”, both the card emulation and reader mode (EMV standard). Android Beam for large data o Bluetooth (Classic) P2P; Bluetooth LE for GATT server and GATT client for cross platform communication
o Payment data transfer over BLE for iOS
• OCR module for detecting credit card and check numbers from photos taken by phone camera, using OpenCV and Tesseract libs
• Indoor Navigation based on variation in earth's magnetic field
• Alerts / reminders for Smart Watch clients ( Samsung Galaxy Gear )
• Amazon Web Services (AWS): Incognito, DynamoDB, SNS, E2C, RDS
• Provides technical guidance to business development unit for emerging technologies and new business areas.
Team Lead in Barclays Mobile Retail Application (Android, iOS, iPad and backend) Tech lead for new Barclays retail application POC (Barclays Freedom). Client app (Android, iOS) consumes mobile promotions/offers which have dynamic content (Video, photos, text) and layout accordingly. Client can also receive push notification from Merchants that they follow. Merchant application (iPad) creates and manages offers, pushes them to server for later deployment to mobile devices geographically. Client application pushes analytics data about consumer shopping behavior in the application. Consequently merchant application can review the collected analytics data.
Corduro, Inc. July 2011 – October 2011
Android Architect and Lead Developer
Architectural design (framework and UI) and implementation of a Mobile social payment application both for handheld and tablet devices. Realtime secure transactions (REST/Json) between mobile device and backend -payment server. Integration of 3rd party libs for cardswipe and EMV usage. http://www.corduro.com/
Teleca USA April 2004 – March 2011
Principal Engineer
Consultant for Teleca client companies, researching and developing new mobile phone technologies. Responsible for organizing internal training for Teleca USA employees and employees abroad on different mobile platforms and technologies including Android, Linux and Qt UI framework. Software architecture design and implementation on Brew, Qt and Android OSs. Assist in the evaluation process of new employees (technical interview, programming tests). Last two years focus has been on different levels of Android OS programming assisting development teams globally.
Projects Include:
Teleca Global
• Beside development activities, responsible for Qt, Java and Android OS training of Teleca employees in USA
Teleca India
• Qt application development for Nokia N8 device
OpenPeak
• Dual Display support for Android tablet on Intel Moorestown chip
• Android framework, graphics/video -subsystem components developed: SurfaceFlinger Net1 Virtual Credit Card, http://www.net1virtual.com/
• Android Application development for a virtual credit card deployment on mobile devices. This application is available for MetroPCS clients.
• Responsible for implementation, design and upgrade design. Nokia (USA, San Diego), Symbian S60 AT&T variants
• Design and implementation of operator specific features for Nokia’s N97 (S60 phone). Components involved were Telephony adaptation, Nokia TSY layer and ETel up to application level.
• Technologies include Phoenix, Musti, CCM 6.3 (Synergy), Carbide IDE. Nokia, Symbian S60 Audio Framework
• Various software maintenance work on S60 Audio Core components managing different audio codecs and audio routing scenarios.
• Technologies include Phoenix, Musti, CCM 6.3 (Synergy), Carbide IDE Nokia, Symbian S60 email client development
• Device management client to backup files on handset.
• Implementation of UI application to help the end user to install email client, for different email protocols, on device fast and easy.
• Email client software maintenance
• New UI features to improve email client’s usability
• On Device Setup (ODS) application development,
http://europe.nokia.com/support/product-support/nokia-e71/email/nokia-email-service STMicroelectronics (2007, France, Grenoble)
• Symbian S60 audio adaptation layer (AudioNetworkServer, AEP, Multimedia resource manager, Smart Audio Accelerator, Audio IO, etc.) R&D work on ST Nomadik SoC family
(STn8810, STn8815, Stn8820)
• Developing audio architecture and above audio adaptation components that will be used on S60 9.2 A3.2-> based products since 2008.
• Special tools used : Lauterbach
Nokia (2005, Canada, Vancouver)
• Architectural redesign of Symbian S60 audio framework for Bluetooth stereo audio - support
• Implementation of related Bluetooth profiles: stereo audio (A2DP) and supportive (AVDP, AVRCP) profiles for a new S60 A3.0 based product. Work contained wide variety of Audio components to be redesigned at MMF Audio Adaptation layer.
• The architecture was adapted to five other S60 based products (music editions) in order to provide them a new Bluetooth stereo -feature.
Nokia (2004, Finland, Helsinki)
• Maintenance and redesign on SW entity for S60 Bluetooth (BT) mono audio -profiles of Handsfree (HFP) and Headset (HSP)
• Redesign on mono BT-audio controller module to suit the new S60 3.1 architecture, which was changing due to new Remote Control Framework and Bluetooth stereo audio -profile, coming with Symbian 9.1.
• Specific areas in the work include support for: Accessory Framework API which is the SW interface between SOS and DOS-side entities, Remote Control Framework API, which is the SW framework for all Symbian multimedia components since Averell 3.1
• Special tools used : Bluetooth Airsniffer
Microcell Ltd. 2000-2004
UI Software Engineer
Responsible for Organizer/Calendar application engines (data management and supply, OTA) and UI components (flow of views) for different phone models. Tasks ranged from requirement management, architectural design and SW implementation to SW maintenance (error fixing). Used mobile platforms included EMP Carbon (C-language platform) and ComNeon ( C++ platform) for major mobile handset brands like Ericson, Philips, and Siemens. VTT Industrial Systems 1997-2000
Research scientist, Mobile Robotics
Development of an intelligent motion control system for mobile robots based on sensor data collected from environment; QNX realtime multitask platform (C, C++). EDUCATION
Post Graduate Studies (not finished), Licentiate of Technology, Helsinki, Finland (1999-2001) Automation Technology
M.Sc., Helsinki University of Technology, Finland (1993-1999)
• Mechatronics/ Robotics
WORK AUTHORIZATION: US Citizen