Post Job Free

Resume

Sign in

Baffour Awuah - Android Developer

Location:
Boston, MA
Posted:
May 14, 2021

Contact this candidate

Resume:

Baffour Awuah

Senior Android Developer

Phone: 617-***-****

Email: adem7s@r.postjobfree.com

Professional Profile

* ***** ******* ***********

* ***** ***** **.

Able to optimize the technical architecture and technical debt of the Android app.

Recommends the best new mobile app development approaches per need, environment and use case.

Worked with various JetPack components to make development and maintenance more efficient.

Worked with Amazon Web Services to deploy backend services for Android applications

Experience building multiple Android apps on Kotlin programming platforms.

Experience in planning and organizing sprints for application development

Implemented geofencing for location-based applications in Android Studio

Integration of social media API, ie. Twitter API, Facebook API and Google API to create logins.

Accustomed to working in an Agile development environment with Sprints, Sprint Planning, Sprint grooming, Sprint Retrospective, Sprint Backlog and Daily Scrums.

Adept with Android performance tuning and crash reporting applications as well as use of Leak Canary, Firebase Crash Reporting, Crashlytics and various profiling tools.

Proponent of coding best practices based on Object Oriented Principles and use of Google Material Design Guidelines to promote best practices in UI/UX in Android design.

Collaborates well with cross-functional teams, finding ways to add value for other teams, and contribute to overall quality and success.

Works well with external teams such as product development and quality assurance.

Use of automated testing using Espresso and also use of Unit Testing with Junit and Mockito.

Dependency Injection with Dagger 1, Dagger 2, IcePick.

Applies Google’s best practices for mobile environments, i.e., networking, memory management, battery status, responsive and intuitive design, managing multiple form factors, identifying app installations, internationalization.

Built and maintained common code libraries used in Android phones and tablets.

Capable of creating environments for reading and generating QR codes using the native Google Vision frameworks or a third-party library like ZXing.

Skilled in using Android multithreading frameworks: AsyncTask, IntentServices, Handlers, Threads, Runnables, Loopers to improve performance and user experience (UI/UX).

Setup proper interactions of the front-end design and implementation with backend servers.

Practical implementation of Android Life Cycle, Fragments, Intents, and threads on Android; binding services, implicit and explicit Intents, background processes, sync adapters, activity, activities for Result, WebView, ImageView, TextView, RecyclerView, ListView, and Object Oriented design and programming.

Technical Skills Profile

Languages: Java, Kotlin, C++, HTML5, JavaScript

Databases: SQLite, MySQL, Firebase DB,

IDE/Dev: Eclipse, Android Studio, IntelliJ, Firebase

Design Standards: Material Design, SOLID, DRY, MVVM (Model, View, ViewModel. Model)

Design Patterns: MVP, MVC, MVVM

Project Tools/Methods: TDD, Agile/SCRUM, JIRA, Continuous Integration, Kanban, BitBucket, Confluence, Splunk

Operating Systems: Windows, Android OS Lollipop, Nougat, Marshmallow

Version Control: Git, GitHub, SVN, Bitbucket, SourceTree

Integration/Content Service: REST, SOAP, XML, JSON, GSON, Retrofit, Spring, Amazon Web Service, openAPI

Threading: Loopers, Loaders, AsyncTask, Intent Service, RxJava

Android Tools: Schematic, Smart TV,, Certificate Pinning, MonkeyRunner, Bluetooth Low Energy, ExoPlayer, SyncAdapters, Volley, IcePick, Circle-CI, Samsung SDK, Glide, VidEffects, JUnit, Ion, GSON, ORMLite, Push Notifications, Kickflip, SpongyCastle, Parse, Flurry, Twitter, FloatingActionButton,, Espresso, Fresco, Moshi, Jenkins, UIAutomator, Parceler, Dependency Injection, EventBus,, Dagger, Crashlytics, Mixpanel, Material Dialogs, RxCache, Retrofit, Marshmallow, Loaders, Jetpack, JobScheduler, ParallaxPager, XmlPullParser, Google Cloud Messaging, LeakCanary, Geofencing, Google MAP API, Circle CI, GitFlow

Desktop Software: Microsoft Word and Excel

Libraries: RxJava

Professional Experience

November 2020 – Present

Senior Android Developer

HaulHub, Boston, MA

HaulHub builds technology to optimize material hauling operations for the trucking industry. The HaulHub Android app is highlighted by multiple modules, including:

https://play.google.com/store/apps/details?id=com.haulhub.field&hl=en_US&gl=US - HaulHub Field.

https://play.google.com/store/apps/details?id=com.haulhub.driver&hl=en_US&gl=US – HaulHub Carrier.

This project was focused on increasing the functionality of the Android application to match the IOS version. Most of the work was quality of life, but there were several implementations of Geofence-related features.

