Senior Android Mobile Developer Resume
El Segundo, CA
SUMMARY
- Experience in web page design: PHP HTML4 & HTML5, CSS, JavaScript, jQuery, AJAX.
- Experience in web site development: JAVA, JSP’s, JSON.
- Willingness to spend time testing minute details, especially with user interaction points.
- Exceed expectations with LAMP stack and PHP4, PHP5, HTML, CSS, JavaScript, JQuery, Ajax, MYSQL and Android Studio.
- Experience with Android performance tuning and crash reporting applications.
- Work effectively with stakeholder, UI designers and cross - functional teams.
- Experience in architecting and developing networking and secure applications for Android.
- Continuously research, test, and implement new techniques, frameworks, and utilities.
- Mentored Junior Developers to fulfill goals and have a constant development growth.
- Knowledgeable of mobile-development design patterns like MVP and MVVM.
- Was in charge of the generation of the production-ready APK, from signing the build to publishing the app in the Google Play Store.
- Fully conversant with OOP principles and software development frameworks.
- Practical implementation of Android Life Cycle, Fragments, Intents, Threads on Android, binding services, Implicit and Explicit Intents, background processes, sync adapters, Activity, Activities for Result, WebView, ImageView, TextView, RecyclerView, ListView, Object Oriented.
- Experience with third party APIs and web services like Volley, Picasso, Facebook, Twitter, YouTube Player, and Surface View.
- Collaborated with Jelly Bean, KitKat, Lollipop, Marshmallow, and Nougat with material design and latest features.
- Extensive experience working with Web Services design and consumption with a RESTful architecture.
- Configured and initialized multiple cloud integration services including Parse, Firebase and Google Cloud Messaging.
- Hands-on development in all the software-driven cycle, such as requirement gathering, design, analysis, coding, testing and code review.
TECHNICAL SKILLS
Programming Languages: Java, Swift, C, C++, SQL, JavaScript, XML, HTML, CSS, Python, Scala, Kotlin
Front End Technologies: JavaScript, JQuery, JQuery UI, HTML4, HTML5, CSS3
Web Servers: Apache 2.4,Tomcat 8
Server OS: Ubuntu, CentOS, Red Hat
Database: SQL Server, MySQL, SQLite, Oracle R11, IBM DB2
Web Services: REST, SOAP, JSON, XML
RESTful APIs: RESTful web service integration, RESTful web services, AJAX
Design / Ux: OOD (Object-Oriented Design), Android Studio
Frameworks: Java Development Kit (JDK), .NETAndroid SDK, Cake, Symfony, Doctrine (PHP), Spring, Hibernate (JAVA)
PM Tools: Basecamp, JIRA, LeakCanary
Android Skills: Handlers, Loopers, Loaders, Material Design, EventBus, Content Resolvers, Bluetooth Low Energy, RxJava, Kotlin,GPS, GreenDAO, Volley, Multi-Window, Cipher, Services,, Nougat, REST, Glide, Hugo, Frodo, Subversion, Firebase, Schematic, Google Cloud Messaging, MVP, Espresso, Eclipse, Location Services, Android Studio, Urban Airship, Retrofit, Push Notifications, GreenDAO, Spork, NFC, Dagger, Samsung SDK, Certificate Pinning, Agera, Ion, PushBots, Dependency Injection, JobScheduler, Volley, Junit
Operating Systems: Red hat Unix, Linux, MacOS, Windows
Development Environment/Tools: Notepad++, Text Edit, vi editor, Oracle VBox, Putty, WinSCP, Eclipse MARS, Android Studio, IBM z/OS TOS, CICS, IMS (IBM), DB2, RACF, SNA., Git, Jenkins, JIRA, GSON, Android Platform, Node.jsMicrosoft Azure, NetBeans, UWP
Web Technologies: PHP, ASP.NET, JavaScript, HTML, XHTML, CSS, XML, Apache, Tomcat
RSS feeds: Amazon S3(Simple Storage Service)
Telecommunications: 3G and Wi-Fi technologies
Broadcast Receivers and Services.: XMPP chat
PROFESSIONAL EXPERIENCE
Confidential, El Segundo, CA
Senior Android Mobile Developer
Responsibilities:
- Used native Android and third-party technologies to optimize the functionality of the Android app including Android Studio, Java, Android Pay, Android Wear, Crashlytics, TestFairy, Espresso, Picasso, Custom Views, Facebook API, Twitter API, Google Maps API, SQLite, Urban Airship, Dagger, Butter Knife.
- Used Espresso & Mockito for testing the UI & Android App functionalities.
- Shrank and secured the code of the application with ProGuard.
- Utilized Android Studio IDE to develop and code updates to the application.
- Solid background in Android UI, Android SDK, Android design patterns.
- ·Gradle plugin written in Kotlin, used to bring files into your source tree from the Internet or local
- Refactored and redesigned multiple modules for reusability purposes.
- Used Jackson and GSON libraries to parse JSON files coming from web services.
- Handled Fragment data retention to ensure data integrity on screen rotation with the setRetainInstance method.
- Replaced Activities for Fragments in the Android app when possible.
- Added tabs and navigation drawer for Android app UI ease of navigation as an Android material design method.
- Used Fabric Crashlytics for real-time bug and crash reporting
- Worked in various teams ranging from 6 to 9 including Android developers, UX/UI designers, architects, and graphic designer, as well as a back-end team of 3 developers.
- Established the use of instance handlers for Java threading separated from the user's interface thread.
- Stored Android user credentials with Keychain, and employed SSL security with TrustManager.
- Implementing RxJava for most of our asynchronous processes to simplify threading.
- Worked with an Agile/iterative development methodology, and Scrum process.
- Used GitHub private repositories with standard workflows for version control.
- Implemented an Timber library to manage the process of logging responses from the Web Service to the Android app.
- Worked with greenDAO for managing data storage of information in Android.
Confidential, Marlboro, NJ
Senior Android Mobile Developer
Responsibilities:
- Implemented secure data encryption using an SQLCipher instance. following Material Design Guidelines.
- Connected the app to Twitter, Instagram, and Facebook.
- Used Android Annotations for dependency injection
- Implemented UI/US along Material Design Guidelines using approved designs (CardView, Pickers, Modal Bottom, Snackbars, Navigation Views, Compound Views, Custom Views)
- Software design patterns: MVC, Singleton, and Decorator.
- Consumed an API using plain HTTP requests and response communications with a custom and plain HTTP Apache client.
- Identified bugs on the previous version improving the performance on the Android lifecycle.
- Used Android Device Monitor for monitoring CPU load, heap size and memory usage
- Implemented the multithreading communication using the built-in Android frameworks like RxJava.
- Used Android job scheduler to manage backend services.
- Implemented logging with Timber.
- Made use of sync adapters, AsyncTaskLoaders, and loaders for database consistency.
- Used developer testing tools like Robolectric
- Integrated Flurry for mobile analytics.
- Used Git for source control management and continuous integration with Jenkins.
- Configured manual and generated content providers using Schematic.
- Interacted closely with both the Product and the Design teams.
Confidential, Atlanta, GA
Senior Android Mobile Developer
Responsibilities:
- Used Crashlytics to track user behavior and obtain mobile analytics.
- Automated payment integration using Google Wallet and PayPal API for Android.
- Following Google Material Design Guidelines, added an Action Bar to handle external and constant menu items related to the Android app’s current Activity and extra features.
- Implemented changes to the Android Architecture of some legacy data structures to better support our primary user cases.
- Use of certificate pinning and AES encryption for security in Android mobile apps.
- Added Trust Manager to support SSL/TLS connection for the Android app connection.
- Stored user credentials with Keychain.
- Use of Implicit Intents, ActionBar tabs with Fragments.
- Utilized Git version control tool as source control management system
- Used RESTful APIs to communicate with web services and replaced old third-party libraries versions with more modern and attractive ones.
- Used a Jenkins instance for continuous integration to ensure quality methods.
- Employed dagger for dependency injection in Android mobile app.
- Extensive debugging and profiling the Android application.
- Use of the GSON library to deserialize JSON information.
- Utilized JIRA as the issue tracker, and for epics, stories, and tasks and backlog to manage the project for the Android development team.
- Introduced Parcelables for object transfers within Activities.
Confidential, OakBrook, IL
Android Developer
Responsibilities:
- I was suppor for the team in India and helped with the maintenance of the app in Germany, Australia and Canada. I would talk to the Business Associates about the new features the client wanted to develop for the app. After talking to the BAs (Business Associates) I would have a technical grooming with the team in India and explain them what needs to be developed. For instance, what methods should be added or classes, what classes would be affected and if there’s a need to remove code.
- I worked in conjunction with the iOS team so both the iOS app and Android app could be synchronized. They needed to look the same on both platforms.
- If we had any issue on either platform, we would have to reproduce it on both platforms. If one of the teams is not having the same issue, then we talk to each other and see what is different. Then we would do the changes accordingly.
- I was assigned to this main code change which was to remove a “Refresh token.” This token was used to keep the session longer if the user is using the app for more than 30mins. My job was to remove that refresh token in the request. This included changes in other classes and methods. After removing the refresh token, I had to test the application. I used Charles to check the response from the backend to see if we were still getting the refresh token. Once that was done the backend team did their part to complete the fix.
- Confidential ’s recently launched an app in Germany only showing “deals” in the area. I created the environment for this application. I tested the app by recreating an order, I used “fake GPS” to mock my location so that I could see if the deals are being shown on the app. This app had a rate crash of 0.01 % which was the best rate for any of the Confidential ’s app as of now.
- I used Charles proxy to make sure all the API calls are not failing, and to verify that the URLs contain the desired data.
- I used Runscope to set up tests for all our different environments and to schedule tests.
- I worked with 12 people in the same office. We used to sit together at a big table. There were 3 senior android developer, 3 senior iOS developers, 2 Architects, 2 PMs and usually 2 Bas. There was a total of 200 team members on this project. Around 100 of them were offshore.
- We worked on an agile environment, we had daily catch up meetings with the India team, daily scrum meetings with all the BAs and 2-3 technical grooming a week.
- I usually raised 2-3 PRs (Pull requests) per day. Which had to be approved by at least two architects.
- I created confluence pages for all the technical grooming I had. This page contains high level explanation of the feature to be developed. This page was shared with all the team members, so they could have a better understanding of the new development.
- I used JIRA to work on tickets, create tickets and update the whole team on the upcoming sprint.
- I used webEx for all presentations which include technical grooming.
- Local persistence of data using SQLite and shared preferences
- Applied Crashlytics to bug and app crashes reporting.
- Implemented HTTP client (GET, POST, DELETE, PUT) to consume RESTful web services
- Followed an Agile methodology for development iterations.
- Implemented an Android service to synchronize the latest deals and announcements, getting them from RESTful web services.
- Used APIs from different API levels to support backward compatibility.
- Use of GIT for source control management and continuous integration with Jenkins.
- Participated in frequent code review activities with the members of the development team
- Attended or facilitated SCRUM meetings and met deadlines; managed two-week sprints.
- Designed the application updates with an MVP approach, setting up all the interfaces and the decoupling of the classes.
- Tested the application on various devices and emulators to determine compatibility.
- Added Localytics for in-app behavior tracking and usage, including location, gender, preferences, and interests.
- Used ProGuard for obfuscation.
