*****************@*****.***
PROFESSIONAL SUMMARY
Experienced developer with 5 years’ experience
Experienced Business to Consumer mobile developer
Implementation of RESTful data consumption using Retrofit, RxJava, Coroutines with an OkHttp client, GSON, Moshi and Jackson converters
Experienced in quality code metrics and use of quality guidelines to produce high quality code that is sound, consistent and sustainable
Experienced quality reviewer, coordinating code walk-throughs
Experienced troubleshooter accustomed to leading design, development and implementation of complex systems
Knowledgeable of Google Material Design guidelines in UI implementation including animations, navigation, widgets, icons and style for optimal user experience
Experienced consuming REST and SOAP services to update application with new data.
Implementation of Android mobile apps using MVC, MVP, MVVM, and various design patterns such as Abstract Factory, Builder, Façade, Command, Observer, Visitor, Proxy, Singleton, etc.
Experience developing networking and secure applications for Android; working with video, static content, and advertising
Analysis of complicated architectures and layouts and translating that analysis into efficient technical strategies and code
UI implementation following the latest Material Design guidelines, animations and UX optimization, Fragments, Layouts, Animations, Compound and Custom Views and RecyclerView
Use of Automated Testing and Unit Testing: Robotium, Espresso, JUnit, Mockito and simulated design patterns to test and develop applications
Experience With Git and Github a for version control along with Jenkins and BitRise for Continuous Integration, applied within Test-Driven Development (TDD) practices
PROFESSIONAL SKILLS
Methods
Material Design, Agile/Scrum, Test Driven Development (TDD)
Issue Tracking
JIRA, Jenkins, Atlassian Suite
Design Patterns
MVC, MVP, MVVM, Singleton, Dependency Injection, Data Binding, View Holder, Builder, Adapter
Testing
Mockito, Mock K, Junit, Espresso, Robolectric
Web Services
JSON, REST, SOAP, XML, AJAX
Retrofit, Volley, RxJava, AsyncTask, RxKotlin
Software
MS Office (Word, Excel, PowerPoint, Paint),
Build
Maven, Gradle
Dependency Injection
Dagger 1, Dagger 2, Butter Knife, RoboGuice, IcePick, Koin
Version Control
Git, SVN, GitHub, SourceTree, Tower, BitBucket
Programming Languages
Java, Kotlin, Php, JavaScript, MySQL
IDEs
Android Studio, Eclipse, Visual Studio, Visual Studio Code, Netbeans, Notepad++
Change Management
Git/GitHub, SVN, Jenkins, Travis CI, BitBucket
Operating Systems
Android, Unix/Linux, Mac OS, Windows, IOS
API
Facebook, Twitter, Google Maps, RESTful, Volley, Picasso, Glide, YouTube, Retrofit, ButterKnife
Data Management
SQLite, Firebase, MongoDB
NFC (Near field communication)
JetPack
Room, ViewModels, LiveData, Download Manager, WorkManager, Slices, Paging
Data Binding
Android Data Binding, View Binding
UI Creation
Custom android views classes and components, Android adapter views like Listview, Recyclerview, Gridview and Gallery, Customized List views, Gallery widgets
Android Libraries, Frameworks and APIs
Jersey Library, Google Maps API, Google Places, RecyclerView Animator, Location Services, FloatingActionButton, Google Cloud Messaging, Schematic, Bluetooth Low Energy, NineOldAndroids, JobScheduler, Push Notifications, Google Play Services, Firebase
PROFESSIONAL EXPERIENCE
TUI UK Limited September 2019-Present
Senior Android Developer Luton, Bedfordshire
https://play.google.com/store/apps/details?id=com.thomson.mythomson
Feature implementation:
Check in online and download boarding pass direct to your phone
Holiday weather forecast
Detailed flight and hotel information
Bugs related to Flight extras, like baggage upgrades and seat selection
Tech:
Used MVVM architecture along with Android JetPack’s LiveData and ViewModel to simplify data updates across the lifecycle and configuration changes for the UI
Manage long-running tasks, make safe network calls and disk operations off the main thread asynchronously using Kotlin Coroutines
Pair-program to include Intercom SDK’s chatbots and live chat feature and send targeted messages to onboard and activate customers
Integrate AWS Mobile Hub User Sign-in feature to access the AWS services, validate user identities from multiple identity providers and barrier to protected folders for unauthenticated users
Improve payment user-story using PayPal SDK and card.io to buy coupons with both card payments and online mechanism
Wrote unit test cases with jUnit and Mockito, testing different states of methods
Create a Widget on home screen to show the latest weather alert for chosen holiday location
Utilize Firebase Real-Life Database in order to remotely store information from the Room Database enabling users to maintain their information when changing devices
Utilised Dagger for injection of dependencies such as Network Module
Work closely with the back-end API team to fix the structure of old JSON messages and serializing JSON to back-end server
Eventim UK Ltd March 2018-August 2019
Mid-Level Android Developer London
https://play.google.com/store/apps/details?id=uk.eventim.mobile.app.Android
Feature implementation:
Manage your MyEventim account
Choose your seats with our interactive seat map
Buy tickets
Share events with your friends on social media
Tech:
Develop new product flavors in Android SDK (Android 5.1 - 8.1) in Android Studio, coding in Kotlin, using the latest version of Android Studio
Code app using Android Jetpack’s data binding in MVVM architecture, and custom attributes to format and process data contained in model resources
Improve app compatibility on Android N, notification channels and background processing limits using Workmanager
Use RxJava for reactive programming with operators to transform, combine, manipulate, and work with the sequences of items emitted by Observables with schedulers
Convert all of the Relative/Linear layouts to Constraint Layout so we can flatten the view structure and improve performance
Tested the Viewmodels using jUnit and Mock k’s ability to mock the default Kotlin final classes
Include Android RecyclerView adding Search Filter with material design UI for simple, multi check and single check
Create Custom Views and animations as per iOS app prototype, implemented Android components to specifications
Collaborate with the web application development team to ensure proper integration between mobile application and web application
.
HaCon Ingenieurges. mbH May 2017-February 2018
Remote Android Developer (London) Hannover, Germany
https://play.google.com/store/apps/details?id=de.hafas.android.arriva
Feature implementation:
Enable you to buy tickets on mobile phone
Live Map to show a map of user route with the buses actually moving along the route
Trip planner feature to plan how to get from A to B. It can detect where you are and plan from there
Bus Times to display the time of the next busses buses from that bus stop
Tech:
Code on MVP architecture along with design patterns for specific modules such as Builder, Facade and Singleton
Implement Google Maps Android API v2 to integrate interactive, feature-rich Google maps
Implement a reactive dynamic widget that show the different status of the dasher and updated directions accordingly
Handle the meeting with developers in different locations to be able to agree in one solution and implement this solution
Use Retrofit library with Rxjava for asynchronous requests to the server, and GSON to retrieve information from an internally programmed API and make the conversion between the JSON and POJOs.
Followed a TDD approach to testing Junit and Mockito
Implement part of foundation classes, and basic UI framework; first use sliding menu, then switched to tab+viewpager
Provide migration from RxJava1.0 to RxJava 2.0 using Flowable, Disposable, Schedulers, Bi-functions, operators and other functions
Upgrade to Google Play services SDK to access to range of APIs for building ads, collecting analytics, authenticating users and integrating maps
Childcare.co.uk April 2016-April 2017
Android Developer Wimbledon, London https://play.google.com/store/apps/details?id=uk.co.childcare.androidclient
Feature implementation:
Advance search mechanism
Login component with custom login and Facebook
Chat feature and UI screen
Tech:
Introduced separation of concerns to the codebase by using MVP architecture
Perform proficient implementation of list views, adapters, services, receivers, background tasks, fragments and complex UI layouts
Build local SQLite database for the effective synchronization of the backend server database
Build a tabbed user interface (UI) component that uses abstract classes with version-specific implementations to provide backward-compatibility and create an abstraction layer for the new tab APIs as the first step toward building the tab component
Develop custom content providers and implemented access to build in content providers like Contacts, Media resources, Device System information and File System API
Developed custom and compound views for elegant user-interface designs and fit the requirements like Calendar, map-markers, customized listviews and user navigation views
Update various UI components, such as adding ViewPagerIndicator widgets to existing ViewPager objects and improving custom progress indicators
Create Dagger components, scores, modules and subcomponents to inject the needed dependencies into different app fragments, services, presenter and test cases
Include Google In-App Purchasing API to offer for purchase digital content and subscriptions.
Replace bitmaps implementation code with Glide image loading library for animated GIF support and handle image loading/caching
Class Professional Publishing January 2015-March 2016
Android Developer Somerset
https://play.google.com/store/apps/details?id=uk.co.classprofessional.cpg.ukascpg
Feature implementation:
Bookmark important guidelines and drugs
Update Terms and conditions screen, Policy UI screen
Bug fix Important algorithms, diagrams and tables
Functionality to filter drug dosages by age, condition and administration route
Tech:
Engineer the application using the latest Android SDK, Google Maps API’s and advanced UX and UI design architecture
Implement asynchronous services to update local storage and notify updates in the UI (ThreadpoolExecutors, IntentServices, SyncAdapters, Loaders)
Develop functionality between user’s interaction and delegating it back to server using RESTful web services, JSON and XML parsing using Volley library
Involve in unit testing using JUnit, system testing and creation of various test scripts
Use screen grouping techniques and more sophisticated navigation elements to present content in a more intuitive and device-sensitive way, such as providing multi-pane layouts for TABLET devices
Widget implementation of the app for providing custom vital information
Design and built custom views and libraries for efficient user interface and customer requirements
Add Push Notification frameworks using GCM for transmitting information to the registered users
Implement full social network integration with Facebook, Twitter, and YouTube SDKs
Implement the best practices for Android mobile development with their main components: Activities, Services, Content Providers and Broadcast Receivers
Create multi-language support using XML for simple menus and web services
Download and cache remote images in a memory efficient manner using Fresco Facebook library
EDUCATION
Bachelor's in Computer Science and Information Engineering
Tamkang University,
Taiwan (Republic of China)
Main modules: Programming, Data Structures, Algorithms, Mathematics,
Computer Networks, Operating Systems, Databases and Compilers
Idelson Fernandes Android Developer