The Field and Carrier apps belong to an ecosystem known as the Haulhub Transport. They are applications that are designed for foremen of construction jobs to see the data they need to make decisions on the fly, as well as check the accountability of the drivers within the fleet with the carrier app. From the Carrier app, drivers are checked for their positions. They are also allowed to send in signed tickets from locations they make stops at while on the job.

I worked on an Agile team and was part of organizing an Android Roundtable Team to learn new skills. Highlights of technical work include:

Programming the app modules on a Kotlin Android programming platform.

Implementing Enhanced RecyclerViews on Several screens (using ViewTypes to enable headers and other special rows).

Using Geofencing to Draw work area on Google maps.

Using Enhanced Links to Direct Geo data into Native.

Mentoring new Android Devs on the ins and outs of the applications.

Converting the application from an unstructured approach into MVVM.

Writing Unit tests with Power Mock.

Using ViewModels and Data Binding to Display information in the application.

Using PreferenceManager to work with API keys.

Using ROOM to store data for local display.

December 2019 – November 2020

Senior Android Developer

Enterprise Holdings Inc., Maryland Heights, MO

Gameplan and Dashboard – Internal Applications used by employees

Worked extensively with team on QA for the Kotlin-based application.

Worked extensively with team on QA for the application

Assisted on the development of the Gameplan/Dashboard Bff

Performed code reviews for every pull request by fellow teammates

Updated Endpoint from Big Data hub to use Kong api services

Developed and gave maintenance using peer programming

Worked on device IP filter for the application to blacklist certain devices/locations

Worked on feature to track vehicles when they are outside of hub locations (in shop or elsewhere) using geofencing

Implemented a feature to check feature flags to throttle data access depending on location as a means of reducing the server load.

Gradually increased test coverage from 30% to 70% peak

Implemented Soathree to add a tray on Electric Vehicle Trip Plsnnrt

Implemented TDD by creating unit tests for all development using Mockito and Espresso for testing

Used retrofit along side retrofit to consume RESTful apis

Used Amazon Web Services (AWS) as backend system for android application

Implemented newer features in Kotlin as well as migrated some existing code into Java

Used RecyclerView to display all list information inside of the application to the user

Implemented databinding with binding adapters and Android Databinding

Worked in an agile scrum environment with daily stand ups and 2-week sprint.

Involved extensively in the planning of sprints for the team

Proficient in Dart Programming Language

Understands Cross platform performance concerns and conventions when using Dart

Able to use Flutter (Dart Front-end) to craft highly-responsive application Front Ends that adhere to Material Design.

Able to Make use of multi-platform considerations to create frontend for many different form factors

September 2018 – December 2019

Senior Android Developer

Avis Car Rental, Parsippany, NJ

https://play.google.com/store/apps/details?id=com.avis.androidapp&hl=en

Worked on the Android development team with 3 Android developers, front-end designer, QA testers, and worked closely with the Product Manager to ensure the product met requirements and vision.

Developed the Android app in both Java and Kotlin using Android Studio.

Implemented improvements in performance and maintainability through Android JetPack components.

Proposed and took personal ownership of converting application architecture using the Model View View Model (MVVM) architectural design pattern.

Made use of various design patterns such as Singleton, Façade, Abstract Factory.

Transitioned the Android code base from MVP to MVVM architectural pattern to better manage the different functional modules and views.

Managed consumption of RESTful Web Services with Retrofit and RxJava, managing back-end threading and also parsing of JSON objects with Moshi.

Worked in a Test-Driven Development environment using GitHub repository for version control and Bitrise.io for continuous integration.

Implemented Push Notifications through Firebase Cloud Messaging.

Added JetPack Room over SQLite for a more robust database with data persistence.

Added JetPack ViewModel - to manage UI related data in a lifecycle conscious way.

Used JetPack Slices and Fragments in UI elements and composition.

Managed Android background jobs using JetPack WorkManager.

Followed Agile Scrum process with daily Scrum, Sprint meetings and I helped assign tasks and followed up on backlog and issue tasks to make sure they were completed.

Particpated in code reviews and mentored developers on Android best practices.

Oversaw Android app testing and replaced older testing framework with Espresso automated testing.

Worked with Node.js on several projects and with Electronjs, have also created 1 page applications with Javascript with React.

August 2017 – September 2018

Android Mobile Developer

UPS, Atlanta, GA

https://play.google.com/store/apps/details?id=com.ups.mobile.android

Worked in Android Studio and implemented updates to the Android app to improve responsiveness and better manage the large app size and various modules and functional areas.

Coded in Java and converted Java arrays to Kotlin.

Transitioned the Android code base from MVP to MVVM to better manage the Android app and make future enhancements and maintenance easier.

Responsible for the design of multiple layouts in different physical devices and other form factors.

Generated a custom behavior in multiple screens included in the CoordinatorLayout to hide the Toolbar and the Floating Action Button on the user scroll.

Used JSON in RESTful services to extend the application response capabilities

Ability to independently set tasks and complete work for yourself and your team with limited direction.

Worked with SQLite to cache structured data from the cloud, improving overall app performance.

