Senior Android Developer Resume
Mountain View, CA
SUMMARY:
- Senior Android Developer with 4 years of experience in the IT field and 3.5 years of experience in the mobile development with 8 published apps in the Play Store. Big fan of high - quality code through thorough testing and healthy CI/CD practices, worked heavily with third party libraries like Retrofit, Dagger 2, RxJava. Implemented several design patterns (MVP, MVVM, Clean Architecture) and good coding practices following the SOLID principles, currently trying new things like Kotlin, Instant Apps and the new Android Architecture Components (LiveData, LifecycleObservers, Room, ViewModels).Project summary
- Architected multiple apps from scratch and added several modules to already on-going projects.
- Trained other developers in Java and Android development following best practices and coding standards.
- Provided regular feedback to the VP of Engineering on improvements to the Android team and the Engineering team.
- Migrated multiple codebases from legacy code to systems with at least 70% code coverage using good design patterns and dependency injection frameworks.
- Led multiple proofs of concept to integrate new APIs and third party libraries released in Android.
- Monitored, triaged and assessed the Android app's performance, bugs, and defects.
- Understanding of Activities, Fragments, Custom Views, Services, Support library, and 3rd party libraries.
- Migrated multiple modules from Java to Kotlin to take advantage of the language features.
- Experienced with multiple Android API versions, including:
- Android 4.0 - KitKat (Wearables, Holo interface).
- Android 5.0 - Lollipop (Material design, ART).
- Android 6.0 - Marshmallow (Runtime permissions, Doze mode).
- Android 7.0 - Nougat (Multi-window, bundled notifications).
- Currently previewing changes in Android O (8.0), like background changes and notification enhancements.
- Real-world experience in building large, scalable and high availability applications.
- Proficiency in Java. Worked with JDK (Collections, Generics, Networking, Core Java).
- Understanding of Java concurrency, memory management.
- Excellent understanding of Unit, Instrumentation, Integration, Stress, Regression and Functional testing.
- Experience working with deep learning algorithms.
- Supervised the creation of thorough testing using automation tools like JUnit, Mockito, Espresso, Robolectric.
- Work effectively with UI designers who are obsessive about pixel perfection.
- Experience developing mobile to cloud and mobile to embedded device communications
- A sound understanding of HTTP and REST-style web services.
- Experience in architecting and developing networking and secure applications for Android.
- Experience building custom API solutions for external parties to tie into.
- Created innovative solutions in media streaming and mobile user experience.
- Implemented animations based on the Material Design guidelines like rotation, fading and translation.
- Knowledgeable of the structure and parsing process of JSON, XML, and YAML files used to store data (GSON, Jackson, Moshi, Protobuf).
- Implemented asynchronous services to update local storage and notify updates in the UI (Content Providers, Services, SyncAdapters, Loaders).
- Well versed on requirement gathering, technical documentation creation, and wire frames.
- Proactive self-learner who adapts to new technology such as Smart Watches, Chromecast, and Smart TV.
- Broad knowledge of many third-party libraries to speed up results during the development phase.
- Believer of the 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.
- Tested an early implementation of Firebase as a straightforward and real-time Mobile Backend.
- Oversaw the generation of the production-ready APK, from signing the build to publishing the app in the Google Play Store.
- Design patterns enthusiast and familiar with MVC, MVP, MVVM, Factory, Builder, Singleton, Decorator, Multiton, Command, Visitor, Chain of Responsibility, Object pool, Adapter, Bridge, Composite, and Iterator.
- Experience with open source software and social network APIs such as Facebook, Twitter, etc.
- Experience in planning, designing, developing and implementing successful large-scale mobile projects from client requirements to completion.
TECHNICAL SKILLS:
Skills: Retrofit, Jenkins, RxJava, REST, Volley, Firebase, GSON, JobScheduler, JUnit, Espresso, EventBus, LeakCanary, Loaders, MVP, Android Studio, Bluetooth Low Energy, Glide, Git, Push Notifications, Google Cloud Messaging, Dagger, Dependency Injection, JIRA, Material Design, Agera, Crashlytics, Android-Job, Chromecast, Hugo, Libphonenumber, ButterKnife, Location Services, SQLite, Tape, Fragments, Samsung SDK, BitBucket, Parceler, Otto, Jitpack, VideoView, Travis, Google Maps API, CoordinatorLayout, Volley, Mockito, Mixpanel, SyncAdapters, XmlPullParser, Marshmallow, Google Analytics, Ion, GcmNetworkManager, Protobuf, MediaPlayer, Kickflip, VidEffects, Urban Airship, ORMLite, Jackson, Fabric, Robotium, PhoneGap, SQLCipher, Eclipse, Runtime permissions, Timber, Logger, Content Resolvers, GitLab, Moshi, Doze Mode, NFC, Android Auto, ParallaxPager, RoboGuice, Realm, NineOldAndroids, Nougat, MPAndroidChart, Stetho, Robolectric, Multi-Window, Sugar, Cipher, Retrolambda, Subversion, AsyncTask, AndroidPhotoFilters, Cordova, ZXing, ProgressBar, Answers, IcePick, GPS, Loopers, Material Dialogs, Services, Mercurial, UI Automator, App publishing, SOAP, Content Providers, Google Custom Search, Robotium, Twitter, Caligraphy, OkHTTP, MVC, SmartTV, RecyclerViews, animations, MVVM, SSL, IntentServices, SpongyCastle, Frodo, Parse, ConstraintLayout, Support Libraries, GreenDAO, Android Wear, MonkeyRunner, Facebook SDK, GitHub, Google Places, AndroidAnnotations, FloatingActionButton, RxCache, ProGuard, Circle-CI, Picasso, Fresco, PushBots, GreenDAO, Handlers, Lollipop, ExoPlayer, Schematic, Broadcast Receivers, Flurry, Spork, Certificate Pinning, Ionic, Animator, Gradle
Other tools and keywords: REST Web Services, SOAP Web Services, JSP, Jasper Reports, Sketch, Video Streaming, Smooth Streaming, DASH, HLS, PL/SQL, Maven, JavaScript, Oracle 11g, Hibernate, Apache Tomcat, Perl, MySQL, Python.
PROFESSIONAL EXPERIENCE:
Confidential , Mountain View, CA
Senior Android Developer
Responsibilities:
- Led a proof of concept based on MVVM and data binding, generating a findViewById free codebase.
- Fully migrated the Dagger 2 logic (custom scopes and dependent components) to be in Kotlin.
- Architected the HTTP modules using Retrofit, RxJava and a custom client with OkHTTP with cache, interceptors and a custom certificate pinner.
- Increased the app security by obfuscating the code and implementing encryption libraries such as SQLCipher and Spongy Castle to secure credit card and personal data on preferences and SQLite database.
- Created multiple asynchronous operations using multiple strategies: RxJava, Loaders and SyncAdapters.
- Added the Fingerprint login module using the Keystore, Keyguard and FingerprintManager.
- Revised the User Interface to generating tens of production-ready prototypes.
- Part of the code-review committee that oversaw the consistency of the proposed pull requests.
- Coordinated team of software engineers to complete required tasks.
- Strong understanding of server side software, scalability, performance, and reliability.
- Generated test cases to all the proposed classes using JUnit, Mockito, Espresso, Robotium, UIAutomator, based on an MVP and Dagger 2 architecture.
- Served as a technical lead within the company to develop the technology stack.
- Participated in a proof of concept that communicated an external peripheral with the Android application using Bluetooth Low Energy with the GATT protocol and NFC tags.
- Implemented Glide to handle the asynchronous loading, custom caching and lazy loading of images.
- Added animations for transitions between Activities and Fragments.
- Enhanced the classes that connected with the Java Web Service.
- Participated on the setup procedure of a Jenkins-based server to do continuous integration.
- Maintained technical documentation of each project using Confluence and JIRA.
- Worked with the ZXing library for barcode reading.
- Implemented custom/compound views for displaying queried data.
- Collaborating with web designers to develop a user-friendly application.
- Created and updated technical documentation of the application.
- Used ProGuard to shrink, optimize, and obfuscate the code.
- Designed custom views and use icons extensively for the layouts improving the User Interface.
- Worked closely with the back-end team to implement the electronic payment capabilities.
Confidential
Senior Android Developer/Android Developer
Responsibilities:
- Made a distinction between development and production versions of the app each with their distinct credentials and settings in the backend using Urban Airship.
- Followed a waterfall methodology to set up the development iterations
- Efficiently used Activity, Intents, Fragments, Services, Broadcast Receivers, notifications, Content Providers and Media Players for building the app.
- Implemented runtime permissions using the ContextCompat and ActivityCompat helpers.
- Integrated early debug builds with a real-time database built with Firebase.
- Created a module based on an Event-driven library (EventBus) to communicate multiple components in the app efficiently.
- Contributed with the migration of the codebase from Dagger 1 to Dagger 2 improving the startup times by more than 15%.
- Solid understanding of Android app development life cycle compliance policies and submissions requirements.
- Implemented new features on the application using an MVP architecture with no-logic views.
- Used Navigation Drawer and Tabs to provide quick and easy navigation.
- Experience working with deep learning algorithms
- Liaison with the project team and delivering projects as per scheduled milestones.
- Implementation of dynamic nested Fragments using the ChildFragmentManager.
- Used Agile methodology to fulfill rapidly changing client requirements.
- Consumed web services using a traditional approach with no third-party libraries involved.
- Designed layouts based on the Material Design guidelines using RecyclerViews, CoordinatorLayouts, DrawerLayouts, CardViews, Custom toolbars and generated icons.
- Mentored junior Android Java developers during the application building process.
- Managed code review sessions to always have high quality (reusable, simple, documented) code.
- Effective Project Management executed using Daily SCRUMS.
- Worked with IntentServices to run process in background due to lazy loading RecyclerViews
- Implementation of various user interface components such as WebView, ListView, ImageView, TextView to display the data for the application.
- Use of material design for the User Interface based on a Model View Presenter architecture.
- Experience using Source Control (Git, SVN, Mercurial).
- Solid understanding of the full mobile development life cycle.
Confidential
Android Developer
Responsibilities:
- Ensure excellent form factor integration by creating multi-panel activities with Fragments.
- Supervised the creation of the testing suites developed with Espresso and Mockito.
- Worked with AsyncTask for multithreading and IntentServices for longer running asynchronous tasks.
- Implemented several design patterns such as MVC, Singleton, and Observer
- Performed regular code reviews to ensure overall code quality and adherence to company coding standards and industry best practices.
- Planning the application development during meeting with the sponsors
- Mastery of the Android development and hardware ecosystem, from devices to the Play Store.
- Worked closely with the Android and iOS development teams for the web service API definition.
- Experience evaluating and integrating 3rd party APIs, including SDKs for social networks, advertising, and analytics.
- Implemented a Navigation Drawer for quick access to different activities and a better User Experience.
- Familiarity with the Android tool ecosystem for development, testing, debugging, and performance benchmarking.
- Collaborated with the new model, gave a new look-and-feel in the app, applying styles and themes following the new Google Material Design guidelines.
- Built the UI/UX using material design implementing Fragments and Navigation Drawer.
- Implemented List View using the view Holder pattern to improve the performance.
- Used XZing to handle the QR code generation/reading cycle.
- Improved the HTTP calls by handling the request with AsyncTasks.
- Prototyped two candidate activities to facilitate decision making regarding features and flow to be implemented in the new module.
- Developed custom and compound views to match UI/UX specifications.
- Supervised the transition between the design of Holo Light and Material Design layouts.
- Experience building custom API solutions for external parties to tie into.
Confidential
Android Developer
Responsibilities:
- Acted as direct interface with client and participate in overall development activities including requirements elaboration, design, and coding.
- Worked closely with the back-end team to integrate new search capabilities.
- Consumed web services to display user history on the user interface.
- Communicated with RESTful web services to obtain insurance companies information using OkHTTP and Jackson.
- Prioritize the technical architecture and technical debt of the Android app.
- Use of the YouTube Android Player to in corporate video playback functionality.
- Experience with continuous integration tools like Jenkins or Travis CI and automated testing frameworks such as Espresso.
- Led the team in charge of gathering the requirements from the customer.
- Finding and fixing bugs in previous code that caused undesired behaviors in the app.
- Real-world experience is building very large scale, high availability applications.
- Used Pending Intents to handle database updates after a boot was completed.
- Tracked and issued the project planning and development lifecycle with JIRA.
- Solid background in Android UI, Android SDK, Android design patterns.
- Monitored and participated in workflow tracking (Jira) and documentation (Confluence) so that these scalable industrialized processes facilitate business growth.
- Worked with a SCRUM (Agile) methodology.
- No UI/UX team involved in the process.
- Configured a Mixpanel account to retrieve analytics information from every device installation.
- Willingness to spend time testing minute details, especially with user interaction points.
- Worked with Volley for consuming RESTful web services.
- Used Google GSON to parse JSON files.
- Built cloud-backed mobile apps using Amazon- AWS Mobile Services
- Recommended and implemented changes to the Architecture of some legacy data structures to better support our primary user cases.
- Designed custom animations for transitions between application activities
Confidential
Database Developer
Responsibilities:
- Actively participated in the decision making of the technologies to use.
- Created multiple HTML pages with responsive design and optimal User Interface.
- Coached and mentored Junior Java developers helping them fulfill short and long term goals.
- Analyzed client needs to create multiple alternatives with a software-driven approach
- Performed requirement gathering sessions to clarify and start up with the development process.
- Created custom software solutions tailored to the user needs.
- Designed customized websites hosted in a JSP and Servlets environment.
- Used the capabilities of HTML to create many tag creation and animation.
- Scripted Python functions to help with the data and entity simulation.
- Maintained a standalone desktop application to manage digital documentation.
- Generated background checks to verify users’ identity and improve the security of the system.
- Continuously created complex SQL queries to get tailored information regarding new processes.
- Extended Java SE and Visual Basic applications that were used to manage small food business.
- Web services implementation (RESTful implementation with a Java front end).
- Assisted with technical support related to the network bandwidth and usage.
- Created solution architecture for new mobile applications and mobile application enhancements.
- Performed feature analysis and sizing.
- Worked with new team members in various roles to introduce them to our architecture.