Senior Android Developer Resume
New York City, NY
SUMMARY
- Contributed to Android mobile app planning, architecture, design, and technical strategy.
- Is self - motivated and productive, prioritizing and completing tasks in a timely manner.
- Works well with others or independently, having excellent communication skills and knowledgeable of project frameworks.
- Have participated in interviewing developers and have mentored new developers as part of the team.
- Developed workable coding solutions through analysis.
- Is organized and able to break down tasks and create a plan to achieve the intended result.
- Has a sound understanding of HTTP and REST-style web services.
- Has ability to research, consult and guide decisions on architecture and technical strategy.
- Investigated and tested new technologies that may be beneficial to the project.
- Has architectural experience with a sense of design and UI/UX relying on best practices to guide implementation.
- Has experience in creating Android mobile apps from start to finish, debugging, maintenance and updates.
- Made architectural decisions with implementation of apps in MVP, MVVM architectural patterns and various design patterns (facade, proxy, builder, factory, abstract factory, etc.)
- Is experienced in continuous integration using Jenkins and Hudson along with Git or SVN.
- Is a careful, quality-oriented developer who values testing applications to ensure the best customer experience.
- Has contributed to team through mentoring, code reviews and technical Knowledge Transfer sessions for new recruits.
- Is a proponent of coding best practices based on Object Oriented Principles.
- Has implemented Android apps with Push Notifications, Google Maps, Navigation, GPS, and social media APIs.
- Is accustomed to integration of social media web services, libraries, and APIs and SDKs such as Facebook, YouTube, Instagram, Google + and Twitter in Android development.
- Has experience with third-party APIs and web services like Volley, Picasso, Facebook, Twitter, YouTube Player and Surface View.
- Is committed to time-sensitive results while maintaining high quality code.
- Is adept with Android performance tuning and crash reporting applications.
- Has considerable experience debugging and profiling Android applications.
- Is knowledgeable of implementation and configuration of cloud integration services, ex: Parse, Firebase and Google Cloud Messaging on Android mobile apps.
TECHNICAL SKILLS:
Android Mobile App Development: Android SDK, Java JDK, Android Studio, Eclipse, Java Swing, Ajax Swing, GWT, Honeycomb, Android Native Development Kit (NDK), Genymotion Emulator, Android Emulator
Programming Languages: Kotlin, JAVA Framework, .NET framework (C, C++, C#), Visual Studio
Web Scripting: PHP, HTML5, CSS3, JavaScript, jQuery, Bootstrap, SQL
Database & Caching: SQLite, MySQL, Oracle
Android: C standard Library, MPL and MECL libraries, Ksoap2 library, Jersey Library, open source libraries, Google Maps API, Volley, Junit, Content Resolvers, Google Places, Retrofit, RecyclerView Animator, Location Services, FloatingActionButton, Google Cloud Messaging, Schematic, NineOldAndroids, Content Providers, JobScheduler, Push Notifications, Espresso, Google Play Services
Memory Management: ART, Dalvik, Memory Mapping, Leak Canary
Third-Party: Fabric, Glide, Google Custom Search, Samsung SDK, Logger, Spork, Dagger, Mosh, AnswersRxJava, RxCache GSON, Robolectric, EventBus, LeakCanary, VidEffects, Robotium, Firebase
Versioning: Git, GitHub, SVN, SourceTree, BitBucket, Tower
Testing: Junit, Unit Testing, Functional Testing
Data Persistence: SQLite, Shared Preferences, Internal Storage, External Storage, Cloud Integration, Parse, Firebase
Web Integration: REST, SOAP, JSON, GSON
Debugging: JIRA, DDMS tool, ADB, LeakCanary, Firebase Crash reporting, Jenkins Custom android views classes and components. Android adapter viewsAsyncTask, IntentService, Handler Threads, Loopers &Loaders Picasso, Glide, Fresco
Architecture: MVC, MVP, MVVM, Singleton, Dependency Injection
Design Patterns: Builder, Factory, Façade, Proxy, Command, Observer
Methods: Material Design, Agile, Scrum, Continuous Integration, Test Driven Development
Integrations: Google+ SDK, Google Play Services, Google Drive API
PROFESSIONAL EXPERIENCE:
SENIOR ANDROID DEVELOPER
Confidential, New York City, NY
Responsibilities:
- Created TV streaming apps for Android TV, Amazon Fire TV, mobile and other devices running on Android
- Created custom EPG program guide fragment with 2-dimensional scrolling
- Created scrollable segmented time bar in Guide fragment
- Implemented custom horizontal progress bar in guide fragment
- Implemented BottomSheetDialog for displaying program information and set up buttons to change to the program channel
- Created DVR recordings fragment and implemented sorting data by categories
- Create Episode fragment and show it in OnClick of DVR item
- Added an Episodes fragment layout for portrait and implemented switching between the two on configuration change
- Add a custom drop-down menu to show the available seasons and added logic to filter data by season
- Add data classes for DvrItem and Episode
- Used Glide to load the images into the views
- Added network calls and set up buttons to start, resume and delete playback
- Dynamically changed Guide items background to distinguish between past, present and future shows
- Created custom playback controls with a scrubber
- Added a rating bar, parsed json response to display the program rating
- Added retrofit calls to schedule and cancel recordings
- Refactored all fragments to MVVM with LiveData
- Implemented Error handling with events
- Used LeakCanary and Profiler to find and fix memory leaks
- Added ObjectBox implementation to store data in a database
- Added Google ChromeCast support with custom-made UI layouts
Technologies: Jira, Slack, Confluence, Jenkins, SourceTree, Bitbucket, Gradle, ExoPlayer, Timber, Firebase, MVVM, RxJava, RxKotlin, ObjectBox, Retrofit, Glide, LeakCanary, LeanBack Theme, Guava and others
SENIOR ANDROID DEVELOPER
Confidential, Detroit, MI
Responsibilities:
- Refactored CLI error events so the user won't be distracted by them.
- Created CleanUp Async task as a separate class and added it to Dagger.
- Refactored apps from Dagger 1 to Dagger 2.
- Fixed memory bar updating twice after removing an app.
- Changed VIN masking regex pattern to handle the case when VIN was appended to url.
- Fixed install/uninstall errors being displayed to user at wrong times.
- Fixed Butterknife injection for the Wifi Terms view.
- Fixed infinite spinner on loading of the terms of agreement.
- Created an interface for the rotary support.
- Refactored activities to follow MVP pattern, added presenters.
- Replaced field injections with constructor injections.
- Implemented fragment logic inside MyApps fragment of AppShop.
- Created a factory for AsyncTasks.
- Fixed broken UI of Install button and progress bar.
- Timed long-running processes in AppShop, wrote a Python script to filter the system logs, documented findings.
- For a new MyBrand app implemented getting and displaying tire pressure.
- Used reflection to load libraries and to distinguish between different Model-Year code bases.
- Added MFC (Multi-Functional Controller) support in AppShop and TCPS apps.
- Participated in hardening and regression testing before releases.
- Ran security scans with AuditWorkbench before releasing the builds.
- Removed nested views and unused resources to improve performance.
Technologies: Jira, Stash, Confluence, Jenkins, SourceTree, Hipchat, Stride, Microsoft Teams, TFS, Gradle, MVP, Dagger2, Butterknife, Retrofit, Picasso, LeakCanary, Robolectric, SOAP UI, Lynt, Mockito and PowerMockito, SQLite commands
SENIOR MOBILE APPLICATION DEVELOPER
Confidential, Verona, WI
Responsibilities:
- Worked in Android Studio following material Design practices and object-oriented programming.
- Used RxJava module for Android specific bindings for RxJava.
- Used Firebase with Dagger for easy access including fallback in case of no play services.
- Integrated libraries into Gradle configuration file.
- Dagger support used for different modules injection with logic for switch on/switch off inside module.
- Constructed user interactions using JavaScript and React Native.
- Configured Retrofit to consume Restful web services with the app.
- Implemented EventBus to facilitate the communication between processes in the app.
- Used Android Annotations for dependency injection
- Working with Android Device Monitor for monitoring CPU load, heap size and memory usage
- Supervised the creation of the testing suites developed with Espresso and Mockito.
- Used APIs from different API levels to support backward compatibility.
- Used Butter Knife for view dependency injection
- Refactored un-optimized pieces of code to guarantee maximization in the use of resources.
- Used services to run Java classes for the back work.
- Build new features to enhance the UX for consumers.
- Worked with asynchronous requests to the server with Volley library.
- Added selectors and animation effects on UI/UX elements to enhance the User Experience.
- Experience working with deep learning algorithms
- Extensive use of Fragments to enhance user interface experience.
- Real world OO design experience and knowledge of design patterns, combined with an ability to convey design information succinctly using suitable tools (UML, BPMN).
- Efficient and clean code integration and backup using Jenkins and GIT.
- Use of Android Support Library and Google Cloud Messaging.
SENIOR ANDROID MOBILE APPLICATION DEVELOPER
Confidential, McLean, VA
Responsibilities:
- Closely worked with the UI/UX team to follow the guidelines as accurately as possible.
- Implemented navigation bar menu for quick access to different activities in the application.
- Designed prototypes to create the new main flow of the application with JustinMind.
- Connected to the camera with implicit intent.
- Implemented Google Messaging services for Push Notifications.
- Self-motivated, productive, and works well even with/without formal structure.
- Refactored code to change a previous MVC implementation to an MVP design pattern.
- Adapted and followed an agile methodology to handle the software development cycle.
- Implemented ACRA API to handle error reporting.
- Performed extensive application testing with the Robolectric framework.
- Utilized Android and third-party frameworks to use the multithreading capabilities of the physical devices: AsyncTasks, IntentServices, Handlers, Threads, RXJava instances.
- Conducted interviews and meetings with stakeholders, users, and the technical team.
- Technology lover that naturally stays up-to-date on relevant new developments.
- Used SharedPreferences to store custom key-value pairs.
- Provided support for users with the use of the software.
- Attended daily SCRUM meetings to track app development progress.
- Experience developing highly efficient Java code and view layouts and the ability to diagnose performance bottleneck.
- Add Universal Image Loader to Improved Image loading.
- Incorporated Facebook SDK and Twitter API for logging, posting and share experiences.
- Used intent services for HTTP requests.
- Liaison with the project team and delivering projects as per scheduled milestones.
- Created an exported Content Provider to share color findings with other applications.
- Worked with Product Manager to prioritize tasks for Sprints and assigned project tasks to team members.
ANDROID MOBILE DEVELOPER
Confidential, Memphis, TN
Responsibilities:
- Wrote code to interact with the RESTful service server, as well as serializing the returned code into POJOs via the GSON library.
- Utilized Agile methodology to fulfill rapidly changing client requirements.
- Generated reachable daily goals and created a delegation task system that allowed developers focus on the development bearing.
- Enhanced the module that communicates with the Java Web Services with Retrofit.
- Used the location API, Maps View, and Google Maps.
- Implemented custom/compound views for displaying queried data.
- Created Compound views for a more attractive and efficient design.
- Supervised the task reporting of all the team members.
- Dalvik Debug Monitor Server (DDMS) for debugging and testing.
- Participated in the full lifecycle development process from product definition.
- Retrofitted four legacy list views to the new RecyclerView / CardView combination, obtaining all the performance benefits.
- UI/UX design and wireframing with multiple tools including Balsamiq Mockups.
- Experience building custom API solutions for external parties to tie into.
- Usage of Bluetooth Low Energy to make tests and handle geo-fencing when getting close to iBeacon devices.
- Worked with Content Providers to connect with and consume Android Contacts.
- Implemented a SyncAdapter to generate an Observer pattern in the User Interface so it can get notified every time the data in the content provider changes.
- Chaired the integration with the Facebook API inside the application.
- Setup jaCoCo to check my code coverage of new code.
- Extensive use of Fragments to enhance user interface experience.
- Implemented Parcelable to the classes for easier bundle transportation.
ANDROID APPLICATION DEVELOPER
Confidential, Boston, MA
Responsibilities:
- Attended the SCRUM meetings and met deadlines.
- Responsible for the design, implementation and test phases of the application.
- Enhanced the requests for large web content display.
- Assumed the role of SCRUM Master in several occasions, easing the development process and helping the team members to jump hurdles and obstacles in their daily software building process.
- Resolved issues, fixed bugs and optimized the application.
- Created cloud connection with rest client calls, GSON and OKHTTP.
- Recommended and implemented changes to the Architecture of some legacy data structures to better support our primary user cases.
- Consumed Restful Web service in JSON strings with GSON converter to parse JOSN data.
- Kept abreast of industry trends and technologies, being prepared to apply them quickly.
- Used the Parcelable interface to serialize the objects before transferring them to other activities.
- Improved the Video browser and audio player performance multithreading.
- Implemented headless Fragments retention to preserve the AsyncTask on orientation change.
- Created the content provider logic to load the information with an Observer Pattern in the UI thread using Loaders.
- Researched, tested, and implemented new techniques, frameworks, and utilities.
- Planned the UI/UX implementation according to Android Design Guidelines.
- Guided the Product and QA team on the nuances of Android devices.
- Implemented architecture and design patterns (MVP, façade, builder, etc.)
- Implemented Otto Library to decouple different parts of the application.
- Created a compact Content Provider implementation to handle caching between network connections in the final build.
- Used Git for source control management of the application.
- Developed custom and compound views to match UI/UX specifications.
- Configured a JIRA instance to handle mass ticketing and bug tracking.
- Used Continuous Integration with Jenkins and JIRA to ensure quality standards.
- Followed Test Driven Development methodology along with Agile/Scrum.
- Worked with project manager and interacted with Product Manager to help keep project on schedule and following Product Manager’s priorities and guidelines.