Designated programming tasks to the team members, making sure that all developers were familiar with the main modules.

Used the Fused location API, Maps View, and Google Maps.

Experience taking projects from concept to launch.

UI/UX design and wireframing with multiple tools including Balsamiq Mockups.

Monitored and participated in workflow tracking with HP Quality Center.

Used of Cryptography classes to increase the data security

Setup jaCoCo to check my code coverage of new code.

Used APIs from different API levels to support backward compatibility.

Supported multiple screen resolutions to provide resizing across multiple devices.

Developed enhancements and improvements to the current Application.

Trained and mentored new members of the team in coding best practices.

Introduced Fragments for the first time to this app based on the new navigation specification.

Integrated Localytics for app statistics and mobile analytics.

Thrive working in a fast paced, agile environment constantly learning.

Supported multiple languages in the production build using the capabilities with string resources qualifiers and using Android Studio’s Translation Editor.

Utilized the Universal Image Loader library for image downloading.

Fluent in Android SDK/NDK and device driver development

June 2016 – August 2017

Android Mobile App Developer

Newegg, Industry, CA

https://play.google.com/store/apps/details?id=com.newegg.app&hl=en

Participated in the decision-making process for selecting the appropriate technologies for the project based on requirements and the user’s needs.

Worked in Android Studio with coding in Java, using an MVP Android app architecture.

Managed data with Firebase Realtime Database for remote and SQLite for local Data Persistence.

Used Firebase Authentication for user logon and SQL Cipher to encrypt transactional areas.

Firebase Cloud Messaging implemented to manage push notifications.

Firebase Crashlytics and Firebase Crash Reporting to troubleshoot performance issues, with Leak Canary for testing memory management.

Created custom animations and transitions to improve the user experience.

Made a distinction between development and production versions of the app each with their distinct credentials and settings in the backend using Urban Airship.

Implemented the best practices for Android mobile development with their main components: Activities, Services, Content Providers and Broadcast Receivers.

Consumed RESTful Web Services with Retrofit in conjunction with RxJava for multithreading performance.

Managed processes running in the background on the main thread with RxAndroid.

Used the View Pager Indicator to provide feedback to the user about the background processing status.

Implemented IcePick when building references to track them in an easier way and avoid memory leaks.

August 2015 – June 2016

Android Mobile App Developer

Alaska Airlines, SeaTac, WA

https://play.google.com/store/apps/details?id=com.alaskaairlines.android

Implementation of various user interface components such as WebView, ListView, ImageView, TextView to display the data for the application.

Working with Android Device Monitor for monitoring CPU load, heap size and memory usage

Wrote automated tests (TDD & BDD) with Mockito and Cucumber.

Wrote Javadoc for documenting the different modules, and software features.

Worked with the mobile apps testing team and used developer testing tools like Robolectric.

Worked with asynchronous requests to the server with Volley library for Android for consumption of RESTful Web Services.

Used private GitHub repositories to host internal code and followed Test-Driven Development (TDD).

Tested on emulators with Jenkins CI Continuous Integration Server.

Used ProGuard to shrink, optimize, and obfuscate the code.

Used SQLite database schema to ensure persistent data storage.

Used support libraries to ensure backward compatibility with older Android versions.

Helped transition the Android code-base from Eclipse to Android Studio and made use of Android tools in Android Studio for testing and profiling.

Used the color palette support to extract different resources in different contexts.

Used the Dalvik Debug Monitor Server (DDMS) for debugging and testing.

Used the JIRA bug tracking tool for quality control and project management.

Used Handlers, Loopers and Runnables to run tasks in the background rather than in the User Interface thread.

Used Intents & Intent Filters to initiate activities and pass information between Activities and Fragments.

September 2012 – August 2015

Junior Android Developer

AirBnB, San Francisco, CA

https://play.google.com/store/apps/details?id=com.airbnb.android

Finding and fixing bugs in previous code that caused undesired behaviors in the app.

Created robust automated unit/functional test suites and deployment scripts.

Configured multiple analytic tools to get valuable information on a post-install state: Crashlytics, MixPanel, Flurry, Answers.

Worked with Google Cloud Messaging for Push Notifications.

Worked in an Agile Scrum environment and I participated in daily Scrums, and reported on task progress.

Use Jira to note tasks and to work through backlog tasks and issues.

Documented Android development using Confluence and we used GitHub for code base and version control.

Worked in Eclipse IDE and coded the Android app using Java code on an MVP architecture pattern.

Implemented features and functionality using various design pattern (Singleton, Abstract Factory, Façade).

Worked closely with QA testers and wrote Junit tests and worked to make sure any issues found by QA were resolved.

Used Leak Canary to profile the app for memory leaks and Fabric Crashlytics for crash reporting and debugging.

Transitioned from Dagger 1 to Dagger 2 and RoboGuice for dependency injection to develop clean, maintainable code.

Education

Georgia Southern University, Statesboro, GA

Bachelor of Science

Computer Science



Contact this candidate