MARKO JUHANI 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, S Korea) 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, provide training
• 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, XML based layout system and Compose UI Toolkit
• Tools used: Umbrello (UML modeling), SVN and Git (Version control), Jira, Basecamp, CA Rally (Agile development tools), DevOps, Charles (Http proxy), Postman, Swagger
• Presales experience, assistance in the evaluation and interview process of new employees
• Fluent in Finnish and English, intermediate Swedish. COMPETENCY AREAS
• Android Application development with Java (10 years) and Kotlin (6 years), Kotlin Multiplatform (KMP)
• Wide system architecture designs leveraging with commercial cloud services (e.g. AWS, Parse, Firebase)
• IAM with AWS Incognito and Firebase Auth
• Android native (Java) application development: SDK, Application components, Data storages (file, SQLite, ORMLite, Room, DataStore, online/offline web response data caching), Data Binding. Navigation
• Reactive Programming (AndroidRx, Flow), Persistent work with WorkManager, Async work with Coroutines, Web Services (RESTfull – JSON, Retrofit, Ktor, GraphQL – Apollo client)
• Dependency Injection (Dagger2, Koin), Location based services using geofencing and beacon devices, Push Notification (SNS, GCM, FCM, Deacon, MQTT), Card payment process (swipe for magnetic stripe, EMV-IC)
• Data encryption/decryption/hash (e.g. AES256, HMAC-SHA256), 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’, ‘MVI’, new Android Architecture Components (LifeCycle, ViewModel, LiveData, Flow, Room, Navigation Components, WorkManager, DataStore, and Jetpack Compose UI Toolkit)
• 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: 15+ years
Java, C & C++ experience: 15+ years
Linux OS: 5+ years
Kotlin: 5+ years
Compose: 1+ years
AI Tools: Android Studio Gemini, GitLab Duo agent, 2+ years: PROFESSIONAL EXPERIENCE
Corduro Merchant Services – Lead Developer April 2023 – Current Architected and implemented a Payment Terminal POS Android application running on 4 different hardware: PAX A920Pro, Clover Flex3, Nexgo N96 and Dejavoo P8. One codebase (different variants) to communicate with different hardware and SDKs (MSR & EMV card readers, PIN pad, encryption for card data & PIN block, location (no GMS), Printer, device identifiers, Camera), modular structure for different features in Kotlin and screens implemented 100% in Jetpack Compose. Applied clean architecture & solid principles utilizing MVVM-pattern w/ Dagger2, Retrofit2, GraphQL, Ktor, Kotlin Serialization, encrypted Proto DataStore, Shared preferences, File system, WorkManager, Coroutines, Flow, Firebase services
(Crashlytics, Auth, Performance), RSocket communication w/ 3rd party POS web app. Utilized same MVVM framework as in the below payment application. Application published to 4 different private Market places of each device manufacturer. Setup CI pipeline in DevOps, no chance of automated deployment (CD) to different private marketplaces since devices don’t support Google Mobile Services (GMS). Application is deployed manually as a signed APK file to respective marketplaces, 74% overall unit test coverage, for Compose UI semantics (composeTestRule), Truth (Google) assertion framework, mocking using Mockk and Robolectric (for JVM execution).
Using Chaquopy framework for bridging Android Kotlin and Python code (CPython) for integration w/ KindTap credit card payment gateway (uses Python scripts for generating request Auth signatures).
Converted XML based UI to Compose UI 100%, also replaced Dagger2 with Koin and Retrofit3 with Ktor applying clean architecture (presentation, data and domain layer) with MVVM pattern. Developed reusable components (ErrorDialog, InformationDialog, ModalProgressDialog, NumericInputDialog: 6 digit PIN-entry boxed, all w/ lamda callbacks to consumer) into own core module which other modules are dependent on.
Utilizing Android Studio Gemini AI agent to create first draft code, simple repetitive coding tasks, fix issues e.g. high recomposition rate, generate unit tests, Composable preview functions. Aatmunn (GuardHat Inc.) – Android Developer (Contract) February 2021 – April 2023 Smart Glass (Android 10) development for two GuardHat Kotlin (legacy Java code) 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 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. App is deployed to 2 different marketplaces as an APK-file.
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 over JNI-layer) and Speech-To-Text (using Google Speech) capabilities. APK file is deployed to devices using DownloadManager and system privileged PackageManager install. Leading three offshore developers (India, France). Publicis Sapient – Mobile Architect March 2018 – February 2021
(Client: McDonald’s, Chicago, IL)
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 October 2015 – March 2018 Clients and Projects with Aalto Solutions LLC:
(Client: GM Financial) Android Architect October 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 October 2015 - October 2017 Different application development responsibilities in AA Android application, both on UIs following Google Material Design principles as well as application system components. 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. Designed Data Management and authentication with AWS services (Dynamo dB, Incognito IAM, push notification, S3). 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 BLE 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 the 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 Finland and USA April 2004 – June 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. (Finland) 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 (Finland) 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, Automation Technology
• Post graduate studies towards a degree of Technical Licentiate (pre doctoral) https://www.researchgate.net/scientific-contributions/Marko-Blom-205-***-**** M.Sc., Helsinki University of Technology, Finland, Mechatronics/ Robotics
• Master thesis link: https://aaltodoc.aalto.fi/handle/123456789/87919 WORK AUTHORIZATION: US Citizen