Senior Android Developer
Highly motivated Senior Mobile Engineer eager to actively bring a constantly growing and dynamic skillset to a development team. Striving for excellence and quality to the user experience through the ease of mobile application making activity both easier and far more effective than ever before.
-Used wire framing and design tools for mobile UI/UX design.
-Managed Version Control tools such as SVN, Git, Bitbucket.
-Configured automated builds with Jenkins, Hudson, and Travis.
-Automated testing with Espresso, Robolectric, and Robotium.
-Coordinated international teams in different time zones.
-Gathered requirement and produced technical documentation.
-Continuously learn and adopt paradigms and new technologies.
-Leadership and communication skills in an agile environment.
-Organized and mentored members of the development team.
-Top notch scheduling and resource management skills.
-Integrated apps with RESTful and SOAP web services.
-Implemented design patterns such as MVC, MVP, and Observer.
-Hands-on skills on user interface and user experience UI/UX.
-Implemented a vast set of Android frameworks targeted for multithreading.
-Designed various applications using MVC, MVP, MVVM architecture/design patterns.
-Testing using TDD approach using Junit, Mockito, Espresso etc
-Hands on experience with both Java and Kotlin and also legacy code migration from Java to Kotlin
-Supervised the creation of Content Providers and their data loading implementation.
-Familiar with development for Tablets Phones, Chromecast, Start Watches and TV Sticks.
-Experience exposing and consuming Web Services, utilizing both the Simple Object Access Protocol (SOAP) and Representational State Transfer (REST) Protocols.
-Use of Activities, Fragments, Custom Views, Services, Volley, Support library, and 3rd party libraries.
-Experience using MySQL and PL/SQL to create stored procedures
-Followed best practices for Android app architecture and programming, as well as Agile/Scrum processes.
-Strong knowledge in Android multithreading frameworks: AsyncTasks, IntentServices, Handlers, Threads, Runnables, Loopers, Kotlin Coroutines.
-Implemented asynchronous services to update local storage and notify updates in the UI (Content Providers, Services, SyncAdapters, Loaders, handlers).
-Extensively worked on n-tier architecture systems with application system development using Java, JDBC, Servlets, JSP, JMS, Web services, WSDL, SOAP, spring, Hibernate, XML, DOM.
-Implementation of RESTful data consumption using Retrofit with an OkHTTP client, GSON and Jackson converters and a custom interceptor.
-Experienced in using the main ViewGroups provided by the Android SDK: FrameLayout, LinearLayout, RelativeLayout, CoordinatorLayout.
-Programming Languages: Kotlin, Java, JS, HTML/CSS, C++
-Database & Data Analysis: SQLite, Firebase, SQL Server, Room, Mongo, Realm, Neo4j
-Operating Systems: Windows, UNIX based systems.
-Web Services: RESTful APIs, REST, SOAP, JSON, XML
-Frameworks: Android SDK, Fabric, Three20, Sparrow, Java Development Kit (JDK), .NET
-Testing: TDD, Unit Testing (Junit), Automated Testing, JIRA, Jenkins, Written Test Cases, Android Testing (Robotium), Espresso, Robolectric, Mockito
-IDE: Android Studio, Eclipse, IntelliJ
-Project Management: Agile/SCRUM, Sprints, Daily Scrums, Sprint Retrospective, Sprint Planning, Backlog, Kanban, JIRA, Redmine, Basecamp, Slack, Atlassian Stack, BitBucket, Git, GitHub, SVN, Tortoise
-Debugging/Issue Tracking: JIRA, DDMS tool, ADB, LeakCanary, Firebase Crash Reporting, Fabric Crashlytics
-Libraries: Retrofit, Volley, Picasso, RxJava, Dagger 2, Firebase
-Architecture and Design Patterns: MVC, MVP, MVVM, Singleton, Dependency Injection, Builder, Factory, Façade, Proxy, Command, Observer
-Memory Management: ART, Dalvik, Memory Mapping, leak Canary, Bluetooth Low Energy
June 2019 - Present
Senior Android Developer • Delta Airlines
Virgin Atlantic: https://play.google.com/store/apps/details?id=com.vaa.runway
The Delta Android mobile app allows you to plan your trip, check in, monitor your flights, track your bags, find lounges, change your flight, access SkyMiles rewards, and get detailed information about flights. During my assignment I worked on different projects, but the main project in my responsibility was Virgin Atlantic. The work on these two applications focused on implementation of new functionality and features supporting new business processes and new offerings for customers. This involved new SDKs, refactoring code, troubleshooting and providing solutions for performance issues and user experience.
-Managed the build creation with a Jenkins instance hosted on a private server.
-Migrate Java code to Kotlin
-Implementation of all the Shop and Book process for business flights from Delta partners, before the application only had the ability to book personal flights.
-Customer advisory alert to inform users about important information before their flight. I.e. customer needs to drop his baggage in other terminal, travel restrictions by country, etc.
-Akamai bot manager SDK for bot detection.
-Integration of loyalty programs of Delta partners.
-Refactor of error messages across the application.
-Refactor of flight push notifications.
-Closely work with other Android and IOS developers to plan, design, implement and test new features or refactors.
-Implemented Dynatrace SDK for network performance tracking across the application.
-Implemented Akamai bot manager SDK for bot detection.
-Debugged and fixed critical defects reported by customers and in-house testers.
-Improved efficiency and readability of previously poorly maintained code modules through code refactoring and optimization utilizing SOLID principles.
-Migrated REST calls from Robospice library to Retrofit2 and RxJava.
-Consume, parse and create JSONs using GSON and Jackson libraries.
-Create and develop unit testing, instrumentation testing and automation testing for each new feature implemented using Junit, Mockito, Roboelectric, Powermock, Espresso, Calabash for Android.
-Maintain high quality code using code coverage and code correctness tools like Jacoco, Lint and SonarQube.
-Followed MVVM and MVP architectures.
-Used Git with Github and Gitlab servers for source control.
-Work within the agile team, provide estimated effort and technical input to backlog management, used Jira for task tracking and effort.
-Participated in the agile ceremonies, grooming, retrospective, daily stand up, etc.
-Provide technical advice to the business and design teams on new application concepts and to establish their feasibility through prototypes
-Lead, train and support current and new team members.
-Conducted pair programming sessions.
-Review the work of other team members through code reviews.
-Intense usage of Android SDK components, Activities, Broadcasts, Services, Intents, Job Scheduler, RecyclerView, Custom Views, Constraint Layout, Fragments, Looper, Handlers, Shared Preferences, Room, etc.
-Continuous Integration with Go scripts using pipelines.
-Manage relational and NoSQL databases using Firebase Database
-Used micro services architecture, closely worked with backend team.
-Applied several design patters while implementing new features and refactors, Observer, Singleton, Builder, Facade, Adapter, Repository, Router, etc.
-Used Dagger2 and Koinfor dependency injection.
-Environment: Android API 25 developer in Android Studio.
April 2018 - June 2019
Senior Android Engineer • CarMax
Ford Mobile: https://play.google.com/store/apps/details?id=com.carmax.carmax&hl=en_US
This car shopping app lets users search from a large inventory of cars across the United States. Advanced search filters allow search by make, model, years, price, features, MPG, price, location and more. Superior app performance with great handling of photos.
-Data caching done with an SQLite local database encrypted for enhanced security using SQLCipher
-RESTful client implemented using Retrofit and GSON for serialization.
-Maps done through Google Maps using v2 API and Google Localization Services.
-Images loaded asynchronously resized and cached using the Google Glide Library
-UI/UX for maximum brand recognition, simplicity of use and intuitiveness
-The project was managed with an Agile SCRUM methodology. I assisted and at times took over the position of SCRUM Master
-Implemented the menu using the support v7 Navigation Drawer with multiple options
-Constructed a layout following Material Design Guidelines and using various views and layouts, coordinator layout, image views, text views, etc.
-Participated in architecture, design, implementation and launch.
-Proposed a front-end architecture using the MVP Model design pattern.
-Implemented Android Support Library for backwards compatibility.
-Used Google Cloud Messaging for push notification and user set alerts of inventory changes.
-Used Jenkins continuous integration and Espresso for automated testing.
-Migrated some modules from Java to Kotlin.
-Tested out migration from MVP to MVVM.
-Acted as direct interface with client and participate in overall development activities including requirements elaboration, design, and coding.
-Performed peer reviews on colleague’s code to ensure consistent standards.
-Used SharedPreferences to provide consistency with key-value pairs.
-Provided the app with functionality that enables location awareness with Google Play Services
-Used Localytics to find issues, get stats and improve performance.
-Mentored junior developer on best practices for coding.
-Added Retrofit to consume RESTful web services to parse realtime-data and new items.
-Consumed web services to display user history on the user interface.
-Led Android development and worked closely with cross-functional teams of web development and remote contractors encompassing a variety of Android specialties.
-Established the coding standards to be used in the Android development.
-Crashlytics used for testing and various Fabric tool employed.
-Used Google ZXing for scanning car stickers.
-Dagger 2 and Butter Knife used for dependency injection and decoupling.
April 2016 – April 2018
Android Mobile Developer • DirecTV
El Segundo, CA
I was brought on project to assist with the overall workload, was responsible for maintaining this scheduling app as well as reviewing code, finding and fixing bugs and tracking all work in JIRA. DirecTV DCV Scheduler
-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
December 2013 – April 2016
Junior Android Developer • RMC Integration
Internal Android App
-Native Android Development and Android Testing
-Worked in an agile development team of three programmers
-Created the Android interface to Dacor's Discovery IQ Oven
-Strict deadlines met for the Dacor project.
-Used support libraries to ensure backward compatibility with older Android versions.
-Supported multiple screen resolutions to provide proper resizing across multiple devices.
-Attended daily SCRUM meetings to track app development progress.
-Identified bugs on the previous version improving the performance on the Android Life Cycle
-Added the Parcelable interface for marshaling and unmarshalling setter and getter classes
-Independently design and develop native mobile applications for Android platforms according to specifications from design team or clients.
-Implemented Crashlytics to bug and app crashes reporting
-Configured a JIRA instance to handle mass ticketing and bug tracking.
-Used fragments and tabs to improve the navigation user experience
-Parsed JSON files, objects, and arrays using a third-party converter included in the Retrofit documentation.
-Utilized Eclipse IDE to implement the application.
-Helped IT with backups and installation of software updates
-Included support for animating rotation, translation, alpha, and scaling using NineOldAndroids
-Implemented Mixpanel to make push notification easy.
-8+ Years Android Development
-4 Android Apps published in the Google Play Store.