- 6+ years of strong experience in Design, Development, Testing and Deployment of Android Applications for Smartphones, and Tablets.
- Solid understanding of the full mobile development life cycle with a hands - on expertise with a wide variety of Android device resolutions (screen sizes) and SDK versions.
- Experienced working within fast paced environments using Agile (Iterative development) and Scrum, Kanban development practices.
- Excellent programming skills in object-oriented concepts such as Encapsulation, Abstraction, Inheritance, and Polymorphism.
- Familiar with Data Structures and Algorithms, Multithreading, Collections, Exception Handling.
- Expertise in using Android specific Design patterns like MVVM, MVP, & MVC.
- Strong working experience in integrating the application with SOAP, RESTful APIs/Web Services to fetch data from the back-end server and parsing the XML, and JSON response.
- Pleasant experience with implementation of protocols line OAuth in Android applications.
- Solid knowledge of implementing dependency injection frameworks like Dagger2.
- Valuable experience of implementing reactive programming using RxJava2 to manage asynchronous tasks and events.
- Sound knowledge of Material Design to create beautiful and intuitive touch user interface.
- Efficient in using Android third-party libraries like Retrofit, Google GSON, Firebase, Volley, Picasso, Glide, Eventbus, Lottie, Butterknife, RxJava, RxAndroid, OkHttp, Proguard, ZXing etc.
- Good exposure with Android Application Components like Activities, Intents, Services, Broadcast Receivers, & Content Providers, Content Resolvers.
- Experience inpublishing the apps to Google Play Store.
- Good knowledge of using Android Native Development Kit (NDK) and Android Support Libraries.
- In-depth exposure with Android UI components like Buttons, Text Views, Image Views, 9-patch images, List Views, Recycler Views, ViewHolder, Spinners, Layouts, Containers, Transitions etc.
- Experience in developing applications using Android framework APIs like Location, Camera, Animations, Maps, Speech API, Hypermedia API interaction, Android Telephony, Bluetooth, sensors such as gyroscopes and accelerometers, and integrating applications with Social Networking sites such as Facebook and Twitter.
- Familiar with Fragments, Activity workflow, Action Bar Navigation, Menu designs, Custom Views etc.
- Extensively worked on push notifications (GCM, FCM), memory leaks using Leak Canary, & offline data storage.
- Strong experience in implementing Multi-threading concepts to achieve concurrency.
- Excellent debugging skills using ADT tools like ADB, Logcat, AVD Manager, Trace View, and Hierarchy Viewer.
- Involved in troubleshooting production issues, benchmarking, memory optimization and performance tuning.
- Good knowledge of mobile security-level permissions and performance best practices.
- Familiar with developing test cases besides involving in Integration testing, & Unit testing extensively.
- Experience in managing builds, software deployment and release.
- Extensive experience in performing Test Driven Development (TDD) using Junit and Automated testing frameworks/tools such as Espresso, UI Automator, Mockito & Appium.
- Excelled in database skills in SQLite, MySQL, Oracle.
- Good knowledge in Swift programming for building iOS applications.
- Worked with version control systems like SVN, GitHub, GitLab, Bitbucket, and build tools like Maven, and Continuous Integration (CI) frameworks like Jenkins, CircleCI.
- Used JIRA, & Bugzilla as a defect reporting and bug tracking tools, reviewed and analyzed test results using the result logs and reported defects using the defects module of various tools.
- A strong willingness to learn new tools & technologies and improve my knowledge.
- A team player with effective communication, leadership and interpersonal skills.
Languages: Java, Kotlin, Swift, Python
IDE: Android Studio, Eclipse, XCode
Version Control Tools: GitHub, GitLab, SVN, Sourcetree, Bitbucket
Databases: SQLite, MySQL, Oracle
Testing Tools & Frameworks: Junit, Espresso, UI Automator, Robotium, Appium
Bug Tracker Tools: JIRA, Bugzilla
Operating systems: Windows, Mac OS X, Linux, & Android variants
Confidential, Cincinnati, OH
Senior Android Developer
- Analyzing User Stories and involving in sprint planning, scrums, demos, retrospectives, and brain-storming sessions.
- Quickly and efficiently design and develop high quality Android mobile software using Java/Kotlin as programming language
- Work with QA team in analyzing and resolving issues/defects.
- Ensure the performance, quality, and responsiveness of the application
- Implement new intuitive features for the application.
- Responsible for consuming the GraphQL/RESTful API’s using Apollo/Retrofit, getting JSON response and parsing them to get the required information.
- Use RxJava2 framework for Asynchronous and reactive programming.
- Using Kotlin Coroutines for the newly implemented features.
- Implement the dependency injection framework Dagger2 to create reusable modules in the application
- Follow MVVM pattern along with View Binding, Architectural components like View Model, Live Data, Room etc.
- Work on the barcode scanning functionality by integrating SCANDIT SDK with the app.
- Work on the Zebra POS devices and implement Barcode Reader functionality.
- Persist the user or application data using the Room database.
- Implement Push Notifications using Firebase cloud messaging (FCM) and Azure Notification Hubs.
- Use Material Design elements like cards and lists, custom shadows, navigation drawers etc. to enhance the user interface of the application.
- Work on Android Accessibility for visually impaired users with the help of Talk back.
- Automate the UI tests using Espresso framework.
- Write unit test cases for various modules using Junit and Mockito frameworks
- Involve in the maintenance of the app and bug-fixing in various modules.
Environment: Android SDK, Android studio, Java/Kotlin, MVVM, Dagger2, Retrofit, Glide, Junit, Mockito, LeakCanary, Systrace, Proguard, Lint, Timber, Git, Jenkins
Confidential, Brooklyn, NY
Sr. Android Developer
- Coordinating with the UI/UX team for analysis of UI design and minimizing the gap between design and development teams.
- Implementing MVVM pattern, RxJava2, dependency injection framework Dagger2 to create reusable, interchangeable modules in the application.
- Using Kotlin for implementing new modules in the application.
- Responsible for consuming the Restful APIs using Retrofit, getting JSON response and parsing them to get the required information.
- Created intuitive UI using several custom views for efficient and performant layouts.
- Implemented Parcelable objects to send across the activities.
- Implementing Analytics frameworks on various modules of the application.
- Participating in the peer code reviews.
- Developing the app to adapt to different orientations (Landscape/Portrait) and various resolutions based on the device.
- Implemented offline data storage, and Push Notification system (FCM) for users receiving the alerts.
- Working on the application Accessibility for visually impaired users with the help of Talk back.
- Writing the unit test cases for various modules using Junit and Mockito frameworks.
- Involving in debugging, bug-fixing, and maintenance of the application.
- Used Proguard for code obfuscation, shrinking and optimization.
- Using various Material Design elements to enhance the user interface of the application.
- Implementing Localization to provide region wide support for users.
- Ensuring the performance, quality, and responsiveness of the application.
- Using Lint tool to test the code redundancy, usability, security-level permissions and performance.
- Performing Continuous Integration (CI) with CircleCI.
Environment: Android SDK, Android studio, Java/Kotlin, MVVM, Dagger2, Butter knife, Retrofit, JSON, Picasso, Junit, Mockito, LeakCanary, Systrace, Proguard, Lint, Timber, Git, CircleCI
Confidential, Tampa, FL
- Followed Agile methodology with SCRUM framework to complete the project in iterations.
- Analyzing User Stories and involved in sprint planning, scrums, demos and retrospectives.
- Used standard Android components like activities, services and created custom views for the application.
- Implemented dependency injection framework Dagger2 to create reusable, interchangeable modules in the application.
- Working with RxJava (ReactiveX) for asynchronous composition and manipulation of data and events using Observers and Observables in the application.
- Implemented several types of Layouts for User Interface.
- Developed UI layers with View Pager, Navigation drawer, and Fragments within the application.
- Customized the UI controls like Buttons, Tool bars etc.
- Implemented Serializable and Parcelable objects to send across activities.
- Developed utility classes to handle Validations of user information using regex functions.
- Coordinating with Architecture group on innovative designs and foundational/ infrastructural application changes and developing & integrating application code with back-end Restful APIs.
- Used Lottie library to embed Json based animations into the application.
- Implemented custom Web views to check out to the website in the app.
- Performing builds and Continuous Integration (CI) with Jenkins.
- Used Mockito, and Espresso for automating the UI tests.
- Involved in the maintenance of the app and fixing the bugs in various modules.
- Involved in troubleshooting production issues, benchmarking, memory optimization and performance tuning.
- Worked with Fiddler, a tool used to debug and execute GET & POST API calls & responses.
- Involved in Continuous Integration, Code optimization and troubleshoot issues as required.
- Used Lint tool to inspect the code redundancy, usability, security and performance.
- Involved in performing automated testing using JUnit, and UI Automator.
Environment: Android SDK, Android Studio, JDK, RESTFUL Web services, Fiddler, Butter knife library, UI Automator, JSON, JIRA, Lint, Git
Confidential, Austin, TX
- Participated in several spaces like Designing, Enhancements, Bug-fixing, KT Sessions, and maintenance of the application.
- Worked in Agile Environment- Participating in daily standup meetings.
- Rehauling the existing code in MVP pattern to MVVM.
- Developed rich UI for most of the modules in the application using Recycler View, Scroll View, View Pager and Navigation Drawer.
- Customized different widgets that include Buttons, Toasts and Dialogs.
- Worked on consuming the REST services by handling HTTP based REST API request and response.
- Implemented dependency injection framework Dagger to create reusable, interchangeable modules in the application.
- Implemented Android Speech Recognition API to take the prescription orders.
- Used Android Content providers with SQLite for implementing offline storage.
- Implemented the Google Maps and Place API to get the JSON data by restful protocol which shows the nearby clinics in a specific location.
- Implemented Android Multimedia Framework for integrating audio, video and images into the application.
- Implemented Camera API to share photos and videos with the doctor.
- Used Glide library for loading the images and customizing them.
- Implemented PUSH notification using Google cloud Messaging (GCM), so that the user knows that the order is in transit.
- Performing Continuous Integration (CI) with Jenkins.
- Performed on device debugging using ADB commands and tested application in device using Logcat, DDMS.
- Used Espresso framework to create automated UI tests.
Environment: Android SDK, Android studio, Android API's, MVP, MVVM design patterns, SQLite, RESTFUL APIs, JSON, Glide library, Dagger, Espresso, Jenkins, Git (version control), DDMS console, Logcat, ADB server.
Associate Software Engineer, Android
- Worked in Agile Environment- Participated in daily standup meetings.
- Following the Agile methodology for implementing the project.
- Coordinating with the architecture group on innovative designs and rectifying the architectural defects.
- Used MVP design pattern for developing the application.
- Developed rich user interface of the application by making best use of the Android UI Layouts and Fragments.
- Implemented several types of Layouts like Linear Layout, Relative Layout, Table Layout & Frame Layout.
- Made the best possible use of widgets like Text Views, Image Views, Buttons, List View, Scroll View, Progress Bar etc.
- Customized different widgets that include Buttons and Image Views.
- Handled the Activity lifecycle and Fragment lifecycle and effectively used their lifecycle methods within the application.
- Worked on handling communication between activities and fragments using Event Bus library.
- Implementing code to display charts by using MP Chart library for chart rendering.
- Fixed bugs with code, design patterns and miscellaneous occurrences during project.
- Used Universal Image Loader library for loading and caching the images of the products.
- Responsible for consuming the REST services, getting JSON response and parsing them to get the required information.
- Worked on memory management with respect to database, data loading and debugging the application using Logcat, DDMS.
- Was responsible to write the Junit test cases and to ensure always all the cases to be passed.
- Coordinated meetings with the UI and UX team to design the user interface by giving feedback about Androidguidelines for developing user interfaces.
- Provided production support by interacting with the end-users and fixing bugs.
Environment: Android SDK, Eclipse IDE, JDK, RESTFUL Web services, JSON, JIRA, Windows, Git (version control).