Jamal Stoute
CONTACT INFO
**********@*****.***
SUMMARY
5+ years’ experience in Java and 2+ years’ experience in Kotlin, following standard industry design patterns, and Object-Oriented Programming.
Knowledgeable about dependency inversion principles and created modules and components.
Experienced in third party libraries like (Dagger, RXJava, Retrofit/Volley, Room, Volley, ViewModel, LiveData).
Strong Android development experience with an appreciation of design, testing and backend Web Services, experience in writing custom UI components and libraries.
Plenty of experience building rich mobile applications and conducting all the entire Software Development Lifecycle of multiple corss-over applications.
Experience with multi-threading, integration with REST APIs, custom view animations and transitions, and producing reusable libraries.
Passion for Test Driven Development exposure to continuous integration and continuous delivery practices, especially in an environment of weekly (or even more frequent) releases to production.
Experience in driving the Software Development Lifecycle and successfully implement multiple projects from conceptualization, passing through published and continuously improvement code base.
Ability to multi-task, work independently or as part of a team, and flexible in terms of work location.
Working experience using agile, kanban, TDD, and scrum methodologies.
Offshore/Remote team collaboration and management experience.
Familiar with Wi-Fi, Bluetooth, NFC and other short distance wireless communications protocols.
Ability to mentor developers’ piers in new technologies industry standards.
SKILLS
Espresso, Mockito, Jenkins, Circle CI, GitFlow, Multithreading, Push notifications, UrbanAirShip, BLE, IoT, Google Assistance, Google Home API, Zeplin, Android Jetpack, Java, Kotlin, Coroutines, Firebase, Code Reviews, TDD, BDD, Cucumber, Calabash, JetPack, Fragments, Material Design, ContentProviders, BroadcastReceivers, Services, Manifest, Permissions, ActivityManager, LocationManager, NotificationManager, ResourceManager, Widgets, UI/UX, RecyclerView, CardView, CoordinatorLayout, ConstrainLayout, HandlerThread, Asynctask, Thread Pool, IntentService, Web Services, Http, Https, RESTful web services, Certificate Pinning, AES, RSA, SOAP, Json, XML, Volley, Retrofit, HttpConnection, Okhttp, Picasso, OAuth, Dagger2, Dependency Injection, RxJava, Reactive Programming, Butterknife, Firebase, Scrum, Agile, Waterfall, XP, Jira, Bitbucket, Github, Git, Gitlab, Room Databases, Sqlite Databases
WORK EXPERIENCE
SENIOR ANDROID DEVELOPER (February 2019 - present)
MuniMobile/SFMTA
https://play.google.com/store/apps/details?id=com.sfmta.mt.mobiletickets&hl=None
San Francisco, CA
Overview:
Worked in a Scrum environment on a cross-functional team compose with 4 Android developers, 6 iOS developers, 6 QA engineers and 6 UI/UX designers.
Main Contribution:
Implemented Timber library for tracking step by step debugging, created breakpoints entry and follow with QA testers.
Participated in Kotlin implementation code along with proper Kotlin documentation for a better onboarding process.
Utilized Android Debug Profiler to keep track app consumption of resources like data connection, memory profiler and CPU percentage utilization.
Implemented relational database best practices, created Entities, Data access Object and Room database implementation.
Migration from SqliteOpenHelper database to Android Jetpack Architecture Component Room database.
Worked with the QA team to ensure quality testing and identification of any issues early on.
Added extensive logging of information (log statements) to improve QA process in testing.
Created multiple extension functions to facilitate common parsing and validation functions in several modules.
Refactored multiple parts of the code to achieve integration with new Architecture design pattern.
Migrated from MVP approach to MVVM along with Uses Cases under 4 sprint cycles.
Created multiple documentations for previous deprecated functions that are not part of the new MVVM design pattern.
Refactored multiple callbacks to a better asynchronous approach.
Implemented Coroutines and Scopes to handle suspended approach and reduce memory footprint in the entire application.
Collaborated with back end developers to keep track and implement quick changes in Api responses.
Used DataBinding and Observables objects to abstract connection between Views and ViewModels.
Implemented Google Pay payment system under getting tickets feature.
Worked on Ticket Retrieval feature to facilitate the transition between accounts in multiple devices.
Implemented Koin library for implement Service Locator pattern and reduce overhead on dependency injection.
Refactored ListView with RecyclerView approach and multiple ViewHolders in a rebranding effort across the entire application.
Created accessibility best practices and follow guidelines implementation like text background contrast, spacing and content description on images.
Created step by step interaction for first time users.
Worked with multiple libraries like RxJava, Converters like GsonConverter, and networking libraries like Retrofit.
Closely worked with UI designers on rebranding effort, assist has a technical resource on the possibilities of the rebranding having Material Design has a guideline.
New feature implementations developed using Ktx plugin.
Joined to Approval team, enforcing code quality using tools like Jacoco for code coverage.
SENIOR ANDROID DEVELOPER (October 2017 – February 2019)
Doctor On Demand
https://play.google.com/store/apps/details?id=com.doctorondemand.android.patient
Financial District, SF
Overview:
Worked on a Faction Like Kanban environment in a medium size team, with several developers’ piers across the US.
Main Contribution:
Implemented PIP interaction in live features doctor-user Actions.
Worked with several asynchronous APIs like Loader Framework and WorkManager.
Refactored several packages from Java to Kotlin.
Refactored asynchronous calls in the form of Asynctask class into loaders and synchronous jobs.
Participate in several meetings to distribute workload with multiple "pods" groups.
Interacted with several piers on different parts, running meetings with offshore and behave has point of contacts with on-site team.
Worked with distributed version control system and interact with branching strategy.
Created local favourite doctor’s selection to facilitate user interaction.
Consolidate work utilizing ktx-extensions to reduce the boilerplate code of finding views references.
Rebranded user personal records to match feedback from users’ recommendations, followed Material Designs and accessibility guidelines.
Created several companion objects to facilitate log information along with several singleton objects to reduce boilerplate code.
Utilized debug tools for removing and easily identify crash and bugs, tools like Memory Profiler, Leak Canary and Firebase Crashlytics.
Successfully integrated Fitnes Api inside of application, created permissions and runtime checks permissions.
Worked in several user’ cases depending on permissions acceptance.
Refactored code for improvements in saving user data related, like allergies and medications.
Reduced crash percentage in the entire project with the implementation of immutable types and null type support.
Worked on My Health feature and created a questionnaire to increase detection and reduce time interaction before upcoming visit.
Rebranded UI/UX elements to increase response and make easier navigation inside of the application.
Improvements to onboarding flow to make it easier to start a visit.
Participated in several meetings to reduce application interaction and reduce onboarding flow.
Created training materials and documentation for mentoring developers on new Kotlin language.
Collaborated with language internationalization and implement string resources to make more friendly and easier locales in the app.
Implemented UI State preservation, to reload the app in case of an unexpected shutdown.
Researched and evaluated technologies to improve the development process and workflow.
ANDROID SPECIALIST (August 2016 – October 2017)
Box
https://play.google.com/store/apps/details?id=com.box.android
Redwood City, CA
Overview:
Participated in Android team with other 3 developers, having 3 weeks of Sprint and performing a week of retrospective.
Main Contribution:
Helped to implement google apis services Google slide, configurated permissions account Oauth authentication and SlidesRequestInitializer.
Debbuged Json serialization error during parsing steps on file names, created debugged points and execute step by step procedure.
Worked with UI/UX designers and implement layouts and custom views that follows required branding.
Implemented Android Toolbar followed with Material Design followed directions from designers to match new rebranding effort.
Facilitated visualization of file uploads and downloads to make it easier to be monitored by the user.
Replaced old UI with NavigationView drawer, swipe tabs and material design features to build new master screen.
Contributed with remote notifications to synchronize updates and files on local version of documents.
Refactored background processing tasks to migrate from Android Job library to WorkManager API to adheres to power-saving feature and asynchronous one-off.
Independently coded Connection and Operation error handling module to catch display messages to users during Bluetooth communication.
Utilize fragments, diverse layouts, animations, material design, Compound Views, and Custom Views to fulfill user interface requirements.
Work on offline data persistence using shared preferences and SQLite.
Contributed code refactored on Task Center feature where improvements on background task, rebranding and visualization were put in place.
Create Custom Views and animations as app prototype and implement Android components to specifications.
ANDROID DEVELOPER (August 2015 – August 2016)
PNC Mobile
https://play.google.com/store/apps/details?id=com.pnc.ecommerce.mobile
Pittsburgh, PA
Overview:
Joined to cross-functional team of Android and iOS developers, worked on Scrum environment with 10 Android developers, 12 iOS developers.
Main Contribution:
Closely worked with Sr Developers to get pull request approved.
Worked with coding guidelines and security points inside.
Defined UI transitions after reading API configuration from background implementation.
Contributed with Zelle API implementation to offer multiple options to transfer to different accounts.
Applied best practices to resources and layouts facilitating the contribution to locale interaction.
Worked with multiple layouts and designs, followed closely directions from supervisors and designers to apply UI mocks.
Code Custom views to build custom search and filter user-story, display dynamic graphs and rounded ImageView.
Work on user story to displays accounts on the Accounts Summary screen.
Coded under a MVP architecture design patterns, created contracts and implementations to isolate layers between components.
Elaborated unit test and instrumented test to contributed on a code coverage percentage.
Write Unit test cases using Mockito and DaggerMock library for inject and Presenter layers.
Working with third party development partners and establishing clear and workable development principles.
Establish the use of custom Threads and Handlers to work with multithreading.
Jr. ANDROID DEVELOPER (September 2014 – August 2015)
Allrecipes Dinner Spinner
https://play.google.com/store/apps/details?id=com.allrecipes.spinner.free
Seattle, WA
Overview:
Collaborated with a small team with BDD approach, under constant supervision and worked under an Agile team with 2 weeks of sprint cycle.
Main Contribution:
Implemented New Relic to record custom metrics and networking.
Refactor unorganised spaghetti codebase into MVC architecture following SOLID principles.
Improved search by keyword, ingredients options UI, data-parsing in coordination with other iOS developer.
Downloaded cooking videos using DownloadManager and save it on internal phone memory.
Incorporate Facebook SDK to share cooking triumphs with friends.
Post Cook’s profile data to backend using RestFul web-services using AsyncTaskLoaders.
Pair program to call native C/C++ Code using NDK.
Worked closely with the external designer team to import the assets correctly through Zeplin web platform.
Used Android web view for loading html pages and working around cookie manager.
Adding ACRA library to automatically post-crash reports to a GoogleDoc form.
Fixed critical and major bugs reported by testers on JIRA in 2 weeks sprint cycle.
Used BitBucket for source control management and continuous integration with Travis CI.
EDUCATION
Bachelor’s of Software Engineering
Clarkson University