Professional Documents
Culture Documents
Fernando Rojas - Android Application Developer - Royal Cyber
Fernando Rojas - Android Application Developer - Royal Cyber
Technical Skills:
Programming Languages: Kotlin, Java, C#, C/C++
Development IDEs: Android Studio, Visual Studio, VS Code, NetBeans, Eclipse
Debug/Testing/Performance Frameworks: JUnit, Espresso, Hugo, Robotium, Mockito, Leak Canary, Bluetooth
BLE
Version Control: Git, GitHub, GitLab, TFS
Analytics: Crashlytics, Google Analytics, Mix panel
Networking/Web Services: REST, JSON, Retrofit, GSON, Ok HTTP, WebAPI2, Volley
Events: Event Bus, Otto
Threading: Rx Java, Intent Services, Handlers, Job Scheduler, Coroutines
Payment Processing: Braintree SDK, Papal, Stripe
Dependency Injection: Hilt, Dagger2, Android Annotations.
Messaging: Urban Airship, Google Cloud Messaging
Databases: SQLite, Room Database, Firebase Realtime DB, MySQL, MS SQL.
Security: AES/Cipher, Spongy Castle
UI/UX: Material Design, Material Dialogs, Calligraphy, Exo Player, Video View, Chromecast, Push Notifications
Architecture Design Patterns: MVVM, MVP, MVC, CLEAN
Design Patterns and Practices: Adapter, Factory, Builder, Singleton, Extension Function, Data Class, Handler,
Parceler
Project Management: JIRA, Sketch, MP Android Chart
Software Development Methodologies: Agile, Scrum, Waterfall
Continuous Integration: Circle-CI, Jenkins, NDK, Firebase
Professional Summary:
Responsibilities:
o Incorporated Stripe Billing APIs for efficient invoice and recurring payment management, creating fixed-price
subscriptions using Elements.
o Enhanced the Target Shopping app's functionality by integrating a camera card scanner for swift credit card
addition and streamlined checkout.
o Implemented push notifications to promptly notify users about the start and conclusion of sales.
o Contributed to a large codebase with an MVVM Architecture Design pattern, employing Flowable and data binding
connections.
o Executed a successful migration from Java to Kotlin, incorporating null safety checks, higher order functions,
extension functions, and coroutines support.
o Proficient with Android tools like Android Studio, Git, Gradle, MAT, GDB etc.
o Applied MVVM data binding to reduce boilerplate code, implementing Custom Attribute and Custom View.
o Established observable data patterns using JetPack LiveData for server data observability.
o Engaged in thorough code reviews and actively participated in collaborative development through pair
programming. Implemented the Repository pattern to abstract connections between local databases and remote
endpoints.
o Developed abstract classes defining common behavior and utilized KTX plugin's extension functions for
consolidation. Debugged network calls using tools like Postman, Swagger, and Charles Proxy API to ensure correct
data consumption.
o Integrated new features in Kotlin and transformed existing Java classes.
o Employed Android SDK and Charles Proxy for issue detection and feedback.
o Efficiently managed long-running tasks using Coroutines and Schedulers.
o Integrated Google Maps functionality and ensured secure data handling by encrypting and decrypting shared
preference data with the AndroidX Security Library.
Responsibilities:
o Orchestrated a team of 5 members in the Android department, operating within the SCRUM framework, utilizing
weekly sprints that involved crafting unit tests, test automation, and closely collaborating with quality assurance
teams.
o Implemented robust security measures, including biometric authentication, SSL pinning, and encryption
algorithms, to safeguard sensitive financial data.
o Efficiently integrated the Flow API with Kotlin coroutines for streamlined management of data streams,
incorporating various Flow operators for data manipulation and exception handling, and seamlessly merging
multiple Flows within a well-organized architecture.
o Autonomously created and improved the 'Check Account' feature, utilizing MVVM architecture, Dagger2, and TDD
for an efficient and dependable implementation.
o Incorporated Jetpack Crypto, CWAC SQL Cipher, SafetyNet Attestation API, and SafetyNet reCAPTCHA API to fortify
the app against malicious traffic and assess device integrity.
o Created a function for accessing an Encrypted File, akin to accessing Encrypted Shared Preferences, prioritizing
security.
o Implemented Dagger Hilt in the Application, utilizing modules to specify how to provide certain types,
incorporating multiple bindings to the same type with qualifiers, and employing @EntryPoint to access containers
from classes that Hilt doesn't inherently support.
o Experienced in Build Automation systems like Gradle, ANT and Maven.
o Played a key role in the major Kotlin codebase refactoring, reporting directly to the lead, and maintaining ongoing
communication with backend teams and product owners.
o Devised and tested a Custom Proxy tool for diagnosing connections to the Bank's Payment Services.
o Integrated Google Play billing service for Premium upgrades, unlocking an additional spending insight monitoring
tool.
o Implemented data modeling using the Firebase real-time database engine, Firebase notifications, and Firebase
Crash Reporting API.
o Revamped the login component to incorporate an OTP generation algorithm with Google authenticator and
biometric authentication with the Biometric Prompt API.
o Enforced password complexity and safeguarded credentials through cryptographic measures, utilizing salt
protection and storing data using PBKDF2.
o Migrated the existing Urban Airship implementation to Firebase to manage notifications and silent push messages.
o Collaborated on the design and development of user interaction functionality, facilitating communication between
the user and the server through RESTful web services and JSON parsing.
o Leveraged continuous integration tools such as Jenkins and Travis CI for automated builds and testing procedures,
ensuring a smooth development workflow.
o Actively engaged in code review strategies to establish best practices and enforce code quality for new and junior
developers.
Responsibilities:
o Spearheaded the development of the Hollister Co. app, building all features from scratch using the latest Jetpack
tech stack.
o Managed the migration of code from MVP to Google Architecture components, replacing Presenter
implementation classes with ViewModel and making necessary modifications.
o Executed essential tasks such as adding TDD test cases for ViewModel and repository using Mockito and Mockk,
performing Automated UI tests using Espresso, incorporating Bitrise CI server, integrating Firebase Remote Config
for dynamic UI changes, and enabling Push notifications.
o Established the app's infrastructure using the MVVM architectural pattern and components, with each module
possessing its own View Model and sharing two repositories (Authenticated and Non-Authenticated Repositories).
o Developed the camera feature to capture and import images of clothes, leveraging the Camera2 API for efficient
and high-quality image processing.
o Implemented colour search feature, employing OpenCV for advanced computer vision algorithms to scan and
match colours.
o Contributed to calendar feature that facilitates outfit planning for each day, seamlessly integrating the Google
Calendar API.
o This app also offers product browsing, personalized recommendations, in-app purchases, and seamless order
management for customers.
o Engineered the statistics feature, providing insights into users' clothing habits and preferences, with efficient data
management utilizing SQLite and Room database.
o Implemented the backup and sync feature, utilizing the Google Drive API for secure and automatic data storage
and retrieval.
o Contributed to the shopping integration feature, enabling users to search and shop online, using Retrofit and Glide
libraries for expedient network calls and image loading.
o Integrated editing tools that enable users to crop, rotate, and remove backgrounds from images, employing the
latest image processing libraries and algorithms for enhanced editing capabilities.
o Developed the packing feature that automatically adds clothes from outfits to a packing list, utilizing cutting-edge
data processing algorithms.
o Implemented the category and sub-category organization feature, employing custom views and animations to
ensure a streamlined and intuitive user interface.
o Contributed to the notes and details feature, allowing users to add descriptions and metadata to clothing items,
incorporating custom dialog and input views for enhanced user experience.
o Developed the search feature, enabling users to find clothes based on various parameters such as category, color,
season, size, brand, and fabric, using advanced search algorithms and filters.
o Implemented the sharing feature, enabling users to share outfits seamlessly on social media platforms, leveraging
the Android Share Intent API for effortless sharing functionality.
Responsibilities:
o Utilized ReactiveX libraries like RxJava and RxAndroid to implement reactive programming techniques, employing
various operators for sequence manipulation and meticulous execution management with Schedulers.
o Engineered innovative and impactful features for Android applications, utilizing Java and Kotlin to deliver high-
quality solutions that consistently met or exceeded client expectations.
o Enhanced application performance by converting existing Java code to Kotlin, thereby optimizing code readability
and maintainability.
o Transitioned from the traditional MVC pattern to modern Architecture Components—LiveData, ViewModel, and
Room—to enhance app robustness and scalability.
o Developed a user-centric home screen widget for live video streaming, elevating usability.
o Engineered Video Upload Services for enhanced geo-aware capabilities, enabling video retrieval, updates, and user
activity detection.
o Maintained a hybrid codebase by integrating Java-based legacy code with KTX Android Plugin for seamless feature
integration and backward compatibility.
o Configured Google Cloud Messaging for real-time delivery of push notifications, including live severe weather
alerts.
o Utilized Dagger Dependency Injection to optimize code stability and interaction between legacy and new layers.
o Introduced custom and compound views for improved data visualization.
o Implemented runtime permission management for secure user location data access, facilitating personalized local
video streaming updates.
o Managed XML data parsing from various APIs to ensure accurate processing and presentation.
o Addressed synchronization, asynchronous API challenges, and offline feature enhancements for continual app
functionality and user experience improvements.
Responsibilities:
o Collaborated within a 5-member team, engaging in Scrums and Sprints to facilitate efficient project management
and timely milestone delivery.
o Enhanced overall application performance by enabling features such as history checks, loading Evault body scans,
adding workouts, and syncing Fitbit devices.
o Worked together with remote peers, managing work schedules and time zones, implementing secure information
management with Android Keychain.
o Developed a robust and scalable application using the MVVM architecture, ensuring a sound design.
o Actively participated as a key member of a Dev Team, implementing Agile methodologies for streamlined
development processes.
o Adhered to modified material design guidelines based on internal standards for a consistent and user-friendly
interface. Utilized various third-party libraries, including Dagger, Retrofit, Robolectric, and Picasso, enhancing app
functionality and performance.
o Implemented Android Architecture Components, integrating LiveData, ViewModel, and Room as the SQLite
database to efficiently cache app data and enhance the user experience.
o Customized the app's UI with CustomViews, elevating the user interface and overall visual appeal.
o Employed RxAndroid, and RxBinding libraries for multi-threaded and synchronous operations.
o Managed unit creation and testing with Espresso and Mockito, ensuring comprehensive and reliable functionality.
o Resolved issues related to Bluetooth settings, network connectivity, Wi-Fi Multicast reception, and Wi-Fi
connection/disconnection.
Responsibilities:
o Restructured the code base, transitioning from MVP architecture to MVVM architecture to improve the app's
design and scalability.
o Configured the log-in feature, enabling multiple sign-in options, and leveraging the device's fingerprint
authentication feature to enhance security and user convenience.
o Generated push notifications from the Firebase console and meticulously debugged messages received from the
Firebase console to ensure seamless communication.
o Effectively debugged using logcat/DDMS, Crashlytics for crash reports, and Charles Proxy/Splunk for network-
related issues, ensuring a smooth and error-free app performance.
o Enhanced adaptive video streams and customized the behaviour of ExoPlayer's PlayerControlView to provide an
enhanced playback controller experience for users.
o Assisted the web team with both automatic and manual QA, aiding in the creation of Cucumber/Ruby tests for
both web and Android platforms.
o Employed the Android Plot API in various instances to visualize multiple data sets from the server, enhancing data
analysis and presentation.
o Transformed fragments into CustomViews to simplify the handling of multiple callbacks and facilitate the reuse of
layouts across multiple screens.
o Utilized Git and Bitbucket for effective code management across various segments of the Android project, ensuring
streamlined collaboration and version control.
o Made valuable contributions as part of a diverse team of engineers working collaboratively in cross-functional
teams, including QA and Product Management, ensuring a holistic approach to project development.
o Implemented the necessary configurations to make devices discoverable using Bluetooth BLE, enhancing device
connectivity and functionality.
o Leveraged various tools and frameworks including Dependency Injection with Dagger, Reactive and functional
programming (Rx, Coroutines, Flow, etc.), Retrofit, and LiveData to optimize app performance and development
efficiency.
o Applied robust mobile security practices such as Obfuscation, Encryption, SSL, Certification Pinning, and Tokens,
ensuring the protection of sensitive data and enhancing overall app security.
Educational Background:
o Engineering Degree in integration technology and Digital Animation.
o Universidad del Valle De Mexico, bachelor’s in technology.