Post Job Free
Sign in

Edward Santiesteban - Android Developer

Location:
Charlotte, NC
Salary:
95
Posted:
August 28, 2020

Contact this candidate

Resume:

Professional Profile

** ***** ******* ***********

** ***** ******* ** *** IT field.

* ********* **** ** *** Google Play Store

Solid understanding of data models and data access architecture and optimization.

Experience with embedded local storage solutions such as SQLite.

Experience developing highly efficient Java code and view layouts and the ability to diagnose performance bottleneck.

Experience with Android performance profiling, memory and power management and optimizations.

Coordinate team of software engineers to complete required tasks.

Experience developing mobile to cloud and mobile to embedded device communications

Design, develop, and document application and framework code in Java and other object-oriented programming languages.

Implemented the RESTful data consumption using Retrofit with an OkHttp client, GSON and Jackson converters and a custom interceptor.

Comfortable providing mentorship and training Junior developers.

Designed various applications using optimal architectural design patterns such as Model View Controller (MVC), Model View Presenter (MVP), Model View ViewModel (MVVM).

Efficiently consumed and managed RESTful web services with XML and JSON formats.

Requirement gathering specialist and mobile architecture documentation specialist Proficient in integrating external APIs such as Facebook, Instagram, Twitter, LinkedIn, PayPal, Google Maps and Google Charts, YouTube.

Knowledgeable of the latest analytics tools for mobile applications such as Google Analytics, Localytics, Mixpanel, Answers, Flurry, Crashlytics, NewRelic, etc.

Google Play Store certified publisher, building ASO campaigns and keyword lookups.

Collaborated with Jelly Bean, KitKat, Lollipop, Marshmallow and Nougat with material design and latest features.

Excellent in modeling and translating business models and requirements to use cases and diagrams.

Experience in the use several version control tools (Subversion SVN, Source Safe VSS, GIT, GitHub).

Familiar with Java patterns: Singleton, Facade, Command, Builder, Integrator, Visitor, Proxy, . .

Technical Summary

Android

Espresso, SOAP, Firebase, Google Cloud Messaging, OkHTTP, Glide, Urban Airship, Stetho, Android Studio, ExoPlayer, EventBus, Dependency Injection, Answers, Fragments, MVP, Ionic, Support Libraries, Volley, MVVM, Gradle, MediaPlayer, Certificate Pinning, GreenDAO, Retrofit, JIRA, GreenDAO, Git, JobScheduler, Jenkins, JUnit, Loaders, PushBots, Location Services, Moshi, Robotium, SQLCipher, Logger, REST, Picasso, Android Wear, Dagger, Flurry, RxJava, GSON, Push Notifications, LeakCanary, Google Places, Subversion, Butter Knife, Sugar, ORMLite, Services

Tools

SQL Server, Requirement gathering, C, DB2, JSF 2.0, MySQL, Apache Tomcat, WebSphere, MyBatis, ASP.NET, Oracle, Web Services, iReports, Maven, JavaScript, Analysis, Proxy config, Ubuntu Server, Spring, C#, JSP, Database design, JasperReports, Visual Basic .NET

Professional Experience

American Airlines, LLC

Senior Mobile Android Engineer (January 2018 – Present). Fort Worth, TX

American Airlines App:

https://play.google.com/store/apps/details?id=com.aa.android

Responsible for in automated process to identify and notify customers that are subject to an overbooked flight, providing them with alternatives (flight options) so they can proactively change their flight receiving in exchange an electronic voucher. Worked on automating process to identify and allow customers to bid on the amount the customer will be willing to receive in order to change its flight.

Android Feature – Created Alternate Flights Activity, consuming a REST service using RxJava to present the user with flight options, and connecting with the current confirmation flow.

Android Feature – Introduced the creation of a generic banner to be able to display different messages on the home and flight status screen, as wells as using it as the entry point for showing different user flows.

Android Feature – Introduced the Auction offer into the Checking flow as an MVP project to let users bid offers for changing its flights.

