- Kotlin programming development experience.
- Java programming skill.
- Skill with frameworks such as RxKotlin, RxJava, RxAndroid, RxBluetooth.
- Full breadth usage of Android Studio.
- Contribute to design, architecture, and technical strategy.
- Architectures include MVVM, MVP, MVC.
- Strong understanding of the Android framework, best practices, and design patterns.
- Firm understanding of building mobile applications that utilize web services (REST, HTTP - based, XML, SOAP, JSON or other services).
- Skilled implementing fragments, diverse layouts, animations, Material Design, Compound Views and Custom Views.
- Strong knowledge in Android multithreading frameworks: AsyncTaks, IntentServices, Handlers, Threads, Runnables, Loopers.
- Experience using GIT/GitHub for Source Control.
- ADA compliance for application development
- Good knowledge OS fundamentals with the ability to apply it in the context of modern operating systems (Linux, OS X, Windows Server 2008/2012).
- Experience with Android performance tuning and crash reporting applications.
- Able to optimize the technical architecture and technical debt of the Android app.
- Created logins, embedded tweets using the Twitter API.
- Passionate about best Android design and general UI/UX best practices.
- Performed Espresso, JUnit, Mockito and simulated design patterns in Android to test and develop applications.
- Managed the implementation of dependency injection in Android with Dagger to sped up the unit testing process.
- Use of multiple MBaaS (Mobile Backend as a service) and cloud integration tools like Parse, Firebase, Google Cloud Services, Amazon Web Services.
- Ability to ask the right questions, provide feedback to stakeholders, break down tasks, and create a plan to achieve the intended result.
- Pro-active fast learner, self-motivated, proficient in programming logic and easily adaptable to new technologies.
- Self-motivated, always enjoying a good challenge and thriving under pressure.
- Exceptional communication, project management, and organizational skills with the ability to build positive relationships with boards and stakeholders, senior executives, all levels of staff, and clients.
- Continuously research, test, and implement new techniques, frameworks, and utilities, and apply to Android development.
- Apply Google’s best practices targeted to mobile environments: use of networking, memory management, battery status, responsive and intuitive design, managing multiple screen sizes, identifying app installations, internationalization.
- Design schemas for and deploy SQL and MySQL servers.
- Create initial set ups of multiple continuous integration servers to help the build creation process (Travis, Jenkins, Circle-CI).
- Implementation of multithreading using Kotlin Coroutines.
- Participated in all phases of the Android development life cycle (Planning, Analysis, Design, Develop, Documentation, Test, Deployment, Hypercare).
- Implementation of Android Accessibility Services for ADA compliance.
- Principles, handlers, and Java threading to match the provided specifications and needs of the Android project.
Programming Languages: Java, Kotlin, php, HTML, CSS
Frameworks: Android Jetpack, Firebase
IDEs: Android Studio, Eclipse, Visual Studio
Change Management: Git/GitHub, SVN, Jenkins, Travis CI
Methods: Material Design, Agile/Scrum, Test Driven Development (TDD)
Issue Tracking: JIRA, Jenkins, Atlassian Suite
Architectures: MVC, MVP, MVVM
Design Patterns: Singleton, Dependency Injection, View Holder, Builder, Adapter
Testing: Espresso, Robolectric, Mokito, JUnit, Selenium, Appium
Web Services: JSON, REST, SOAP, XML, AJAX
Software: MS Office (Word, Excel, PowerPoint, Paint), Adobe Photoshop, Maven, Gradle
Data Related Tools: Firebase, SQLite, Room Database, SharedPreferences, EncryptedSharedPreferences
Android Libraries, Frameworks and APIs: Jersey Library, open-source libraries, Google Maps API, Volley, Junit, Google Places, Retrofit, RecyclerView Animator, Location Services, FloatingActionButton, Google Cloud Messaging, Schematic, REST, Bluetooth Low Energy, NineOldAndroids, JobScheduler, Push NotificationsVersion Control: Git, SVN, GitHub, SourceTree, Tower, BitBucket
Native Java Frameworks: Java Swing, Ajax Swing, GWT
Operating Systems: Android, Unix/Linux, Mac OS, Windows
API: Facebook, Twitter, Google Maps, RESTful, Volley, Picasso, Glide, YouTube, Retrofit, ButterKnife
Front-End UI Development: Custom android views classes and components, Android adapter views like ListView, RecyclerView, GridView and Gallery, Customized List views, Gallery widgets
Confidential, Benton Harbor, MI
Senior Android App Developer
- Worked with an Android development team in an Agile environment with 6 Android Developers and 8 iOS Developers.
- Implemented new Architecture Navigation Graph to map in App navigation across many app flows.
- Migration and refactored Java Code to Kotlin code.
- Refactored Architecture design pattern from MVP to MVVM.
- Created multiple SQL commands to update a list of favorites and query the results into the main thread.
- Implemented Android Jetpack Room Database implementation along with Kotlin Singleton implementation.
- Worked along with observable lifecycle aware components like Android Jetpack Livedata.
- Refactored fragments to CustomViews to reduce the handling of multiple callbacks and reuse layouts in multiple screens.
- Participated in approval PR team to ensure code coverage of 85% and enforced code quality using tools like Gerrit, CheckStyle and SonarQube.
- Closely worked with QA engineers to implement use cases and successfully refactor feature by feature.
- Wrote Functional, Unit, and Instrument tests using JUnit, MockK, and Espresso.
- Customized Exoplayer media to play favorites artist during sessions.
- Implemented Share API creating Intent choosers to share favorites locals through social media.
- Implemented Calendar API with custom Credentials for synchronize users’ calendar from an app entry.
- Worked closely with designers to enhance UI/UX and match Material Design for rebranding approach.
- Implemented search view engine to enhance fast search and provide customized data depending of user settings.
- Created API connection with Retrofit library and a Single source of truth repository.
- Implemented dependency inversion strategy creating components and modules using Dagger library.
- Participated in an Agile environment with sprint retrospective and consolidating code in Bitbucket repository.
Confidential, Redmond, WA
Senior Android Developer
- Applied “Clean Code” principles for app architecture, branching/versioning, release train, feature flipping and A/B test, CI pipeline, TDD, etc.
- Developed the feature to ‘Build your own address library’ and export reports in pdf excel and csv formats.
- Fixed crash loading very short trips and crash affecting some users when merging trips
- Created custom authentication usingOAuthConsumerandOAuthProviderservices and Signing HTTP messages and requested tokens from an OAuth service provider.
- Integrated external YandexAppMetricaSDK for ad tracking, usage analytics and crash analytics.
- Replaced volley library withRxJavaretrofit library to makeasychrousAPI calls to get user-profile and monthly stats data in custom view.
- Made code more modular and avoid memory leaks from bad object references which locked the object and did not allow Garbage Collector to clean it up.
- Used Espresso librarytpperform automatic synchronization of test actions with the UIandui-automatorlibrary for UI interactions that are not within app.
- Utilized Amazon S3(Simple Storage Service) service for media files storing and retrieving
- PerformedgRPCauthentication includinggRPC’sbuilt-in error codes with use of SSL/TLS to authenticate the server and encrypt all the data exchanged between the client and the server.
- IntegratedAWSMobileClientAPIs for automatic token and credentials management and state tracking with notifications for performing workflows.
- Held daily calls with the end client to integrate Adjust SDK for Session and event callbacks.
Confidential, Atlanta, GA
- Followed Agile methodology and Scrum processes and participated in bi-weekly Sprint planning,
- Performed technical work using Android Studio IDE.
- Applied a MVP architecture.
- Created new features programmatically using Kotlin.
- Eliminated null point exceptions using Kotlin.
- Architected application following material design and used the four components of Android: Activities, Fragments, Content Providers, and Broadcast Receivers.
- Developed Display Modes for Android application and integrated various back-end services natively and using various third-party APIs.
- Implemented Fragments to make the app usable on both Smart phone and tablets.
- Worked closely with the web application development team to ensure proper integration between mobile application and web application.
- Provided full support to browser testing team to fully automate manual scripts using Selenium Testing Framework.
- Implemented RESTful call to receive JSON based response and parsed with GSON to display data.
- Handled XML data using efficient parsing techniques such as DOM parser.
- Integrated activity and fragment-based navigation to adapt to portrait and landscape orientations to better use the screen state adapting to phones and tablets.
- Implemented Picasso to do Asynchronous image loading.
- Used GIT for source control management and continuous integration with Travis for CI.
Confidential, El Segundo, CA
Android Mobile Developer
- Added several animations and transitions without of the box features and third-party libraries.
- Improved the search navigation Activity to find out station names.
- Experience working on-site and off-site teams and management.
- Integrated Java Guava Libraries for string processing, concurrency libraries, I/O functions.
- Development of quality code using cutting-edge techniques, tools, and utilities.
- Improved the layout rendering by saving and optimizing the view hierarchy in all the resources.
- Used private Git repository with BitBucket for development project.
- Participated in code review sessions to always have high quality (reusable, simple, documented) code.
- Assisted the build creation with a Jenkins instance hosted on a private server.
- Created the database using SQLite local file and a Firebase implementation.
- Used native and third-party technologies to optimize the app functionality including Java, Parse, Volley, SQLite, Fragments, Picasso, Android Studio, JSON, SQLCipher, Spongy Castle, Git, Jenkins.
- Use of Implicit and Explicit Intents.
- Created custom views to present data as it was needed.
- Use of SharedPreferences.
- Generated the application with a Model View Presenter architectural design pattern to help with the modularity and maintainability.
- Successfully executed test cases and fixed bugs.
- Part of Agile team consisting of 3 Android developers, iOS developers, web services, UI/UX designers and front-end developer.
- Used the Parcelable interface to serialize the objects.
- Performed automated testing by using Robolectric.
- Eliminated the use of external libraries by consolidating the use of OKHTTP and GSON.
- Implemented List View using the View Holder pattern to improve the performance.
- Worked with a SCRUM (Agile) methodology.
- Used advanced networking, multithreading and image loading libraries for efficient communication like Volley and Picasso.
- Experience building high volume consuming facing applications at massive scale.
- Ensure effectiveness of SCRUM related meetings (planning, retrospective) and discussions.
- Worked closely with the Android and iOS development teams for the web service API definition.
- Worked on making sure RESTful web services adhered to Android Best Practices