Hello, my name is Darko Smoljo, I live in Zagreb (Croatia) and I’m an Android developer since 2014.
I work full time for Wastelogics, a UK based software company which provides a set of software services for waste management. My job is to create native Android based mobile app solutions which integrates with web based ecosystem.
My usual tasks include:
- listening for requirements
- documenting possible solutions for problems
- developing solutions
- testing solutions
- bug fixing
- maintaining older android applications
I follow new Android technologies, and lately I’ve been focusing on architectural patterns like MVVM and MVI enveloped in Clean architecture.
Some of the libraries/frameworks I use every day and have experience with:
- Kotlin Coroutines/Flow
- Mosby MVI
- RxJava & RxAndroid
- Dagger 2
- ObjectBox, GreenDao & Room
- Glide & Picasso
While I can’t say I’m much of a designer, I often try to follow Android UI guidelines and would suggest for the most Android look and feel design when developing new app.
I also have experience with some less common features like USB and Bluetooth connection. I have developed a couple of applications based around this features which are used by 500 people in field every day.
Some other features I have created in our apps are:
- integration with external navigation
- build in custom camera
- offline mode (data synchronises only when possible)
- push notifications
We use Git for sharing code and Google Play Store for sharing our apps with the clients. Basic security stuff include usage of Proguard in release build and hiding important api points into NDK files, but more robust security is implemented into our web api. A series of private and public dynamically created keys are shared in between mobile apps and web api’s in order to authenticate each call. Essentially what we have done is a custom OAuth2 protocol for our mobile apps and API services.
Other than Android, as stated above, I have worked on web technologies like PHP and quite a while ago I used Phyton for web, specifically Pyramid framework.
Since 2014, I was also an iOS developer for 2 different companies, and I’ve also created a video game for iOS as my master’s degree. But I wouldn’t say I’m very well versed in that technology as I’d like to be.
I have also tried a bunch of all-in-one multi-platform solutions like Ionic and PhoneGap, and I could see a need for such technologies aimed for different type of clients and/or customers.