Spring Microservices – Collaborated on the creation of a Solicitation microservice, its main purpose was to have an automated tool to identify and notify customers on overbooked flights

Spring Microservices – Collaborated on the creation of a microservice, that performed the as the entry point for eligibility calls, so we were able to decide which product to present to the customer

Angular Features – Worked on the entire denied boarding flow from the alternate flights page to the confirmation page, creating end to end, integration and unit tests to validate the correctness of the flow.

Automation – Worked on the creation of a Reservation Automated Generation, providing REST endpoints for the different flight scenarios creation, facilitating the implementation of end to end tests.

Data Management – Designed DB Indexes on our Json Data improving the speed of our queries, so we were able to display updated data in our Metabase dashboard.

Java Backend – Created different eligibility rules to allow or denied access to the customer depending on its reservation scenario.

Java Backend – Created internal notifications that were issued via either email or slack, triggered by different error scenarios so the team was able to capture it and provide a fix.

Maintenance – Updated Certificates on all different environments in order to complain with the internal security protocols when calling internal services.

CI / CD – Created several utility methods to be able to login, deploy and test, and make them available on a repo so all our automated pipelines could use it.

CI / CD – Created a couple of docker images and made it available through Artifactory so we were able to use it on the different steps across our pipelines.

Cloud services – Created and update user provided services, so we were able to replace values on our YML application file, depending on the environment.

Analytics – Created different Splunk reports so we could provide our Project Owner with an email containing the necessary data to make decisions and tweak our apps.

Analytics – Worked on the creation of different Metabase dashboards so we could have a main point of reference for all our collected data across our apps.

Worked on Accessibility points for the Android and Web application to make the page navigable as well as to provide text to be read in case the user required it.

Added several translations to our Web application, helping customers accessing from other countries and providing them with a customized experience.

Security – Used Coverity in order to find vulnerabilities in our source code, fixed the issues founded on the generated report.

Android Maintenance – Migrated from Java code to Kotlin on our current flows, generated internal submodule for better code organization.

Wells Fargo, LLC

Senior Android Engineer (April2017 – December 2017). San Francisco, CA

Wells Fargo Greenhouse App:

https://play.google.com/store/apps/details?id=com.wellsfargo.greenhouse

Responsible for architecture and planning of the app as well as implementation, testing and deployment, TheWells Fargo Greenhouse application is a cutting-edge banking experience, and financial planning tool for customers. Customers are able to open and setup accounts without the need to visit the bank. The tool is divided into 2 sub-accounts (Expense and Spend) in which you can create and manage envelopes, estimate a spend target and shuffle allocations.

Built automated test suits for Android using Espresso.

Performed daily code reviews with the Android development team.

Created custom views to provide graphical information to the user.

Implementation of the MVVM architecture to make use of the latest Android Data Binding implementation.

Creation of asynchronous API calls using RxJava with RxAndroid for multithreading.

Provided object creation and injection using Dagger as a inversion of control tool

Managed the Android mobile app code integration using Git as a version controller.

Implemented Constraint Layouts to improve the layout performance and increase the UI layouts readability.

Implemented communication of components (Activities, Fragments and View Model) using RxJava operators.

Gathered app requirements along with the Business Analytics (BA) team

Implementation of the Adapter design patterns to manage view pagers in the UX.

Built several Custom Binding Adapters to manage different attributes custom binding logics.

Creation of several Dagger modules to provide object creation in the Android app.

Created Dagger components and subcomponents to inject the needed dependencies into different Android app fragments, view models and components.

Implementation of base fragments to increase the speed and promote code reuse in the Android code base.

Produced several view models to expose relevant data and method listeners to each Android view.

Implementation of a daily task screen on the Android UI to have a single point of access for the different user functionalities, thus improving UX.

Introduced the new Android O feature to provide a custom font for the whole application.

Creation of instrumented unit tests using JUnit and Mockito.

Third Party Libraries Used: Dagger, GSON, JUnit, LeakCanary, Mockito, OkHttp, Picasso, Retrofit, RxJava, Databinding, Timber, ConstraintLayout, Espresso, Lint,

