Senior Android Developer Resume
Denver, CO
SUMMARY
- Around 6 years of experience in Android
- 5 published apps in the Google Play Store
- Experience with over 9 different IDEs
- Over three years of experience as a senior developer
- Strong communication and teamwork skills
- Strong multi - developmental background
- Learner mentality with an eagerness to improve
- Creative problem solver, skilled in mapping out various solutions and choosing the most beneficial ones
- Skilled in numerous third party frameworks and plugins
- Self-motivated, willing to work independently and take technical risks.
- Experience and knowledge of all areas of development, including technical, UI/UX, and Design
- Proficient with multi-platform development, such as connecting web, PC/Mac and mobile apps
- Knowledgeable with current frameworks and integration such as Dagger2, RxJava, Firebase and Realm.
- Experience and success in creating user-oriented, customer facing apps.
- Skilled with design patterns such as MVP, MVC, MVVM, Observer, Builder, Adapter and several more.
TECHNICAL SKILLS
Programming Languages& Scripting: Kotlin, Java, C++, C, HTML, C#, Python
IDE: Android Studio, Eclipse, Visual Studio, IntelliJ, NetBeans
Version Control: GIT, SVN, GitHub, Stash, BitBucket, GitLab, Mercurial
Framework Suites: Firebase, Jetpack, Fused Location
Testing: Mockito, Expresso, Junit, Roboelectric, PowerMock
Continuous Integration: Jenkins, Travis, Firebase
Dependency Injection: Dagger2, Dagger1, Android Annotations
Image Handling: Glide, Picasso, Fresco, ExoPlayer, VideoPlayer
RESTful Web Services: REST, SOAP, JSON, GSON, Retrofit2, OkHttp3, Http URL Connection
Threading: Java Thread/Runnables, ThreadPools, Loopers/Handlers, AsyncTask, Loaders, RxJava, Coroutines
Project Management: JIRA
Messaging and Notification: FCM, GCM, Parse, Urban Airship
Methodologies: Agile, Scrum, Waterfall, SOLID, DRY
Database: SQLite, Room, MySQL, Microsoft SQL Server, Oracle Firebase Realtime DB, Firestore Mongo DB
Performance: Android Profiler, Leak Canary
Analytics: Firebase Analytics, Crashlytics
PROFESSIONAL EXPERIENCE
Confidential - Denver, CO
Senior Android Developer
Responsibilities:
- Fixed and streamlined old code to be upgraded, reliable workable, and modernized with current code standards
- Developed for a number of different build variants and devices sizes
- Helped plan and implement new frameworks and third party usages
- During my development tenure, the app's rating increased an average of 0.4 percent, ranking one of the highest among similar apps
- Helped plan a secondary project to be completed alongside the current one (the “SpecU” project, for student users at universities)
- Solved problems with flexible and iterative solutions
- Learned and mastered a 5+ year old codebase in very short oder
- Assumed a leadership role and actively conducted and participated in interviews, giving recommendations related to potential candidates to join the team
- Contributed to the full mobile application development lifecycle from planning, requirement gathering, development, testing and launching on Google play store for beta testing
- Responsible for designing distinctive screens for tablet optimization and a cleaner layout
- Helped set the standard for mobile production environment best practices:
- Operation and SDLC cadence: two week sprints, daily scrums, demos and retrospective, clear and concise communication with all key stake holders, level setting delivery timeline expectations testing: 80% code coverage, pull requests for code reviews, paired programming when time, delivery schedule, and resources allowed, reviewing code for best practice (loosely coupled, reusable, non-redundant, highly testable, highly documented), and utilizing Espresso, Mockito, Junit, among several other tools to ensure we’re performing UI, automated, stress, instrumentation testing, ensuring we’re instituting a rigorous TDD structure and writing our test cases prior to the code
- Tools to get the job done: ensured tools were consistently utilized effectively and propertly for task assignment, code repository, code versioning, continuous integration, and, as mentioned above, testing
- Story Points: participated in setting and assigning priority points per task and story, to aide as a guide of why tasks to pull per sprint based on established timelines and expectations
Confidential, San Francisco, CA
Senior Android Developer
Responsibilities:
- Led and motivated the team in meeting goals, solving problems and completing deliverables on time.
- Used Butterknife to reduce boilerplate code and ease the process of binding views.
- Implemented a subscriber - observer pattern to handle users
- Implemented new features using Kotlin and refactored Java code to Kotlin.
- Used Glide for improved image loading from the cache.
- Improved on the upvote system and made adjustments to the algorithm of how post and sub-reddits get featured.
- Redesigned user facing content such as profiles and flairs using Material Design and Design principles.
- Used RxJava to implement and improve the overall speed, efficiency and readability of the codebase.
- Used Mockito with Junit for ease of precise Unit Testing in order to thoroughly test the codebase.
- Used Dagger2 to streamline dependency injection and make the codebase more dynamic and readable.
Confidential, New York, NY
Senior Android Mobile Developer
Responsibilities:
- Used a front-end service for streaming music from an online database
- Implemented components and principles of material design such as floating buttons, navigation drawers and various themes.
- Implemented scheduled updates of the app using a WorkManager.
- Implemented code in Kotlin to improve the readability and efficiency of the app.
- Implemented an abstraction layer for accessing and using local persisted data using a content provider
- Worked with the team to ensure communication and progress were on track and productive.
- Managed and handled locally persisted data using Download Manager.
- Used Picasso for easy, lightweight handling of images such as album and playlist covers.
- Used Coroutines for efficient and lightweight handling of asynchronous operations
- Implemented the designing concepts like Observable scrolls, Snackbar messages, floating action buttons, Recycler views, etc
- Used Parcellable to marshal data from objects from activity to other activities.
- Used Shared Preferences to allow users to personalize options such as themes.
Confidential, San Francisco, CA
Android Mobile Developer
Responsibilities:
- Use of Layout qualifiers to allow for multiple screen resolution support.
- Utilized System broadcast receiver to optimize behavior of the app for events like low battery status and network availability.
- Parsed JSON results from web resources into POJO's using third party Libraries such as GSON
- Created multi-purpose apps for debugging and production with the use of flavors implemented in the gradle file
- Used crashlytics for application health analytics
- Used Dagger2 for dependency injection
- Participated in SCRUM meetings to help with collaboration among the mobile team
- Created custom animations for improved user experience
- Added push notifications using Urban Airship
Confidential, San Francisco, CA
Android Mobile Developer
Responsibilities:
- Encrypted sensitive user data using android keystore and the cipher
- Used Expresso for UI automation testing
- Used ROOM for database abstraction layer for the SQLite database
- Supported multiple language and regional support using the capabilities associated with string resources in Android
- Used a content provider to handle caching between the network connections in the final build
- Used the SQLite Database schema for offline data persistence and localized caching
- Picasso for light weight image processing and displaying to the UI
- Participated in all aspects of the apps development lifecycle from planning to deployment on google play store
- Refactored code from MVP to MVVM.
Confidential, New York, NY
Junior Android Mobile Developer
Responsibilities:
- Used leak canary for memory leak detection
- Used Git with Bitbucket servers for the application’s version control system
- Participated in the planning, architecture and design of the app as well as code reviews and launching of the app on the play store
- Used Coroutines for efficient and lightweight handling of asynchronous operations
- Used intents and intent filters for initializing and passing data between components
- Debugged Network calls using Charles Proxy.
- Implemented flurry for analytics in android.
- Initialized runtime permissions request based on the end user's response to dialogs
