Senior Android Developer Resume
Louisville, KY
SUMMARY
- 10 years of excellent IT experience with Android application design and development, requirement analysis, testing, debugging and support.
- Skilled in handling third party libraries, frameworks and APIs.
- Willing to work independently and take technical risks.
- Guides the Android integration to many APIs with performant critical integrations.
- Skilled in handling continuous integration principles and high unit test coverage.
- Follows best practices in Android as well as design standards.
- Strong background in Java development, from architect and design mobile applications to meet business needs.
- Background in both Java and Kotlin.
- Working cross - functionally to achieve goals and meeting app feature requirements.
- Experience in Object-Oriented Design and Analysis.
- Experience handling injections with Dagger2, unit testing with JUnit, Mockito and instrumental testing with Espresso.
- Handling multithreaded and concurrent applications with RxJava, Coroutines, Looper/Handler, and Thread/Runnable.
- Experienced developing following various Architectural and Design Patterns such as MVVM, MVP, MVC, MVI, Singleton, Builder, Factory, Observer, Adapter, Strategy.
- Application of Material Design guidelines and implementing user-friendly features on UI.
- Proactive fast learner, programming logic proficiency, and self-motivated.
- Utilize various frameworks and APIs for requirements, Volley, Retrofit, Dagger2, Jsoup, GoogleMaps, Gmail API, Google Drive API, Weather API, Facebook API, Instagram API, Twitter API.
TECHNICAL SKILLS
Issue Tracking: Jira, Azure
Design Patterns: Singleton, Builder, Factory, Facade, Strategy.
Threading: Java Thread/Runnables, ThreadPools, Loops/Handlers, AsyncTask, Loaders, Coroutines, RxJava
Project Methodologies: Agile, Scrum, Waterfall, SOLID, DRY
Version Control: Git, Github, Stash, BitBucket, GitLab
Data Related Tools: Sqlite, Room, MySQL, Microsoft SQL Server, Firebase, Firestore, MongoDB.
IDEs: Android Studio, Eclipse, Intellij, NetBeans, Visual Studio
Architecture/Design Patterns: MVVM, MVC, MVP, MVI
External Third-Party Libraries, Frameworks, and APIs: Gson, Volley, Retrofit, OkHttp, Dagger2, Jsoup, kSOAP, Google Maps, Gmail, Google Drive, Facebook, Instagram, Twitter, EventBus, RxBus, Picasso, Glide, Fuse Location Framework, Location Manager, Butterknife.
Programming Languages: Java, Kotlin, C++, Python, MATLAB, Javascript, Julia.
RESTful API: Retrofit, OkHttp, Volley, HttpUrlConnection.
Operating Systems: Linux, Mac, Windows, Ubuntu, Android
PROFESSIONAL EXPERIENCE
Senior Android Developer
Confidential, Louisville, KY
Responsibilities:
- MVVM architecture with ViewModels responsible for making network calls.
- Kotlin Coroutines, scopes, defferables, and dispatchers for handling concurrent operations.
- Soft skills include working and communicating with multiple team members cross functionally.
- Managing 1:1 meet up schedules, reviewing performance and code with colleagues, providing constructive feedback and encourage team mates.
- Attending standup everyday for 15 minutes, cross functional demos, as well as retros at the end of week.
- Providing support for junior level members and guidance with implementations.
- Recommending various beneficial third party libraries and plugins to streamline extraneous workload.
- Improving robustness of source code by fixing bugs, refactoring redundant code, and finding bugs during testing as well.
- TDD with JUnit4, Robolectric, MockK, DI with Koin with 90%+ code coverage.
- Worked with Visual Studio and .NET core on the backend, unit testing implementations.
- Google Maps, Geocoder and Location Services for finding Care Providers and COVID19 Testing Centers.
- Developing in paired programming and Agile environment with cross functional collaboration.
- Working with Retrofit and GSON to handle network operations and refactor on backend in ASP.NET Core.
- Implementing reliable and robust code to respond to different screen resolutions.
- Implemented extension functions and optimized algorithms for searching and sorting in Kotlin.
- Implemented concurrent debounce functions to handle API calls to backend for dynamically updating search bar.
- Optimized and refactored code to handle UI design responsiveness, testing on multiple devices and screen resolutions.
- Working with changing team size, starting with 4 engineers, then down to only 3 while keeping high measured performance, and ending off with 6 members in paired programming environment.
- Finding alternative solutions for common problems, i.e. memory safety and thread safety, storing primitives in sharedprefs instead of introducing complex backend work, etc.
- Managed and implemented key features of application such as CostEstimationSearch and Results fragment parsing backend data and populating in multiple recycler views.
- Worked with multiple design patterns, Singleton, Factory, Helper, Builder, etc.
- Handled analytics tags throughout application, finding most suitable format with PM.
- Implemented filters for multiselection features across application.
- Maintaining thread safety and memory safety with LeakCanary.
- Working with Glide, and Exoplayer to populate responses from API to RecyclerView.
Senior Android Developer
Confidential, Menlo Park, CA
Responsibilities:
- Asynchronously used HttpURLConnection along with Trust Manager to secure consumption and pull data from RESTful API resources.
- Refactored un-optimized sections of code to ensure more efficient and transparent codebase.
- Created custom Views for collapsing and expanding textual information.
- Used Android NDK to interact with native C++ libraries.
- Troubleshooting application using tools like Android Profiler, DDMS, and Debugger.
- Test Driven Development with Mockito and JUnit and Jenkins for continuous integration.
- Configured intent filters so that implicit intents can be used to access activities hosted by application.
- Refactored existing Java codebase from Java to Kotlin.
- Attending ceremonies, implemented agile into two-week sprints, incorporating scrum ceremonies, retro perspective report.
- Implemented instance handlers for threading - separate from UI threading.
- Used Native JSON parser to populate POJOs with data from JSON responses.
Senior Android Developer
Confidential, Menlo Park, CA
Responsibilities:
- Web services using Retrofit instance managing JSON with built-in GSON converter.
- Refactored codebase from using AsyncTask for asynchronous operations to RxJava for better error handling and performance.
- Handled proper development following MVVM architecture and Android Architecture Components.
- Implemented Material Design buttons such as Floating Action Button.
- Used JAVA DOCs for documentation of the codebase.
- Used Parcelables to marshal data from objects to and from activities.
- Implemented nightly updates of data using the work manager.
- Used Espresso for UI instrumental testing automation testing.
- Debugging source code utilizing tools such as Debugger, Android Profiler, and Logcat.
- Attended daily meetings to plan and organize workflow with the team.
- Refactored Java codebase from Java to Kotlin.
- Utilized Job Scheduler, Alarm Manager, for an optimized implementation of requirements.