Tools Used: Raml, Sketch, Android Studio, GitHub, JIRA, Confluence, Agile/SCRUM

Domino’s Pizza, LLC

Senior Android Engineer (Oct2016 – April 2017). Ann Arbor, MI

https://play.google.com/store/apps/details?id=com.dominospizza&hl=en

Responsible for implementing new features in existing mobile applications, and developing new complex mobile applications from top to bottom (user interface design, application design, implementation, unit and functional testing, deployment to customers)

Implemented new features in existing mobile e-Commerce applications.

Created engaging, creative experiences through extensive knowledge of the development platforms

Developed complex applications from top to bottom (user interface design, application design, implementation, unit functional testing, deployment to customers).

Optimized the size and performance of mobile applications and frameworks.

Estimated the duration of design, development, and testing tasks.

Supported existing production mobile applications.

Generate automated unit & function tests.

Technologies:Android Studio 2.2, Gradle 1.9, Confluence, JIRA, BitBucket, Otto1.3.5, Nexus, Espresso 2.2.1, Mockito 1.9.5, Junit 4.12, Play Services 8.4.0, AppBoy 1.13.5, Ford SyncV4 2.3, Picasso 2.5.2

Dropbox

Senior Android Engineer (Jan 2015 – Sept 2016). San Francisco, CA

https://play.google.com/store/apps/details?id=com.dropbox.android

https://play.google.com/store/apps/details?id=com.dropbox.paper

Interact very closely with both the Product and the Design teams.

Add Universal Image Loader to Improved Image loading.

Used the Fragment capabilities to handle multiport views and different screen size devices.

Created compound and custom UI components to improve the user experience.

Worked with LRU Cache to increase the performance of ListView scrolling.

Trained and mentored new team members on the team in coding best practices, like memory management, network consumption.

Experience building high volume consuming facing applications at massive scale.

Utilized Git as version control tool as source control management system.

Used AsyncTasks hosted in Fragments to handle the network information lookup.

Retrofitted four legacy list views to the new RecyclerView / CardView combination, obtaining all the performance benefits.

Managed the build creation with a Jenkins instance hosted on a private server.

Deep understanding of the Android SDK and Android devices.

Implemented Google Analytics and Flurry for app analytics purposes.

Integrated Offline support offers you have on hand when you have no signal.

Assisted to the team meetings for designing the graphic User Interface & implementation of the app, according to Android Design Guidelines.

Used the location API, Maps View, and Google Maps.

Created robust automated unit/functional test suites and deployment scripts.

Worked with Dagger for dependency injection to develop clean, maintainable code.

Implemented Otto library to decouple different parts of the application.

Used Leak Canary to find memory leaks, optimize and improve the performance.

Integrated payment methods such as Android Pay, Visa API, MasterCard API.

Integrated Android Wear compatibility for user notifications with voice control.

Implemented LeakCanary to detect memory leaks in early debugging and production builds.

Added Retrofit to consume RESTful web services to parse realtime-data and new items.

Conducted regular 1-on-1s with team members to provide career and technical mentorship.

Kinetic Farm

Senior Android Engineer (Apr 2014 - Jan 2015). San Francisco, CA

https://play.google.com/store/apps/details?id=com.kineticfarm.orderahead

Was the owner of the central Git repository for our team.

Used JIRA as the issue tracking tool.

Solid relational DBMS skills using MySQL, PostgreSQL or other DBMS products.

Worked closely with the Android and iOS development teams for the web service API definition.

Worked closely with the UI/UX team for the new colors, shapes and style combinations.

A firm understanding of building mobile applications that utilize web services (REST, HTTP-based, XML, SOAP, JSON or other services).

Utilized the Picasso library for image downloading, caching and rendering to UI.

Developed several Compound Views and Custom Views.

Mentored junior Android Java developers during the application building process.

Utilized SQLite to store the latest alert feeds for offline access.

Continuously research, test, and implement new techniques, frameworks, and utilities.

