Android Development
The Java and Kotlin programming languages are the basis for developing applications for Android. Therefore, it is very important that the Android developers have the dominance of these languages, mainly focused on Object Orientation, data types, and asynchronous executions, because all this knowledge will be transferred to the Android platform.
In addition, it is important that the Android developers know the libraries and the ecosystem of the Android platform. After all, if the features are not performing accordingly, the application could have several problems.
When we speak about Android development, the need for testing is huge because of the application environment's variations, such as the various versions of Android and different screen sizes. Because of that, there are several techniques such as unit tests, integration tests, and interface tests that our Android developers will be required to execute.
So if you are interested in coding in an Agile environment while developing hard skills and soft skills, your progress in our Career Journey would be:
Level 1: Android Developer
Level 2: Senior Android Developer
Level 3: Android Software Engineer
Level 4: Senior Android Software Engineer
Level 5: Android System Architect
Level 6: Senior Android System Architect
Introduction
In order to achieve the best of their performance, we will introduce the list of requirements and concepts our Android Developers should focus on to succeed in our business, as well as their remuneration.
In order to progress in our Career Journey, they need to:
- Meet the criterias of the General ICs Job Level Chart & General ICs Job Step Chart
- Meet the specific criterias of the Android Development framework regarding:
- General Knowledge a list of indispensable softwares, tools, platforms and more, for Secure Group, that they need to know (it can be a little bit out of the scope of their position).
- Specific Knowledge: a list of concepts, tools, software and etc, that are indispensable for them to develop under the scope of their position.
- Secure Group Knowledge: a list of products, company profile and features that they need to know in order to succeed in Secure Group.
- Basic IT Concepts: a list of essential concepts that we consider to be basic for our Frameworks and that we expect employees to master.
Observation: if there's any requirement that is repeated in the following tables but with different grades, the higher requested proficiency will prevail in the Performance Evaluation.
General Knowledge
To be able to reach Level 3 in our Career Journey there is some General knowledge regarding a variety of subjects that we request from our Android Developers. This means that considering the KAI grades of proficiency, they will need to score from 4 to 6 in the following items:
General Knowledge | |||||
---|---|---|---|---|---|
Concepts | Balanced Scorecard | ||||
Scrum | |||||
Frameworks | Scrum | ||||
Languages | CSS | ||||
HTML | |||||
JavaScript | |||||
Softwares/Tools/Platforms - Usage | Atlassian Bamboo | ||||
Atlassian Bitbucket | |||||
Atlassian Confluence | |||||
Atlassian Jira | |||||
BambooHR | |||||
Combain | |||||
Countly | |||||
Crowdin | |||||
Elastic Kibana | |||||
Elastic Logstash | |||||
Gerrit | |||||
Ingnite Realtime Openfire | |||||
Instabug | |||||
Kamailio | |||||
Kubernetes | |||||
Libib | |||||
OpenSTF | |||||
Small Improvements | |||||
Unwired Labs | |||||
Thycotic Passwordbox | |||||
Softwares/Tools/Platforms - Configuration | Atlassian Bitbucket | ||||
Elastic Kibana | |||||
Elasticsearch | |||||
Gerrit | |||||
Ignite Realtime Openfire | |||||
Kamailio | |||||
Languages (Idioms) | Advanced English |
Specific Knowledge
To be able to reach Level 3 in our Career Journey there is some technical knowledge we request from our Android Developers. This means that, considering the KAI grades of proficiency,they will need to score from 4 to 6 in the following items:
Specific Knowledge | |||||
---|---|---|---|---|---|
Concepts | Activities, Services, Content Providers and Broadcast Receivers, EventBus | ||||
Algorithm design | |||||
API concepts | |||||
Database | |||||
Design Patterns: MVP, MVVM, MVC | |||||
Responsive Designs | |||||
RxJava/RxAndroid | |||||
Data store | |||||
TDD | |||||
Unit testing | |||||
User input | |||||
Version Control via Git | |||||
Frameworks | Android Components | ||||
JUnit | |||||
The Android SDK | |||||
Languages | Command Line | ||||
Gradle | |||||
Kotlin | |||||
SQL | |||||
XML | |||||
Libraries | Dagger | ||||
Jake Wharton Butter Knife | |||||
Linphone | |||||
Microsoft Exchange web services (EWS) | |||||
Mockito, Espresso | |||||
Picasso, Glide, Fresco, Imageloader | |||||
Retrofitting | |||||
SMACK | |||||
WoodSolutions Timber | |||||
Zetetic SQL Cipher | |||||
Protocols | SIP protocol | ||||
XMPP | |||||
Softwares/Tools/Platforms - Configuration | Atlassian Bamboo | ||||
Android Studio | |||||
Apache Tomcat | |||||
Softwares/Tools/Platforms - Usage | Atlassian Bamboo | ||||
Android Studio | |||||
Appium | |||||
Softwares/Tools/Platforms - Server Administration | Android Studio |
Secure Group Knowledge
To be able to reach Level 3 in our Career Journey there is some specific knowledge from our company that we request from our Android Developers. This means that considering the KAI grades, they will need to score a minimum proficiency considering Secure Group Knowledge in a Documentation level in the following perspectives:
Secure Group Knowledge | What's Expected | Impact | Product | Minimum Grade |
---|---|---|---|---|
User Documentation | Good, user-level knowledge regarding the product and its functionalities. From the user documentation, all employees across the company are required to be well aware of our solutions’ core features and functions such as the Password Advisor or how to send an automatic crash report. | This knowledge helps us facilitate a user-centric approach internally, which we believe is essential to develop our business and solutions. The user documentation helps team members understand user behavior and needs more thoroughly and feel the impact of their everyday efforts. | Secure OS | 4 |
SAS | 4 | |||
Secure Chat | 4 | |||
Secure Email | 4 | |||
Secure Vault | 4 | |||
Secure Manager | 4 | |||
Sales Documentation | Employees should gain significant knowledge regarding the business side of Secure Group. They need to be aware of commonly used concepts in our day-to-day activities such as our business and distribution model, value proposition, selling prices, key selling points, and target audience. | The information in the Sales Documentation supports employees in their daily routine. It conveys the overall business vision within the company. This documentation contributes to making employees aware of how our solutions are distributed, who are our key partners and target market to know exactly the people towards whom team members’ efforts should be aimed. Alignment on company-wide priorities is also achieved through clear communication of our value proposition and key selling points, helping everyone understand the things that matter most. | Secure OS | 3 |
SAS | 3 | |||
Secure Chat | 3 | |||
Secure Email | 3 | |||
Secure Vault | 3 | |||
Secure Manager | 3 | |||
Support Documentation | People within the company need to be aware of commonly occurring problems with our solutions. From the Support Documentation, employees should also extract general level knowledge regarding support processes, the issues that we’re currently having product-wise, and the approach to troubleshooting them. | o The Support Documentation helps employees understand short-term priorities more clearly and communicate more openly why they’re needed. It also gives them general knowledge of how to spot and report a problem, which helps us facilitate a company-wide contribution to product development. Last but by no means least, it helps team members understand customers pains and behavioral patterns to strengthen our user-centric approach. | Secure OS | 3 |
SAS | 3 | |||
Secure Chat | 3 | |||
Secure Email | 3 | |||
Secure Vault | 3 | |||
Secure Manager | 3 | |||
Functional Documentation | Through the Functional Documentation, employees should get a thorough understanding of the solutions and their multiple features. People that work closely with the products must understand exactly how they function, how users interact with them, how to configure different settings, and what’s the expected behavior of different software solutions. | o The information in the Functional Documentation helps employees whose work is closely connected with our solutions, to gain significant in-depth knowledge into their functionalities that far exceeds users‘ understanding. Such thorough product expertise helps us remain objective, evaluate market data more adequately, and constantly increase our internal expertise. | Secure OS | 4 |
SAS | 4 | |||
Secure Chat | 4 | |||
Secure Email | 4 | |||
Secure Vault | 4 | |||
Secure Manager | 4 | |||
Technical Documentation | Employees concerned with the Technical Documentation and more concretely - software development, must gain complete mastery over all solutions. Such people are regarded as technical experts and need to be well aware of data structures, relational databases, algorithms, programming languages, models, etc. | The Technical Documentation is used to make sure people that are technically involved in product development have the required knowledge to perform their day-to-day tasks, optimize our solutions more easily, and support other teams with their in-depth expertise. | Secure OS | 4 |
SAS | 4 | |||
Secure Chat | 4 | |||
Secure Email | 4 | |||
Secure Vault | 4 | |||
Secure Manager | 4 |
Basic IT Concepts
To be able to reach Level 3 in our Career Journey there are some basic IT concepts we expect the Android Developers to master. This means that considering the KAI grades of proficiency, they will need to score from 4 to 6 in the following items:
Basic IT Concepts | ||
---|---|---|
Category | Concept | Description |
System Administration | Linux server set up |
|
Remote servers with SSH connection |
| |
Users management |
| |
File permissions |
| |
Init systems |
| |
Firewall configuration |
| |
Basic monitoring |
| |
Package manager |
| |
Web Server |
| |
Static file deployment |
| |
Basic Docker management |
| |
Active Directory |
| |
Storage |
| |
Email Server |
| |
PKI |
| |
Reading logs |
| |
Virtualization |
| |
System Administration - Day to Day Ops | ||
Day to Day Ops |
| |
Commands |
| |
Hardware |
| |
Networking concepts | Network concepts |
|
Basic firewall concept |
| |
Basic Traffic Sniffing |
| |
Basic Networking Command |
|
Salary Grid
Android Development | Step | |||||
---|---|---|---|---|---|---|
Level | ||||||
Individual Contributor Path | Management Path | 1 | 2 | 3 | 4 | |
1: Android Developer | - | 4.500 lv | 4.650 lv | 4.800 lv | 4.950 lv | |
2: Sr. Android Developer | - | 5.500 lv | 5.650 lv | 5.800 lv | 5.950 lv | |
3: Android Software Engineer | Manager | 6.500 lv | 6.550 lv | 6.800 lv | 6.950 lv | |
4: Sr. Android Software Engineer | Sr. Manager | 7.500 lv | 7.650 lv | 7.800 lv | 7.950 lv | |
5: Android System Architect | Head of | 8.500 lv | 8.650 lv | 8.800 lv | 8.950 lv | |
6: Sr. Android System Architect | Director | 9.500 lv | 9.650 lv | 9.800 lv | 9.950 lv | |
- | Sr. Director | 10.500 lv | 10.900 lv | 11.300 lv | 11.700 lv | |
- | Chief of | 12.700 lv | 13.100 lv | 13.500 lv | 13.900 lv | |
- | VP | 14.900 lv | 15.300 lv | 15.700 lv | 16.100 lv |