Milos Fec, Software Developer in Prague, Czech Republic
Milos Fec

Software Developer in Prague, Czech Republic

Member since January 28, 2016
Milos is passionate about Android and his work experience reflects that; starting with 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 developing modified Android OS for a payment terminal with a high focus on security (including Linux hardening). He has also introduced new system apps, services, and Android framework modifications.
Milos is now available for hire

Portfolio

  • Prusa
    C, C++, ARM Embedded, FreeRTOS, Bootloaders
  • 2N
    Jenkins, Jira, Gerrit, Git, Linux Kernel, Java, C++, C, Android SDK, Android NDK
  • 2N
    GitLab CI/CD, GitLab, Jenkins, Gerrit, Confluence, Jira, Git, C++, C, Java...

Experience

Location

Prague, Czech Republic

Availability

Part-time

Preferred Environment

Git, Android Studio, Linux

The most amazing...

...work I've done was the Android OS development for an unique payment terminal Aevi Albert.

Employment

  • External Consultant | Firmware Developer

    2021 - PRESENT
    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.
    Technologies: C, C++, ARM Embedded, FreeRTOS, Bootloaders
  • External Consultant | System Developer

    2020 - PRESENT
    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.
    Technologies: Jenkins, Jira, Gerrit, Git, Linux Kernel, Java, C++, C, Android SDK, Android NDK
  • Head of Mobile Platforms

    2018 - 2020
    2N
    • Helped prepare 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.
    Technologies: GitLab CI/CD, GitLab, Jenkins, Gerrit, Confluence, Jira, Git, C++, C, Java, Android API, Android NDK, Android SDK
  • Developer | Owner | CEO

    2009 - 2018
    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.
    Technologies: Git, Android, C#, C, C++, J2ME, Java
  • Android Developer

    2017 - 2017
    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).
    Technologies: Python, Appium, Espresso, Java
  • Android Developer

    2016 - 2016
    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.
    Technologies: Appium, Java
  • Android Team Lead

    2016 - 2016
    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.
    Technologies: Fabric, Amplitude, Dagger, Android, Java
  • SW Architect | Team Leader

    2013 - 2015
    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 Android 4.0 operating system, modified permissions to fulfill requirements, and to gain 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.
    Technologies: C, C++, Java
  • Mobile Developer

    2008 - 2013
    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.
    Technologies: MonoDroid, .NET, C#, Java, C, C++
  • Excel Macro Specialist

    2007 - 2008
    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.
    Technologies: Visual Basic, Microsoft Excel

Experience

  • Resco Mobile CRM
    http://www.resco.net/mobilecrm/

    A multiplatform mobile application for (not only) Microsoft Dynamics CRM.

  • Aevi Albert

    A new kind of payment terminal using Android OS.

  • Clean It

    A simple Android game released in December 2011 which gained 250,000 downloads within the first month.

  • Slidey

    A sliding puzzle Android game supporting image importation, optimized for low-end devices, and handles large bitmap loading in a separate process.

  • Chess.com
    https://play.google.com/store/apps/details?id=com.chess

    Play chess with more than 10 million players around the world and solve more than 50,000 puzzles. You can get access to thousands of videos and interactive lessons from top Grandmasters and many more features.

  • Indoor Touch 2.0
    https://www.2n.cz/en_GB/products/answering-units/2n-indoor-touch-2

    The 2N® Indoor Touch 2.0 answering unit guarantees reliable video door communication. The Android OS, more powerful hardware, and simple user interface make it easy to integrate the 2N® Indoor Touch 2.0 with third-party applications. For example, home automation systems can be comfortably operated on the 7“ touch screen made of tempered glass.

Skills

  • Languages

    C, Java, C++, Kotlin, Visual Basic, Python, C#, SQL
  • Frameworks

    Android SDK, JNI, .NET, Appium, Dagger, Dagger 2, GStreamer
  • 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
  • Platforms

    Android, Linux, J2ME, NetBeans, Android TV
  • Paradigms

    Model View Presenter (MVP), Scrum, Agile Software Development
  • Other

    MonoDroid, Amplitude, Linux Kernel, Linux Kernel Drivers, Espresso, ARM Embedded, FreeRTOS, Bootloaders, OkHttp, Digital Rights Management (DRM)

To view more profiles

Join Toptal
Share it with others