Title | Android Developer Lead |
Posting Date: | 02/26/2021 |
Location: | Texas |
Job Type | Full Time |
Job Summary:
As an Android Developer this position involves overseeing, in partnership with a consultant development manager (CDM), a diverse body of IT consultants throughout their career, or lifecycle, with our company. Three main aspects of the consultant lifecycle are as follows: Training, Marketing, On-Project.
Roles & Responsibilities:
Interview potential consultants to ensure all on-boarding employees will be successful in the Android domain
Be responsible for the design, development and maintenance of our best-in-class Android training materials
Train, guide and mentor consultants with existing basic programming and computer science skills up to junior and mid-level developers
Prepare mock interview situations for the consultants to enhance the learning process provided by the company
Act as a primary technical support resource for consultants working on a variety of projects throughout the US (this requires ability to support remotely)
Interact with our Executive and Sales team to ensure that projects and employees are appropriately matched
Interact with our Executive and Sales team to ensure that consultants on projects remain successful on these projects and do not result in technical failure
Prepare consultants for interviews for specific assignments involving mobile development
Desired Qualifications Include:
10+ Years of professional experience in Android development
Bachelor’s Degree in the Computer Science field, Software Engineering or Math
Project Management background preferred
Knowledge of the Consulting/Sales structure
Able to work a full-time schedule and possibility of flexible extended hours
Desired Skills (Including but Not Limited to):
Experience with building Android apps in both a UI/UX capacity as well as back-end
Design patterns and architecture concepts such as MVC, MVVM, and MVP, Builder, Factory, Singleton, Adapter, Proxy, Façade, Bridge, Observer, Command
Java
MVVM versus MVP versus MVC - which ones lend themselves to testing - why choose one over the other? What does one address that others may not?
TDD and testing, unit testing, instrumentation testing, functional testing, stress testing
Testing tools such as Espresso, Mockito, Junit
OOO and S.O.L.I.D. principles
What to consider when building an app from scratch and doing so (who is using the app - what's the intended outcome, the release date the budget, the architecture, the 3rd party libraries, the communication between the layers, how testing will be set up, etc.)
Version Control - GIT, GitHub, pull requests, branching, Bit Bucket
Continuous Integration - Jenkins, Travis, Circle CI
Firebase
Asynchronous task - asynctask, intent services, handlers, loppers, threads, runnable, loaders,
3rd party libraries - Retrofit, Volley, OKHTTP, GSON, Jackson, RX Java, HTTPURL Connector
Local Databases - SQLite, Firebase, Parse, Realm
Notifications - GCM, FCM, Mix Panel, Flurry, Push Bots, Pub Nub, Firebase
Security - Obfuscation, Encryption, SSL, Certification Pinning, Tokens
Fingerprint authentication
Dev Environment management - Agile, Scrum, Sprints
Dependency Injection usage
Android Pay
Media Streaming Solutions - Media Player, ExoPlayer, etc.
Bluetooth, BLE, NFC