Senior Android Mobile Architect/engineer Resume
New York, NY
SUMMARY
- Conducted business and technical Knowledge Transfer sessions for new recruits.
- Experience with Android JetPack components such as Room, LiveView and LiveData.
- Conducted interviews and contributed to the continuous grow the engineering team.
- Experience with RxJava, RxAndroid and other Reactive - X.
- Configured and initialized multiple cloud integration services including Parse, Firebase and Google Cloud Messaging on Android apps.
- Considerable experience debugging and profiling Android applications.
- Continuously research, test, and implement new techniques, Android frameworks, and utilities.
- Created screens that followed Material Design and UX guidelines.
- Use of Continuous Integration Servers (Travis, Jenkins, Circle-CI).
- Created various views included custom and compound to generate a better final User Interface (UI/UX) and improved the retention.
- Creation of unit and integration testing suites developed with Mockito and Espresso for use in Android development.
- Cultivate an environment of excellence, through code design, code reviews.
- Designed a way to access web data in a modular way, parsing from JSON with GSON, Jackson and the native JSONObject and JSONArray classes.
- Designed the schema for and deployed SQL and MySQL servers.
- Designed various applications using optimal architectural design patterns (Model View Controller, Model View Presenter, Model View ViewModel).
- Adapts easily to new technologies such as Smart Watches, Chromecast, and Smart TV devices.
- Used Android frameworks and APIs to efficiently load data and update databases: Loaders, AsyncTaskLoader and SyncAdapters.
- Utilized Espresso, JUnit, Mockito and simulated design patterns to test and develop applications.
- Work effectively with UI designers and implement according to Android style guidelines.
- Work with other departments to achieve cross-functional goals to satisfy customer expectations. Mentor less experienced team members on technical matters.
TECHNICAL SKILLS
Programming Languages: Java, Kotlin, SQL, python, C++
Threading: Loopers, Loaders, AsyncTask, Intent Service, RxJava
Databases: SQLite, MySQL, Firebase DB, MongoDB
IDE/Dev: Eclipse, Android Studio, Firebase, NetBeans, IntelliJ
Design Standards: Material Design
Design Patterns: MVP, MVC, MVVM
Development Tools: TDD, JIRA, Confluence, Slack, Trello, Jenkins, Travis, Hudson, Bitrise,io
Web Dev: jQuery, HTML, CSS, JavaScript, Google Web Toolkit
RESTful Web Services: REST, SOAP, XML, JSON, GSON
Version Control: Git, SVN, BitBucket, GitHub, Tower
Android and Third-Party: Certificate Pinning, RxJava, MonkeyRunner, Bluetooth Low Energy, ExoPlayer, SyncAdapters, Volley, IcePick, Circle-CI, Samsung SDK, Glide, VidEffects, JUnit, Ion, GSON, ORMLite, Push Notifications, Kickflip, SpongyCastle, Parse, Flurry, Twitter, FloatingActionButton,, Espresso, Fresco, Moshi, Jenkins, UIautomator, Parceler, Dependency Injection, EventBus,, Dagger, Crashlytics, MixPanel, Material Dialogs, RxCache, Retrofit, Marshmallow, Loaders, Jitpack, JobScheduler, ParallaxPager, XmlPullParser, Google Cloud Messaging, LeakCanary
PROFESSIONAL EXPERIENCE
Confidential, New York, NY
Senior Android Mobile Architect/Engineer
Responsibilities:
- Worked with the Mobile Product Management team to define the new product features
- Developed and tested the app using Android Studio
- Used MVVM architecture for new modules and migrated old modules from MVP
- Migrated code from Java to Kotlin
- Used Kotlin Coroutines for asynchronous calls and also other features of Kotlin like null safety, smart cast etc
- Rewired the app to handle the new Android 6 Marshmallow permissions model
- Reskinned the entire app implementing the Material Design specification
- Integrated multimedia material and live streaming video, decoding, and playback
- Handled web services calls for information and content data retrieval with Retrofit
- Added a user configuration setting to persist and switch the network usage
- Improved the bit rate over network changes with the Connectivity Manager
- Added support for Chromecast for sending video and music to the TV
- Improved the Video browser and audio player performance multithreading
- Improved the Playlist manager by replacing the old ListViews by RecyclerView
- Conducted project plan reviews and resolved conflicts between times and tasks
- Implemented support for Android Wear as media remote control for the app
- Organized developers and assigned milestones and track project development
- Built the application to support multiple screen sizes, phones, tablets and TV Sticks
- Ensured backward compatibility with the latest compatibility libraries available
- Incorporated push notification with Mixpanel for sending messages to the users
- Used Jira for defect tracking and, project planning, and task assignment
- Worked with Dagger 2 for dependency injection to develop clean, maintainable code
- Participated on the set-up procedure for the Hudson server for continuous integration
- Integrated Localytics for app statistics and mobile analytics
Confidential, New York, NY
Senior Android Developer
Responsibilities:
- Developed and tested the app using Android Studio
- Enhanced the app for heavy data load processing using services and AsyncTask combined with AsyncTaskExecutor
- Used the Picasso library for intensive image rendering on ListView
- Migrated architecture from MVP to MVVM
- Migrated code from Java to Kotlin
- Took advantage of Kotlin null safety and extension functions
- Created extensive caching of both images (lazy-load) and data (object data from network as SQLite tables)
- Designed and implement peer-to-peer messaging via the Pusher libraries
- Google maps and location services to find services where users are currently located
- Developed a look and feel that mimicked the iOS version of the app following the Google Material Design guidelines
- Implemented Custom and Compound View to match the UI/UX specifications
- Integrated activity and fragment-based navigation to adapt to portrait and landscape orientations to better use the screen state adapting to phones and tablets
- Added animated transitions when calling other activities to improve the user experience
- Used Kotlin Coroutines for asynchronous tasks
- Used Observables and other RxJava operators
- Used JSON in RESTful services to extend the application response capabilities
- Implemented several design patterns such as MVP, Singleton, Observer, Builder, Façade
- Created and maintained technical documentation for this application
- Sped up the build process with Jenkins continuous integration tool
- Integrated Crashlytics to analyze the behavior of the users
- Created several compound views to match the UI provided by the UI team
- Layout user interface maintained efficiently through Fragments
- Implemented custom/compound views for displaying queried data
- RESTful data consumption using Retrofit with a GSON converter, and a custom interceptor
- Used Google GSON to parse JSON files
- Tracked incident reports with JIRA
- Collaborated with the product team to identify, prioritize, and document detailed product requirements
- Followed TDD/BDD and Agile methodologies throughout the project
- Used JIRA for project planning and bug tracking
- Constantly perform and manage code reviews
- Led a team of Android Java programmers
- Made use of communication between standard data between apps over network requests using Retrofit
- Able to develop efficient and maintainable code with the right balance between solving the problem at hand and not over-engineering your solution
- Worked with the UI/UX team for the new app skin redesign
- Implemented Google Analytics for app analytics proposes
- Connected the app to Twitter, Instagram, and Facebook
- Tested the mobile app in various emulators to support multiple Android devices
Confidential, New York, NY
Android Developer
Responsibilities:
- Ensure software created and released conforms to quality requirements by accurately writing and executing test plans
- Transitioned the code base form Eclipse to Android Studio for development environment
- MVP architecture was used
- Used Bluetooth low energy and Leak Canary to solve mobile networking performance issues
- Implemented a Navigation Drawer for quick access to different activities and a better User Experience
- Created custom animation to improve the user experience following the material design principles
- Added value encryption in SharedPreferences using AES 128 with the Secure-preferences Library
- Created instances of SyncAdapter, Content Providers, and Loaders to update the User Interface on every data change on the server side
- Actively participated in choosing the technologies to use
- Implementation of different user interface components such as ListView, WebView, ImageView, TextView to display the data for the application
- Used Android Device Monitor for monitoring CPU load, heap size, and memory usage
- Used Parcelable to serialize Java objects from Activity to Activity
- Handled Fragment data retention to ensure data integrity on screen rotation with the onSaveInstanceState and onRestoreInstanceState methods
- Experience with Android SDK versions 5 and above
- Used the color palette support to extract different resources in different contexts
- Consumed web services to display user history on the user interface using RxJava
- Tested the latest changes, correct the bugs using debugging
- Used an SQLite database to generate local caching service and faster rendering
- Connected the app to Twitter, Instagram, and Facebook
- Used JSON in RESTful services to extend the application response capabilities
- Monitored and participated in workflow tracking (Jira) and documentation (Confluence) so that these scalable industrialized processes facilitate business growth
- Effectively communicate coding solutions and articulate the reasons for your decisions
Confidential, Lenexa, KS
Android Application Developer
Responsibilities:
- Passion for mobile user experience and design
- Used the Dalvik Debug Monitor Server (DDMS) for debugging and testing
- Stored data of the task bonuses in SQLite
- Implemented early versions of the Floating Action Button with the usage of third-party libraries
- Guide decisions on architecture and technical strategy
- Used Retrofit to handle the API consumption with a Jackson built-in converter
- Used Android Studio and latest SDK app development
- Collaborated with cross-functional teams to define, design, and ship new features
- Utilized a Tabs and Navigation Drawers to switch quickly between application Activities and
- Fragments
- Experience with network programming and consuming third-party APIs
- Used XZing to read the information from various QR codes to access the vehicle information
- Led a team of 3 Java programmers for Android development
- Development of quality code using cutting-edge techniques, tools, and utilities
- Used Material Design to adapt the User interface
- Created custom views and animations for visually appealing UI/UX
- Applied Picasso to download images and show them in the UI
- Created custom animations to improve the user experience
- Effectively used Activities, Services, Broadcast Receivers, SQLite, and preferences
- Integrated dependency injection with Dagger and Butter Knife
- Added selectors and animation effects on UI/UX elements to enhance the User Experience
- Participated in all stages of software development including defining product vision, gathering requirements, software system design, coding, testing, release, and support
Confidential, Atlanta, GA
Junior Mobile App Developer
Responsibilities:
- Architected the back-end solution and joined in the technology selection process
- Worked with an Agile Scrum /iterative development methodology
- Assisted the team lead with requirements, documentation, task management and scheduling meetings
- Utilized Eclipse IDE to implement the application in Java and automating testing with Robotium
- Implemented Continuous Integration with Jenkins, using Git with BitBucket for code repository/version control
- Managed the build creation with a Jenkins instance hosted on a private server
- Wrote Javadoc for documenting the different modules, hardware & software features
- Performed regular code reviews to ensure overall code quality and adherence to company coding standards and industry best practices
- Created custom views to present data as it was needed
- Integrated Flurry for mobile analytics
- Helped the company to make the transition from traditional to Test Driven Development
- Implemented UI/UX look-and-feel in the app, applying styles and themes following the new Google Material Design guidelines
- Created multiple Content Providers with a native approach to handling UI asynchronous updates
- Liaison with the project team and delivering projects as per scheduled milestones
- Most of the screens/level use OpenGL ES instead of activities to allow fluid animation
- Solid background in OOP and knowledge of software design patterns/best practices
- Setup proper interactions of the front-end design and implementation with backend servers
- Refactored un-optimized pieces of code to guarantee maximization in the use of resources
- Utilized AsyncTask to connect to a remote server to retrieve user information
- Made use of Activities and Activities for Result and RecyclerViews to get a better performance of the application
- Use of Implicit and Explicit Intents
- Introduced the Google Maps API integration with the application
- Developed graphic interface and UI for some activities.
- Worked with asynchronous requests to the server with Volley library
- Added Push Notification features with Urban Airship