Designated programming tasks to the team members, making sure that all developers were familiar with the main modules.

Wrote technical specifications and maintained all reports regarding the application development process.

Ability to diagnose and solve mobile networking performance issues.

Worked with Volley to consume REST API Web Services.

Widely applied design patterns such as MVC, Observer, Singleton and Dependency Injection.

Did the Testing (Junit) of the new version to solve common debugging problems.

Used Subversion repositories to have the software in a version control environment.

Familiarity with agile/iterative development methodologies (XP, SCRUM, etc.).

Performed debugging on code that uses implicit intents to access available camera activities.

Worked with the UI/UX team for the new app skin redesign.

Test Driven Development methodology to ensure every method was properly done and tested

In charge of ensuring compliance with Material Design and material design technologies including widgets and libraries.

Created custom views to present data as it was needed.

Added Broadcast Receiver logic to listen for events that can trigger a local database update.

Costco

Senior Android Engineer (Nov 2013 - Apr 2014). Issaquah, WA

https://play.google.com/store/apps/details?id=com.costco.app.android

Built the UI/UX implementing Fragments, RecyclerView and Card View UI components.

Guide decisions on architecture and technical strategy.

Integrated Retrofit to consume RESTful web services (GET, POST, DELETE, PUT)

Added Tapjoy ad browser to help monetize the game.

Included GPS, Google Maps, and Places.

Designed layouts based on the Material Design guidelines using RecyclerViews, CoordinatorLayouts, DrawerLayouts, CardViews, Custom toolbars and generated icons.

Worked with ORMLite interfacing with SQLite on the local database.

Mentored three junior programmers familiarizing them with our App structure and code.

Fixed bugs that I came across during the different stages of the development, and after the deployment.

Added horizontal-panel layouts with ViewPagerIndicator.

Clarity, conciseness, and persuasiveness in written and verbal communication.

Wrote the high-level designs and detail design for this app.

Able to develop efficient and maintainable code with the right balance between solving the problem at hand and not over-engineering your solution.

Developed and worked with a mock web service with Java on Tomcat and SQL Server as a database to avoid the back end team dependency while the production web services were under development.

Re-skinned the application using the material design guidelines including ListViews for RecyclerViews replacements.

Implemented HTTP client (GET, POST, DELETE, PUT) to consume RESTful web services

Ensure effectiveness of SCRUM related meetings (planning, retrospective) and discussions.

Made use of communication between standard data between apps over network requests using Retrofit.

Road mapped deadlines/goals and tracked the progress of the project.

Implemented Google Maps for geolocation purposes.

Created custom and compound views to preserve the general look and feel specified by the client.

The program was developed in Java using the Eclipse IDE and the Android Development Tool (ADT).

Willingness to spend time testing minute details, especially with user interaction points.

Implemented Push Notifications to notify the users when there is a new price update.

Created architecture documentation such as requirements, high-level design.

Morgan Stanley

Senior Android Engineer (Mar 2012 - Nov 2013). New York City, NY

https://play.google.com/store/apps/details?id=com.morganstanley.clientmobile.prod

https://play.google.com/store/apps/details?id=com.ms.android.msresearch

Created Widgets to help customers manage the launcher.

Added extra functionality to the app such as Comment and vote deals, share offers (directly from the app or with notifications).

Implemented New Relic to record custom metrics and networking.

Use of GIT for source control management and continuous integration with Travis.

Used native and third party technologies to optimize the app functionality including Eclipse, NetBeans, Java, Custom Views, Web Services, JSON, Flurry, Universal Image Loader, SQLite, Fragments, Java Jersey Web Services, Tomcat, Hibernate, Hudson, SVN.

Track record of leading productive engineering teams.

Implemented Fragment retention for the AsyncTask operations.

Reviewed the coding in the previous version of the app for version upgrade.

Wrote code to interact with the RESTful service server, as well as serializing the returned code into POJOs via the GSON library.

Configured Git and Bitbucket servers as the software version control tools.

Solid understanding of the full mobile development life cycle.

