Hernan Ceillan
Hernan Ezequiel Ceillan - Android Developer
Skokie, IL 60076
******.******@*****.***
Development
Continuously research, test, and implement new techniques, frameworks, and utilities, and apply to Android development.
Strive to improve and learn on each project and stay current with changing trends and developments in the technology.
Experience using GIT/GitHub for Source Control.
Ability to contribute to design, architecture and technical strategy.
Experience with web related technologies, including JavaScript, HTML 4/5, AJAX, JSON, XML.
Applies 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.
Designed the schema for and deployed SQL and MySQL servers.
Created the initial setup of multiple continuous integration servers to help the build creation process
(Travis, Jenkins, Circle-CI).
Participated in all phases of the Android development life cycle (Planning, Analysis, Design, Develop, Documentation, Test, Deployment, Hypercare)
Android
Experience with Android SDK versions 5 and above.
Good knowledge OS fundamentals with the ability to apply it in the context of modern operating systems (Linux, OS X, Windows Server 2008/2012).
Strong understanding of the Android framework, best practices, and design patterns.
Experience with Android performance tuning and crash reporting applications.
A firm understanding of building mobile applications that utilize web services (REST, HTTP-based, XML, SOAP, JSON or other services).
Able to optimize the technical architecture and technical debt of the Android app.
Created logins, embedded tweets using the Twitter API.
Passionate about best Android design and general UI/UX best practices.
In Android skilled with implementing fragments, diverse layouts, animations, Material Design, Compound Views and Custom Views.
Strong knowledge in Android multithreading frameworks: AsyncTaks, IntentServices, Handlers, Threads, Runnables, Loopers.
Principles, handlers, and Java threading to match the provided specifications and needs of the Android project.
Performed Espresso, JUnit, Mockito and simulated design patterns in Android to test and develop applications.
Managed the implementation of dependency injection in Android with Dagger to sped up the unit testing process.
Use of multiple MBaaS (Mobile Backend as a service) and cloud integration tools like Parse, Firebase, Google Cloud Services, Amazon Web Services.
Able to architect the creation and the consumption of Web Services targeted to be used by millions in Android.
Research
Ability to ask the right questions, provide feedback to stakeholders, break down tasks, and create a plan to achieve the intended result.
Pro-active fast learner, self-motivated, proficient in programming logic and easily adaptable to new technologies.
Self-motivated, always enjoying a good challenge and thriving under pressure.
Exceptional communication, project management, and organizational skills with the ability to build positive relationships with boards and stakeholders, senior executives, all levels of staff, and clients. Willing to relocate: Anywhere
Authorized to work in the US for any employer
Work Experience
Senior Android Engineer
Rand McNally - Skokie, IL
September 2019 to Present
This Android app provides a bridge between the Android device and any other device on the same network. By way of the bridge, the app also provides control and data access to other applications on the device.
The IVI demo features a touch screen dashboard that provides communication and entertainment functionality through its interface. The dashboard will use applications from an Android device for its functionality, and we provided a bridge between the two.
Built the iviBridge and complimentary media player app using Android Studio.
Managed continuous integration using Git and remote repositories on BitBucket.
Utilized broadcast receivers to send data and commands between applications.
Used Suspend Functions with Kotlin Coroutines to pass information between Classes at key points in specific processes.
Used GSON and MOSHI to serialize information passed along a network, two different serialization implementations to allow for adaptability in responding to changing requirements.
Used JobIntents library to implement network communication structure that features two-way communication between the client and server.
Programmatically injected captured touch events from another device using MotionEvents.
Created a stand-alone foreground sticky service that sends and receives broadcasts, messages across plain network sockets, accesses shared preferences and Room SQLite databases.
Created several activities to act as a test server for sending commands to the client device and displaying the data retrieved.
Created JIRA issues and assigned them to other developers.
Implemented a custom network protocol that features a specific byte combination structure that allows for effective communication between an Android client device and a Linux server.
Developed a complimentary media player application that plays back audio and video files based on incoming and outgoing broadcasts with ExoPlayer.
Utilized multithreading and asynchronous tasks to manage communication between devices and multiple applications simultaneously.
Utilized ADB to access rooted device permissions and manage APK installation.
Held stand up meetings and worked with external team developing dashboard and server functionality for hardware integration.
Troubleshot integration with other team's hardware through Windows command prompt and executable files that mock server functionality.
Corresponded with various managers/stakeholders through email written communication.
Supported team member through paired programming and use of white board concept diagrams.
Completed and provided all deliverables according to schedule, sometimes ahead.
Provided successful demos of the application's features to higher management on many occasions. Senior Android Architect/Engineer
Orbitz - Chicago, IL
June 2018 to September 2019
https://play.google.com/store/apps/details?id=com.orbitz
Used RESTful to communicate with web services and replaced old third-party libraries with more modern and attractive ones.
Collaborated with external teams on modification and improvements to the Android app.
Development of quality code using cutting-edge techniques, tools, and utilities for Android.
Refactored code, updated features, and functionality using Android Studio.
Used RxJava for all web service requests to the Android app.
Contributed with a Hybrid code with 70% Java base code and 30% of Kotlin base code.
Actively worked with the back-end team to improve the RESTful API to include new features for the Android app.
Helped transition the Android app from MVC to MVVM, to achieve a complete separation of concerns, better code reuse, simpler code reuse and a higher percentage of unit tests.
Contributed to the Android project product documentation.
Performed regular Android team code reviews to ensure overall code quality and adherence to company coding standards and industry best practices.
Use of SQLite database schema for persistent data storage for every schedule.
Created prove of concept to replace SqliteOpenHelper implementation wit Room Database.
Participated on the RESTful API definitions for the app. Senior Android Mobile Engineer
HSBC Mobile Banking - New York, NY
May 2017 to June 2018
https://play.google.com/store/apps/details?id=com.htsu.hsbcpersonalbanking
Implemented a WebView to render HTML content from various websites to the Android application interface view.
Performed code reviews to ensure compliance with coding standards and proper use of OOP concepts in the development of the Android app.
Guided the Android testing team in creating small testing suites with JUnit and the Eclipse IDE capabilities.
Configured private GitHub as a code repository for the Android development team.
Added Selectors and Animation effects on Android UI/UX elements to create a dynamic user experience (UX)
Used continuous integration tools like Jenkins or Travis CI and automated testing frameworks such as Espresso.
Scheduled daily SCRUM meeting and documented tasks for follow-up with Android team members.
Kept Android team on deadline on each Sprint.
Utilized Android and third-party frameworks to use the multithreading capabilities of the physical devices: EventBus, IntentServices, Handlers & Loopers, Threads, TheadPools and, RxJava instances.
Made use of Activities and Activities for Result and the RecyclerView to get a better performance of the Android application.
Implemented some animation and transitions from activities to improve User Experience (UX).
Participated on the data modeling upgrade on the device side and the server side.
Helped team members to translate designs and wireframes into high-quality views and code. Zoho Invoice & Time Tracking
Android Mobile Software Engineer
Zoho Corporation - Pleasanton, CA
April 2016 to May 2017
https://play.google.com/store/apps/details?id=com.zoho.invoice
Worked with GSON and Jackson library to parse JSON files on the Android project.
Managed code review sessions to always have high quality (reusable, simple, documented) code.
Supervised development of the Android app by the team and lead requirements definition, design, and reviews of the Android team.
Included Retrofit to make asynchronous HTTP requests.
Use of services to run Java classes for the back work.
Responsible for the requirement gathering for the Android application.
Used the Dalvik Debug Monitor Server (DDMS) for debugging and testing.
Ensured backward compatibility by using Android support libraries.
Implemented messaging with Android Push Notifications and GCM (Google Cloud Messaging).
Guided team in the implementation of Android design patterns (MVC, MVP, MVVM).
Analyzed and defined development hours for requirements split into user stories of UX/UI design.
Established the use of instance handlers for Java threading separated from the user's interface thread.
Peel Smart Remote
Android Mobile Developer
Peel Technologies - Mountain View, CA
March 2015 to April 2016
https://play.google.com/store/apps/details?id=com.peel.smartTV.remote.universal
Use of Explicit and Implicit Intents in Android.
Incorporated Hockey App to distribute beta versions, collect live crash reports, get feedback from real users and analyze test coverage.
Used JSON/GSON to exchange data from Restful Web Services.
Enhanced the user experience by validating first the network state before calling a web service.
Designed custom views and use icons extensively for the layouts improving the Android app user Interface.
Used Loopj for asynchronous callbacks together with the Loading Everywhere library.
Handled Fragment data retention to ensure data integrity in Android on-screen rotation with the onSaveInstanceState and onRestoreInstanceState methods.
Partnered with cross-functional teams to define new product requirements, features, and functionality in the Android app.
Configured Retrofit to parsed JSON objects and improve asynchronous communication with the back- end.
Wrote automated tests (TDD & BDD) with RSpec and Cucumber.
Setup proper interactions of the front-end design and implementation with backend servers.
Implemented Dependency Injection with Dagger 1.
Implemented automated testing with Robolectric to ensure quality commits only with tested code.
Ensured display and on-screen rotation worked well on all devices and screen, ensuring integrity with the onSaveInstanceState and onRestoreInstanceState methods. Junior Android Mobile App Developer
Sears Holdings, Inc - Hoffman Estates, IL
February 2014 to March 2015
https://play.google.com/store/apps/details?id=com.sears.android
Used Eclipse as the primary IDE since it includes all the tools needed to develop, test and deploy the Android application.
Refactored code using Eclipse IDE, to make the code more compact, reusable and improve performance.
Parsed JSON files to obtain data returned from web services.
Implemented Android design patterns such as MVC, MVP, MVVM, Observer, Proxy, Interpreter, and Singleton.
Use of GIT for the source control management on the Android project. Configured a GitHub for the Android project team.
Enhanced the UI/UX with expertise of well-designed UX/UI and by adding custom views and compound views.
Used JIRA as the issue tracking tool on this Android app project.
Employed unit-test code for robustness, including edge cases, usability on the app project.
Collaborated with web design and development team to develop an Android app that interacts smoothly with web content and web services.
Used YouTube Android Player API to incorporate videos into the Android app.
Worked in a team of four developers, one UI/UX front end designer, and one back-end developer.
Consumed the RESTful Web Services using HttpURLConnection.
Tested the Android app, creating small testing suites with JUnit and the Eclipse IDE capabilities.
Handled Fragment data retention to ensure data integrity in Android on-screen rotation with the onSaveInstanceState and onRestoreInstanceState methods. Education
Miami FL Bachelor of Computer Science in Computer Science Florida International University - Miami, FL
June 2011 to December 2016
Skills
• Languages
• Java
• SQL
• C#
• HTML5
• CSS
• XML
• JavaScript/JQuery/Angular
• Sass/SCSS
• Bootstrap
• Javascript
• Photoshop
• Adobe Flash
• PHP
• Databases
• Python
• Database Firebase
• SQLite
• SQL
• MySQL
• Room DB Development Environment
• Git
• GitHub
• SVN
• Jenkins
• Hudson
• Travis CI
• JIRA
• Confluence
• Maven
• Gradle
• LeakCanary
• Slack
• Kanban Architecture/Design Patterns
• MVC
• MVP
• MVVM
• Abstract Factory
• Builder
• Decorator
• Façade
• Proxy
• Adapter Android Development
• Android OS
• Dependency Injection
• GcmNetworkManager
• Push Notifications
• JUnit
• Retrofit
• EventBus
• Otto
• SSL
• Mixpanel
• Mockito
• Material Dialogs
• Google Places
• AsyncTask
• Glide
• ProGuard
• Bluetooth Low Energy
• ButterKnife
• Services
• Google Analytics
• Volley
• RecyclerView Animator
• Spork
• Libphonenumber
• XmlPullParser
• GSON
• CoordinatorLayout
• Multi-Window
• GitHub
• SOAP
• Volley
• JobScheduler
• Content Providers
• Parceler
• SQLCipher
• ZXing
• Cipher
• Maven
• Dagger
• MVC
• RxJava
• Facebook SDK
• Google Custom Search
• Gradle
• FloatingActionButton
• Jackson
• Google Cloud Messaging
• Picasso
• Material Design
• Android-Job
• ORMLite
• Logger
• Handlers
• Android Studio
• Doze Mode
• VideoView
• Espresso
• Parse
• Animations
• Loaders
• Fresco Project Management & Leadership
• Agile Scrum
• Scrum Master
• Team Lead
• Mentor Project Planning
• Managing dependencies
• Gathering Requirements
• External teams, and Managing project tasks, backlog. Misc Development
• Back-end development,
• PHP
• Ruby
• Web development
• Back-end integration (JSON, GSON, REST, SOAP, XML)
• SSH
• LAMP
• MEAN
• CMS