Johannes Bolz verfügbar

Johannes Bolz

Mobile Developer With 8 Years Of Full-Time Experience

Profilbild von Johannes Bolz Mobile Developer With 8 Years Of Full-Time Experience aus Berlin
  • 10969 Berlin Freelancer in
  • Abschluss: B.Eng Geoinformation
  • Stunden-/Tagessatz: nicht angegeben
  • Sprachkenntnisse: deutsch (Muttersprache) | englisch (verhandlungssicher) | französisch (Grundkenntnisse)
  • Letztes Update: 08.07.2020
Profilbild von Johannes Bolz Mobile Developer With 8 Years Of Full-Time Experience aus Berlin
Programming Languages
My specialization is on Android Development. Hence, I am proficient in Kotlin and Java. But I also do cross platform development with Flutter (Dart).
Besides that, I also speak a bit of JavaScrpt and Python.

Frameworks and Libraries
I am familiar with all the important tools that are used in the Android world, as well as some more exotic ones. I have the experience to make a balanced decision which technologies fit your particular project best. Here is an excerpt of technologies I have worked with:
  • RxJava/RxKotlin
  • Architecture Components
  • Retrofit
  • Dagger 2
  • Firebase (RTDB, Cloud Firestore, FCM)
  • Realm
  • Room
  • Jackson/GSON/Moshi
  • EventBus
  • SQLite
  • Flutter

Testing is important. However, regarding the extent of testing and the tools used, there is no one-size-fits-all solution for every project. I will listen closely to what your project's demands are and help determine the fitting testing setup. I am proficient using these tools:
  • JUnit: JVM & instrumented unit testing
  • Mockito/PowerMockito
  • Espresso
  • Appium
  • CI Server Integration

Build and Deploy
I am familiar with the popular CI/CD tools:
  • Jenkins
  • Travis
  • Gradle
  • (Continuous) Deployment on Google Play or Fabric/HockeyApp

Having developed Android apps from the early days of the platform, for clients ranging from early-stage startups to well-established medium-sized companies, I have solid experience in multiple popular architecture approaches. I am of course familiar with design patterns as well as MVVM and MVP architectures. Understanding the maintenance requirements of your project, I will help you find out which pattern is best for your codebase.

Project Organization
I am familiar with SCRUM, Kanban, Waterfall and everything in between.
365FarmNet (2018/2019)
365FarmNet develops modern farm management software. As a freelancer, I worked on 365Active, a solution for farm device tracking using bluetooth beacons.  The main challenge was to put an existing, extensive code base into a clean, maintainable architecture. This involved working closely with the mobile development lead while drafting the architecture as well as coordinating the refactoring process with the other mobile developers in the team. (2017-18)
Frachtraum was a Berlin-based startup that aimed to digitalize the freight-forwarding business. As lead mobile developer, I developed Frachtraum's driver app. Given Frachtraum was an early-stage startup at the time, the development had to be fast paced while keeping maintainability. I reported directly to the management and delivered the required featured on time, in a stable and maintainable manner. The app included a navigation feature using HERE Maps for dedicated truck navigation; the code base was structured using MVVM design with Google's then-new Architecture Components framework.

Teamplace (2014-17)
Teamplace is a cloud storage solution with a focus on collaboration. As Android Lead Developer, I was responsible for Teamplace's Android app. The challenge here was to maintain and extend a large codebase over the years, in a time when architectural best practices in the Android world changed from year to year (MVC-ish architecture using Services -> EventBus -> RxJava). I put a strong focus on keeping the code base consistent and coordinated refactoring processes with the management and development team. The project uses RxJava, Realm, Dagger 2, Fresco image rendering and a PDF rendering library from Radaee.

ThinPrint CloudPrinter (2012)
CloudPrinter is a service that allows printing from any device, without having to install printer drivers, using cloud technology. As Android Developer at Cortado, I was the main developer of the first iteration of the CloudPrinter app. The challenging part was to integrate the app with Android's file sytem (in a time when no easy-to-use document sharing API was available yet) and providing a clear, easy-to-use UI. The app used standard Android APIs.

Cortado Workplace/Cortado Explorer (2012-13)
Cortado Explorer was a on-premise cloud storage solution for businesses, and Workplace was its cloud-based, consumer focused sibling. As Android Developer I worked in the mobile team maintaing the code base and extending the app's functionality. The key challenge was maintaing two apps using a single code base.

eFlyer (2010-12)
eFlyer was an app that digitalized paper flyers/pamphlets and was developed during a research project at my university (MAGUN). Later, it was attempted to monetize the project's findings in a spun-off startup ina Berlin. I was the main Android developer of that project.
I am based in Berlin, Germany. I will be happy to join your team on-site if your offices are located in Berlin. Also, I have a fully functional home office with a small assortment of physical devices for testing as well as access to multiple device cloud services. If your business is based outside Berlin, I will be able to join you on-site for regular consultations, given the overall remote part of the project is at least 80%.