Worked closely with the back end team to implement the electronic payment capabilities.

Tied mobile client applications to critical server-side APIs.

Stored data of the task bonuses in SQLite.

Built a custom lock screen widget for allowing the user stop, play and forward music.

Management of network requests to load the application data with the conversion of JSON to Models on different services.

Applied Crashlytics to bug and app crashes reporting.

Testing: Unit-test code for robustness, including edge cases, usability, and general reliability using Espresso and Robotium.

Provided regular feedback to the VP of Engineering on improvements to the Android team and the Engineering team as a whole.

Used symmetric encryption for communication between contacts.

Worked with SCRUM methodology to have a prototype to show every two weeks

Integrated AppsFlyer to track application campaigns and app metrics.

Regularly provide constructive feedback to team members so they can continuously grow individually.

Improved the bit rate over network changes with the Connectivity Manager.

Incorporated the communication between the application and the other Android applications backed by the customer.

Genuine Parts Company

Android Engineer (Nov 2010 - Mar 2012). Atlanta, GA

https://play.google.com/store/apps/details?id=com.napaonline.napaknowhow

https://play.google.com/store/apps/details?id=com.dstudios.napa

https://play.google.com/store/apps/details?id=com.napa.tracs

Created instances of SyncAdapters, Content Providers, and Loaders to update the User Interface on every data change on the server side.

Contributed to the technical documentation for multiple corporate applications.

Used YouTube Android Player API to incorporate videos.

Use of SVN for source control management and continuous integration with Hudson.

Implemented new features on the application using design patterns MVC & MVP.

Incorporated Push Notification with MixPanel for sending messages to the users.

Familiarity with the Android tool ecosystem for development, testing, debugging, and performance benchmarking.

Cultivate an environment of excellence, through code design, code reviews.

Supervised the task reporting of all the team members.

Added selectors and animation effects on UI/UX elements to enhance the User Experience.

Attended the SCRUM meeting to keep track of the current sprint.

Created several compound views to match the UI provided by the UI team.

Assisted programmers on work with internal enterprise software.

Guide the integration into dozens of APIs successfully with highly performant/critical integrations.

Maintained technical documentation of each project.

Actively involved in the team meetings, ensuring the application had good performance.

Configured multiple analytic tools to get valuable information on a post-install state: Crashlytics, Mixpanel, Flurry, Answers.

Consumed web services with a Volley client to retrieve the information of customizable APIs.

Monitored, triaged and assessed the Android app's performance, bugs, and defects.

Build new features to enhance the UX for consumers.

Avon

Senior Software Developer (Feb 2010 - Nov 2010). New York City, NY

Used JIRA as a bug tracking and task delegating tool.

Tracking different types of events in the games to detect bugs and areas of opportunity.

Maintained a standalone desktop application to manage digital documentation.

Generated background checks to verify users’ identity and improve the security of the system.

Utilized JavaScript, jQuery, and HTML5 to respond with the backend server.

Computer program projects analysis and development.

Developed web and client/server applications using C#, Oracle and Entity Framework.

Acted as the Mobile Software Architect for multiple internal and consumer facing iOS and Android applications.

Analyzed client needs to create multiple alternatives with a software-driven approach

Volkswagen

Senior Software Developer (Oct 2008 - Feb 2010). Mexico City, Mexico

Created website front end and templates using HTML and CSS

Used PHP to connection to the MySQL database

Documented integrations with internal and external services.

Contributed diligently in thorough code reviews to achieve high-quality code.

Worked with other development teams on platform integration strategies.

Worked with various groups to coordinate mobile application development, including Enterprise Architecture, Information Security, and the business.

Performed requirement gathering sessions to clarify and start up with the development process.

Created a new system to control de versions of a different process as a precursor of Subversion.

Tracking different types of events in the games to detect bugs and areas of opportunity.

Education

BUAP

Bachelor of Computer Science

Certifications

Oracle Certified Professional, Java SE 6 Programmer

Oracle

Java EE 6 WebComponent

Developer Certified Expert Exam



Contact this candidate