Milos Fec
Verified Expert in Engineering
Software Developer
Prague, Czech Republic
Toptal member since January 28, 2016
Milos is passionate about Android, and his work experience reflects that. He has built Java applications, creating native C/C++ libraries and Java wrapper classes using JNI and C# .NET using MonoDroid. He has worked as the team lead and developed a modified Android OS for a payment terminal with a high focus on security, including Linux hardening. Milos has also introduced new system apps, services, and Android framework modifications.
Portfolio
Experience
Availability
Preferred Environment
Git, Android Studio, Linux, MacOS
The most amazing...
...work I've done was the Android OS development for an unique payment terminal called Aevi Albert.
Work Experience
External Consultant | Firmware Developer
Prusa
- Provided consultancy regarding development standards, workflow, and processes in order to provide high-quality and maintainable solutions.
- Designed, documented, and implemented platform-specific safe ways to update the bootloader.
- Implemented POSIX filesystem calls for small ARM Embedded platform, including FAT and LittleFS filesystem mounting.
- Prepared Python framework for automatic tests of the firmware using QEMU emulator.
External Consultant | System Developer
2N
- Identified and fixed critical bugs of Android devices (Kernel, Linux binaries, system services), preparing tools and custom builds for monitoring specific issues.
- Cooperated on the development of a new Android device (OS development, architecture, security).
- Consulted regarding Android API, system services, and optimizations.
Head of Mobile Platforms
2N
- Helped prepare an Android device for release by fixing several critical bugs in the Bootloaders, Kernel, Android recovery, and framework.
- Introduced quality standards on coding style, commit style, and workflow.
- Refactored legacy solutions to use Android and Linux standards, improving stability and maintainability.
- Fixed long-term issues of older Android devices. Used Android framework and apps, Kernel drivers, and Native Daemon.
- Closely cooperated on designing a new product for both software and hardware.
- Cooperated with multiple departments and suppliers on software, hardware, manufacturing, and quality control.
- Identified security issues before implementation and designed solution improvements to prevent risks.
- Led a team of five developers working on the system and Android apps.
Developer | Owner | CEO
Limeas
- Designed and developed J2ME applications according to the client's specifications.
- Consulted companies that were creating Android multimedia applications (using DRM).
- Developed Android apps that implement ad services, Google Analytics, and Play Store In-app billing.
- Developed an Android service running in a separate process for a large bitmap manipulation (preventing memory fragmentation in the app's main process).
- Created an Android library providing extended functionality (new Views and ViewGroups, Drawables, media manipulation, and other tools).
- Gained experience with miscellaneous Android libraries and tools (Android support libraries, third-party libraries, a DDMS/Device Monitor, and MemoryAnalyzer).
- Hired and coached several developers working on Android apps, Cloud services, and website.
Android Developer
Techona
- Integrated WebView with optimizations (pre-caching of resources).
- Implemented an advanced filter and search engine.
- Wrote automated UI tests (Espresso and Appium).
- Automated the build process for many build variants.
- Created the architecture for the project and refactored it (MVP pattern).
Android Developer
Datasys
- Automated UI tests (Appium).
- Integrated communication with the payment terminal.
- Integrated printing using thermal printer.
- Created custom printing library with hi quality bitmap generation.
- Refactored XML layouts and styles for clean, reusable, and maintainable code.
- Implemented synchronization of local database with the server.
Android Team Lead
Chess.com
- Analyzed and refactored code to use the MVP pattern.
- Created reusable views and components using a common app style.
- Added new features, focused on long term stability and maintainability.
- Cleaned up Git branches, specified and applied Git workflow.
- Set up processes for issues tracking, Jira workflow, app versioning, and release planning.
- Wrote documents about project structure, code style, commit style and other standards.
- Set up quality assurance and release processes for Android application.
- Led team of five Android developers, all working remotely.
SW Architect | Team Leader
Wincor Nixdorf
- Optimized an app UI for better HW acceleration performance.
- Created an Android library for communication with an asynchronous dial-up USB modem connecting to a banking server using an asynchronous dial-up modem.
- Cooperated with an external company providing security features, implemented Linux hardening on an Android 4.0 operating system, modified permissions to fulfill requirements, and gained PCI certification.
- Introduced new system apps and services to maintain security features above the scope of the regular Android operating system.
- Modified an Android framework, specifically the UI and back-end functionality.
- Led a team of seven developers working on the Android operating system.
Mobile Developer
Resco.net
- Created Windows Mobile applications (C/C++).
- Built a library for communication with Bluetooth headsets (AVRCP).
- Developed Android applications (Java).
- Developed an Android local proxy server for internet radio streaming with the added functionality of reading meta tags (song info) and recording stream simultaneously with playback.
- Worked on a multi-platform project Mobile CRM (Windows Mobile, Windows Phone, Android, iOS) using MonoDroid.
- Constructed native libraries (C/C++) with corresponding Java libraries (using JNI), integrated Java libraries into C# MonoDroid project.
Excel Macro Specialist
IBM
- Created Excel macros using Visual Basic for Applications.
- Worked with IBM Lotus Notes.
- Built a connection between MS Excel and IBM Lotus Notus (using Microsoft Component Object Model).
- Created an automated Excel document export with a combined data of more Excel files.
- Developed automated emails with content and recipients generated based on the attached Excel document.
Experience
Resco Mobile CRM
http://www.resco.net/mobilecrm/Aevi Albert
Clean It
Slidey
Chess.com
https://play.google.com/store/apps/details?id=com.chessIndoor Touch 2.0
https://www.2n.cz/en_GB/products/answering-units/2n-indoor-touch-2Skills
Libraries/APIs
Android API, Fabric, FFmpeg
Tools
Git, Jira, Android Studio, Android NDK, Microsoft Excel, Confluence, Gerrit, Jenkins, GitLab, GitLab CI/CD, U-Boot, TeamCity, Subversion (SVN), Eclipse Memory Analyzer, MonoDevelop, TFS, Eclipse IDE
Languages
C, Java, C++, Kotlin, Embedded C++, Embedded C, Visual Basic, Python, C#, SQL, XML
Frameworks
Android SDK, JNI, .NET, Espresso, Appium, Dagger, Dagger 2, GStreamer, Compose Multiplatform
Platforms
Android, Linux, Embedded Linux, J2ME, NetBeans, Android TV, MacOS, Bluetooth Low Energy (LE)
Paradigms
Model View ViewModel (MVVM), Model View Presenter (MVP), Scrum, Agile Software Development
Other
Low-level Programming, Embedded Development, Software Design, Embedded Systems, Android HAL, Jetpack Compose, MonoDroid, Amplitude, Linux Kernel, Linux Kernel Drivers, ARM Embedded, FreeRTOS, Bootloaders, OkHttp, Digital Rights Management (DRM), Bluetooth, AOSP, Android Rooting, Android Emulators
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring