Android Development: Difference between revisions
(66 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
The | The heart of the organization is our team of Android Developers. They consistently push the boundaries of encrypted communications in order to maximize Secure Group's apps and deliver the most secure mobile solutions. | ||
The developers are in charge of handling the entire software lifecycle, from requirements analysis through prototype creation, wireframe conversion to high-quality code, and feature implementation. | |||
Growing within this framework entails cooperating with other developers and producing high-quality apps. | |||
= Progression = | |||
In order to progress in our development path and Level Up or Step Up, our Android Developers must:</br> | In order to progress in our development path and Level Up or Step Up, our Android Developers must:</br> | ||
* Meet the criteria of the Level & Step Chart for the [[Individual_Contributors|Individual Contributors Path]] | * Meet the criteria of the Level & Step Chart for the [[Individual_Contributors|Individual Contributors Path]] | ||
* | * Meet the [[Android_Development#KAI_of_the_framework|KAI]] grade of the framework related to each level | ||
* Demonstrate proficiency in [[Secure Group Knowledge]] | |||
== Level A == | |||
The Level A path is destined for employees who still do not possess the skills or proficiency in the whole set of criteria required of Individual Contributors. If during the hiring process we detected that you had the potential to quickly become Level 1, we made you an offer for Level A so you can expect to be provided with coaching, structured tasks with technical challenges, and the opportunity to learn and grow so you can be part of the Management Model as an Individual Contributor. | |||
=== Golden Rules === | |||
To Level Up to become part of the Individual Contributor's Path, the Level A employees must: | |||
* Meet the criteria of the [[Individual Contributors]] Level & Step Grid in one year. | |||
* Demonstrate proficiency in the [[Knowledge_Management#Knowledge_Grade_Description|KAI]] of the Android Development framework according to the levels. | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! | ! Level A Framework !! Description | ||
|- | |- | ||
|<center>Android Development || | |||
'''Must have:</br>''' | |||
* Experience with Java or Kotlin, Android Studio, and Git | |||
'''Good to have:''' | |||
* Experience with XML | |||
* Experience with RESTful APIs and Android components | |||
* Knowledge of Scrum | |||
* Experience with Android Developer Tools and Android SDK | |||
* Experience with libraries: rxJava/rxAndroid, Retrofit, Glide, Dagger 2, EventBus, Butterknife, Espresso, Mokito | |||
* Knowledge of Design patterns: MVP, MVVM | |||
* Knowledge of software development practices: TDD, Continuous integration, Code review | |||
* Experience with Jira and Confluence | |||
|} | |||
</br> | |||
<div class="center"> | |||
= Salary Grid = | |||
All mentioned salary ranges represent the monthly income in Bulgarian Lev after taxes and deductions. | |||
<div class="center"> | |||
{| class="wikitable" | |||
!colspan="6"|Android Development | |||
|- | |- | ||
| | !A Path | ||
|colspan="4"|2.500 - 3.500 | |||
|} | |||
</br> | |||
{| class="wikitable" | |||
!colspan="6"|Android Development | |||
|- | |- | ||
| | !rowspan="11"|Level | ||
|- | |- | ||
!rowspan=" | !rowspan="2"|Individual Contributor Path | ||
| | !colspan="4"|Step | ||
|- | |- | ||
!1 | |||
!2 | |||
!3 | |||
!4 | |||
|- | |- | ||
| | !1 | ||
|6.000 | |||
|6.150 | |||
|6.300 | |||
|6.450 | |||
|- | |- | ||
| | !2 | ||
|7.000 | |||
|7.150 | |||
|7.300 | |||
|7.450 | |||
|- | |- | ||
| | !3 | ||
|8.000 | |||
|8.150 | |||
|8.300 | |||
|8.450 | |||
|- | |- | ||
!4 | |||
|9.000 | |||
|9.150 | |||
|9.300 | |||
|9.450 | |||
| | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | !5 | ||
|10.000 | |||
|10.150 | |||
|10.300 | |||
|10.450 | |||
|- | |- | ||
!6 | |||
|11.000 | |||
|11.150 | |||
|11.300 | |||
|11.450 | |||
! | |||
| | |||
| | |||
| | |||
| | |||
|} | |} | ||
</div> | </div> | ||
</div> | </div> | ||
= [[Knowledge_Management#Knowledge_Accountability_Index|KAI]] of the framework = | |||
== Extensive Knowledge == | |||
== | |||
</div> | </div> | ||
<div class="box-content framework"> | <div class="box-content framework"> | ||
<div class="center"> | <div class="center"> | ||
{| class="wikitable" | {| class="wikitable" style="text-align:center; font-size:11px; font-family:Arial, Helvetica, sans-serif !important;; background-color:#deebff; color:#222;" | ||
!rowspan=" | |- style="font-weight:bold; vertical-align:middle; background-color:#EAECF0; color:#172B4D;" | ||
| | ! rowspan="2" | Type | ||
! rowspan="2" | Knowledge Description | |||
! colspan="6" | Minimum Grade to acquire Level X | |||
|- style="font-weight:bold; vertical-align:middle; background-color:#F4F5F7; color:#172B4D;" | |||
| Level 1 | |||
| Level 2 | |||
| Level 3 | |||
| Level 4 | |||
| Level 5 | |||
| Level 6 | |||
|- | |- | ||
|[https:// | | rowspan="4" style="vertical-align:middle; font-weight:bold; background-color:#F4F5F7;" | Frameworks | ||
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://source.android.com/ AOSP] | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
|[https://en.wikipedia.org/wiki/ | | style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/JUnit JUnit] | ||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
|[https://en.wikipedia.org/wiki/ | | style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/Scrum_(software_development) Scrum] | ||
| style="vertical-align:middle; background-color:#fffae5;" | Limited experience | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- style="background-color:#e3fcef;" | |||
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/Agile_software_development Agile] | |||
| style="vertical-align:middle;" | Practical application | |||
| style="vertical-align:middle;" | Practical application | |||
| style="vertical-align:middle;" | Practical application | |||
| style="vertical-align:middle; background-color:#deebff;" | Applied theory | |||
| style="vertical-align:middle; background-color:#deebff;" | Applied theory | |||
| style="vertical-align:middle; background-color:#deebff;" | Applied theory | |||
|- | |- | ||
| | | rowspan="7" style="vertical-align:middle; font-weight:bold; background-color:#F4F5F7;" | Protocols | ||
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/SIP_(software) SIP or any VoIP protocols] | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
|[https://en.wikipedia.org/wiki/ | | style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/XMPP XMPP or any messaging protocols] | ||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
| | | style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/ZRTP ZRTP/RTP] | ||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
|[https://en.wikipedia.org/wiki/ | | style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/Pretty_Good_Privacy PGP] | ||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
|[https://en.wikipedia.org/wiki/ | | style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/Off-the-Record_Messaging OTR] | ||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
|[https://en.wikipedia.org/wiki/ | | style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/OMEMO OMEMO] | ||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
| | | style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/Transport_Layer_Security SSL] | ||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
|[https:// | | rowspan="11" style="vertical-align:middle; font-weight:bold; background-color:#F4F5F7;" | Programming languages | ||
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://www.gnu.org/software/bash/ Bash/Shell] | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/C%2B%2B C/C++] | |||
|[https:// | | style="vertical-align:middle; background-color:#fffae5;" | Limited experience | ||
| style="vertical-align:middle; background-color:#fffae5;" | Limited experience | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
|[https://en.wikipedia.org/wiki/ | | style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/Cascading_Style_Sheets CSS] | ||
| style="vertical-align:middle; background-color:#fffae5;" | Limited experience | |||
| style="vertical-align:middle; background-color:#fffae5;" | Limited experience | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
|[ | | style="background-color:#F4F5F7; color:#36B; text-align:left;" | [http://groovy-lang.org/index.html Groovy] | ||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/HTML HTML] | |||
|[https://en.wikipedia.org/wiki/ | | style="vertical-align:middle; background-color:#fffae5;" | Limited experience | ||
| style="vertical-align:middle; background-color:#fffae5;" | Limited experience | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
|[https://en.wikipedia.org/wiki/ | | style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/Java Java] | ||
| style="vertical-align:middle; background-color:#fffae5;" | Limited experience | |||
| style="vertical-align:middle; background-color:#fffae5;" | Limited experience | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
|[https://en.wikipedia.org/wiki/ | | style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/JavaScript JavaScript] | ||
| style="vertical-align:middle; background-color:#fffae5;" | Limited experience | |||
| style="vertical-align:middle; background-color:#fffae5;" | Limited experience | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
|[https://en.wikipedia.org/wiki/ | | style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/Kotlin_(programming_language) Kotlin] | ||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
|[https://en.wikipedia.org/wiki/ | | style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/Python_(programming_language) Python] | ||
| style="vertical-align:middle; background-color:#fffae5;" | Limited experience | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
|[https://en.wikipedia.org/wiki/ | | style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/SQL SQL] | ||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/XML XML] | |||
|[https:// | | style="vertical-align:middle; background-color:#e3fcef;" | Practical application | ||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
|[https:// | | rowspan="16" style="vertical-align:middle; font-weight:bold; background-color:#F4F5F7;" | Libraries | ||
| style="background-color:#f4f5f7; color:#36B; text-align:left;" | [https://developer.android.com/jetpack/androidx Android X] | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
|[https:// | | style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://dagger.dev/dev-guide/android.html Dagger 2] | ||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
|[https:// | | style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://developer.android.com/training/testing/espresso Espresso] | ||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
|[https:// | | style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://greenrobot.org/eventbus/ EventBus] | ||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
|[https:// | | style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://developer.android.com/kotlin/coroutines?gclid=CjwKCAiA6aSABhApEiwA6Cbm__HCyPN3oUxAYvPEmqwt2AczHZ0b4I2ibfqqUwbf4noARmNwGkebmBoC4XIQAvD_BwE&gclsrc=aw.ds Kotlin Coroutines] | ||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
|[https://en.wikipedia.org/wiki/ | | style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/Butter_knife Jake Wharton Butter Knife] | ||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
|[https://en.wikipedia.org/wiki/ | | style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/Linphone Linphone or any SPI SDK] | ||
| style="vertical-align:middle; background-color:#fffae5;" | Limited experience | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
|[https:// | | style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/ews-applications-and-the-exchange-architecture Microsoft Exchange web services (EWS)] | ||
| style="vertical-align:middle; background-color:#fffae5;" | Limited experience | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
|[https:// | | style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/Mockito Mockito] | ||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://square.github.io/okhttp/ OkHttp] | |||
|[https:// | | style="vertical-align:middle; background-color:#e3fcef;" | Practical application | ||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
|[https:// | | style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://square.github.io/picasso/ Picasso/Glide/Fresco/Imageloader] | ||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://square.github.io/retrofit/ Retrofit] | |||
|[https:// | | style="vertical-align:middle; background-color:#e3fcef;" | Practical application | ||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- style="vertical-align:middle;" | |||
| style="background-color:#F4F5F7; text-align:left;" | RxJava/RxAndroid/RxKotlin | |||
| style="background-color:#e3fcef;" | Practical application | |||
| style="background-color:#e3fcef;" | Practical application | |||
| Applied theory | |||
| Applied theory | |||
| Applied theory | |||
| Applied theory | |||
|- | |- | ||
|[https:// | | style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://github.com/igniterealtime/Smack SMACK or any XMPP client library] | ||
| style="vertical-align:middle; background-color:#fffae5;" | Limited experience | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
|[https:// | | style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://github.com/JakeWharton/timber Timber] | ||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://www.zetetic.net/sqlcipher/ Zetetic SQL Cipher] | |||
|[https:// | | style="vertical-align:middle; background-color:#e3fcef;" | Practical application | ||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
|[https://en.wikipedia.org/wiki/ | | rowspan="19" style="vertical-align:middle; font-weight:bold; background-color:#F4F5F7;" | Softwares/Tools/Platforms | ||
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/Bitbucket Atlassian Bitbucket or any code management tool] | |||
| style="vertical-align:middle; background-color:#fffae5;" | Limited experience | |||
| style="vertical-align:middle; background-color:#fffae5;" | Limited experience | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
||[https://en.wikipedia.org/wiki/ | | style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/Bamboo_(software) Atlassian Bamboo or Jenkins] | ||
| style="vertical-align:middle; background-color:#e3fcef;" | Limited experience | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
|[https:// | | style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/Android_Studio Android Studio] | ||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/Appium Appium/Selenium] | |||
|[https://en.wikipedia.org/wiki/ | | style="vertical-align:middle; background-color:#e3fcef;" | Practical application | ||
| | | style="vertical-align:middle; background-color:#e3fcef;" | Practical application | ||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- style="vertical-align:middle;" | |||
| style="background-color:#F4F5F7; text-align:left;" | Billing Systems | |||
| style="background-color:#e3fcef;" | Practical application | |||
| style="background-color:#e3fcef;" | Practical application | |||
| Applied theory | |||
| Applied theory | |||
| Applied theory | |||
| Applied theory | |||
| | |||
| | |||
|- | |- | ||
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://crowdin.com/ Crowdin or any translation management system] | |||
| | | style="vertical-align:middle; background-color:#fffae5;" | Limited experience | ||
| | | style="vertical-align:middle; background-color:#e3fcef;" | Practical application | ||
| | | style="vertical-align:middle; background-color:#e3fcef;" | Practical application | ||
| | | style="vertical-align:middle;" | Applied theory | ||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
| | | style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://www.docker.com/ Docker] | ||
| | | style="vertical-align:middle; background-color:#fffae5;" | Limited experience | ||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
| | | style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://www.elastic.co/kibana Elastic Kibana] | ||
| style="vertical-align:middle; background-color:#fffae5;" | Limited experience | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
|- | |- | ||
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://firebase.google.com/ Firebase] | |||
| | | style="vertical-align:middle; background-color:#fffae5;" | Limited experience | ||
| | | style="vertical-align:middle; background-color:#e3fcef;" | Practical application | ||
| | | style="vertical-align:middle; background-color:#e3fcef;" | Practical application | ||
| | | style="vertical-align:middle;" | Applied theory | ||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- style="background-color:#e3fcef;" | |||
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://www.gerritcodereview.com/ Gerrit] | |||
| style="vertical-align:middle;" | Limited experience | |||
| style="vertical-align:middle;" | Practical application | |||
| style="vertical-align:middle;" | Practical application | |||
| style="vertical-align:middle; background-color:#deebff;" | Applied theory | |||
| style="vertical-align:middle; background-color:#deebff;" | Applied theory | |||
| style="vertical-align:middle; background-color:#deebff;" | Applied theory | |||
|- | |- | ||
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://gradle.org/ Gradle] | |||
| | | style="vertical-align:middle; background-color:#fffae5;" | Limited experience | ||
| | | style="vertical-align:middle; background-color:#e3fcef;" | Practical application | ||
| | | style="vertical-align:middle; background-color:#e3fcef;" | Practical application | ||
| | | style="vertical-align:middle;" | Applied theory | ||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/Git?wprov=srpw1_0 Git or SVN] | |||
| | | style="vertical-align:middle; background-color:#e3fcef;" | Practical application | ||
| | | style="vertical-align:middle; background-color:#e3fcef;" | Practical application | ||
| | | style="vertical-align:middle; background-color:#e3fcef;" | Practical application | ||
| | | style="vertical-align:middle;" | Applied theory | ||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- | |- | ||
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/Openfire Ignite Realtime Openfire or any XMPP server] | |||
| | | style="vertical-align:middle; background-color:#fffae5;" | Limited experience | ||
| | | style="vertical-align:middle; background-color:#e3fcef;" | Practical application | ||
| | | style="vertical-align:middle; background-color:#e3fcef;" | Practical application | ||
| | | style="vertical-align:middle;" | Applied theory | ||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- style="background-color:#e3fcef;" | |||
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://www.jetbrains.com/idea/ IntelliJ Idea] | |||
| style="vertical-align:middle;" | Limited experience | |||
| style="vertical-align:middle;" | Practical application | |||
| style="vertical-align:middle;" | Practical application | |||
| style="vertical-align:middle; background-color:#deebff;" | Applied theory | |||
| style="vertical-align:middle; background-color:#deebff;" | Applied theory | |||
| style="vertical-align:middle; background-color:#deebff;" | Applied theory | |||
|- | |- | ||
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/Kamailio Kamailio or an SIP server] | |||
| | | style="vertical-align:middle; background-color:#fffae5;" | Limited experience | ||
| | | style="vertical-align:middle; background-color:#e3fcef;" | Practical application | ||
| | | style="vertical-align:middle; background-color:#e3fcef;" | Practical application | ||
| | | style="vertical-align:middle;" | Applied theory | ||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- style="vertical-align:middle;" | |||
| style="background-color:#F4F5F7; text-align:left;" | MDM (mobile device management system) | |||
| style="background-color:#e3fcef;" | Practical application | |||
| style="background-color:#e3fcef;" | Practical application | |||
| Applied theory | |||
| Applied theory | |||
| Applied theory | |||
| Applied theory | |||
|- | |- | ||
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://www.portainer.io/ Portainer.io] | |||
| | | style="vertical-align:middle; background-color:#fffae5;" | Limited experience | ||
| | | style="vertical-align:middle; background-color:#e3fcef;" | Practical application | ||
| | | style="vertical-align:middle; background-color:#e3fcef;" | Practical application | ||
| | | style="vertical-align:middle;" | Applied theory | ||
| style="vertical-align:middle;" | Applied theory | |||
| style="vertical-align:middle;" | Applied theory | |||
|- style="vertical-align:middle;" | |||
| style="background-color:#F4F5F7; text-align:left;" | Terminal/Prompt | |||
| style="background-color:#e3fcef;" | Practical application | |||
| style="background-color:#e3fcef;" | Practical application | |||
| Applied theory | |||
| Applied theory | |||
| Applied theory | |||
| Applied theory | |||
|- style="background-color:#e3fcef;" | |||
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/Ubuntu Ubuntu or any Linux] | |||
| style="vertical-align:middle;" | Practical application | |||
| style="vertical-align:middle;" | Practical application | |||
| style="vertical-align:middle;" | Practical application | |||
| style="vertical-align:middle; background-color:#deebff;" | Applied theory | |||
| style="vertical-align:middle; background-color:#deebff;" | Applied theory | |||
| style="vertical-align:middle; background-color:#deebff;" | Applied theory | |||
|- style="vertical-align:middle;" | |||
| style="font-weight:bold; background-color:#F4F5F7;" | Languages (idioms) | |||
| style="background-color:#F4F5F7; text-align:left;" | Advanced Business English | |||
| style="background-color:#fffae5;" | Limited experience | |||
| style="background-color:#e3fcef;" | Practical application | |||
| style="background-color:#e3fcef;" | Practical application | |||
| Applied theory | |||
| Applied theory | |||
| Applied theory | |||
|} | |} |
Latest revision as of 07:52, 10 August 2022
The heart of the organization is our team of Android Developers. They consistently push the boundaries of encrypted communications in order to maximize Secure Group's apps and deliver the most secure mobile solutions.
The developers are in charge of handling the entire software lifecycle, from requirements analysis through prototype creation, wireframe conversion to high-quality code, and feature implementation.
Growing within this framework entails cooperating with other developers and producing high-quality apps.
Progression
In order to progress in our development path and Level Up or Step Up, our Android Developers must:
- Meet the criteria of the Level & Step Chart for the Individual Contributors Path
- Meet the KAI grade of the framework related to each level
- Demonstrate proficiency in Secure Group Knowledge
Level A
The Level A path is destined for employees who still do not possess the skills or proficiency in the whole set of criteria required of Individual Contributors. If during the hiring process we detected that you had the potential to quickly become Level 1, we made you an offer for Level A so you can expect to be provided with coaching, structured tasks with technical challenges, and the opportunity to learn and grow so you can be part of the Management Model as an Individual Contributor.
Golden Rules
To Level Up to become part of the Individual Contributor's Path, the Level A employees must:
- Meet the criteria of the Individual Contributors Level & Step Grid in one year.
- Demonstrate proficiency in the KAI of the Android Development framework according to the levels.
Level A Framework | Description |
---|---|
Must have:
Good to have:
|
Salary Grid
All mentioned salary ranges represent the monthly income in Bulgarian Lev after taxes and deductions.
Android Development | |||||
---|---|---|---|---|---|
A Path | 2.500 - 3.500 |
Android Development | |||||
---|---|---|---|---|---|
Level | |||||
Individual Contributor Path | Step | ||||
1 | 2 | 3 | 4 | ||
1 | 6.000 | 6.150 | 6.300 | 6.450 | |
2 | 7.000 | 7.150 | 7.300 | 7.450 | |
3 | 8.000 | 8.150 | 8.300 | 8.450 | |
4 | 9.000 | 9.150 | 9.300 | 9.450 | |
5 | 10.000 | 10.150 | 10.300 | 10.450 | |
6 | 11.000 | 11.150 | 11.300 | 11.450 |
KAI of the framework
Extensive Knowledge
Type | Knowledge Description | Minimum Grade to acquire Level X | |||||
---|---|---|---|---|---|---|---|
Level 1 | Level 2 | Level 3 | Level 4 | Level 5 | Level 6 | ||
Frameworks | AOSP | Practical application | Practical application | Applied theory | Applied theory | Applied theory | Applied theory |
JUnit | Practical application | Practical application | Applied theory | Applied theory | Applied theory | Applied theory | |
Scrum | Limited experience | Practical application | Practical application | Applied theory | Applied theory | Applied theory | |
Agile | Practical application | Practical application | Practical application | Applied theory | Applied theory | Applied theory | |
Protocols | SIP or any VoIP protocols | Practical application | Practical application | Applied theory | Applied theory | Applied theory | Applied theory |
XMPP or any messaging protocols | Practical application | Practical application | Applied theory | Applied theory | Applied theory | Applied theory | |
ZRTP/RTP | Practical application | Practical application | Applied theory | Applied theory | Applied theory | Applied theory | |
PGP | Practical application | Practical application | Applied theory | Applied theory | Applied theory | Applied theory | |
OTR | Practical application | Practical application | Applied theory | Applied theory | Applied theory | Applied theory | |
OMEMO | Practical application | Practical application | Applied theory | Applied theory | Applied theory | Applied theory | |
SSL | Practical application | Practical application | Applied theory | Applied theory | Applied theory | Applied theory | |
Programming languages | Bash/Shell | Practical application | Practical application | Applied theory | Applied theory | Applied theory | Applied theory |
C/C++ | Limited experience | Limited experience | Practical application | Applied theory | Applied theory | Applied theory | |
CSS | Limited experience | Limited experience | Practical application | Applied theory | Applied theory | Applied theory | |
Groovy | Practical application | Practical application | Applied theory | Applied theory | Applied theory | Applied theory | |
HTML | Limited experience | Limited experience | Practical application | Applied theory | Applied theory | Applied theory | |
Java | Limited experience | Limited experience | Practical application | Applied theory | Applied theory | Applied theory | |
JavaScript | Limited experience | Limited experience | Practical application | Applied theory | Applied theory | Applied theory | |
Kotlin | Practical application | Practical application | Applied theory | Applied theory | Applied theory | Applied theory | |
Python | Limited experience | Practical application | Applied theory | Applied theory | Applied theory | Applied theory | |
SQL | Practical application | Practical application | Applied theory | Applied theory | Applied theory | Applied theory | |
XML | Practical application | Practical application | Applied theory | Applied theory | Applied theory | Applied theory | |
Libraries | Android X | Practical application | Practical application | Applied theory | Applied theory | Applied theory | Applied theory |
Dagger 2 | Practical application | Practical application | Applied theory | Applied theory | Applied theory | Applied theory | |
Espresso | Practical application | Practical application | Applied theory | Applied theory | Applied theory | Applied theory | |
EventBus | Practical application | Practical application | Applied theory | Applied theory | Applied theory | Applied theory | |
Kotlin Coroutines | Practical application | Practical application | Applied theory | Applied theory | Applied theory | Applied theory | |
Jake Wharton Butter Knife | Practical application | Practical application | Applied theory | Applied theory | Applied theory | Applied theory | |
Linphone or any SPI SDK | Limited experience | Practical application | Applied theory | Applied theory | Applied theory | Applied theory | |
Microsoft Exchange web services (EWS) | Limited experience | Practical application | Applied theory | Applied theory | Applied theory | Applied theory | |
Mockito | Practical application | Practical application | Applied theory | Applied theory | Applied theory | Applied theory | |
OkHttp | Practical application | Practical application | Applied theory | Applied theory | Applied theory | Applied theory | |
Picasso/Glide/Fresco/Imageloader | Practical application | Practical application | Applied theory | Applied theory | Applied theory | Applied theory | |
Retrofit | Practical application | Practical application | Applied theory | Applied theory | Applied theory | Applied theory | |
RxJava/RxAndroid/RxKotlin | Practical application | Practical application | Applied theory | Applied theory | Applied theory | Applied theory | |
SMACK or any XMPP client library | Limited experience | Practical application | Applied theory | Applied theory | Applied theory | Applied theory | |
Timber | Practical application | Practical application | Applied theory | Applied theory | Applied theory | Applied theory | |
Zetetic SQL Cipher | Practical application | Practical application | Applied theory | Applied theory | Applied theory | Applied theory | |
Softwares/Tools/Platforms | Atlassian Bitbucket or any code management tool | Limited experience | Limited experience | Practical application | Applied theory | Applied theory | Applied theory |
Atlassian Bamboo or Jenkins | Limited experience | Practical application | Applied theory | Applied theory | Applied theory | Applied theory | |
Android Studio | Practical application | Practical application | Applied theory | Applied theory | Applied theory | Applied theory | |
Appium/Selenium | Practical application | Practical application | Applied theory | Applied theory | Applied theory | Applied theory | |
Billing Systems | Practical application | Practical application | Applied theory | Applied theory | Applied theory | Applied theory | |
Crowdin or any translation management system | Limited experience | Practical application | Practical application | Applied theory | Applied theory | Applied theory | |
Docker | Limited experience | Practical application | Practical application | Applied theory | Applied theory | Applied theory | |
Elastic Kibana | Limited experience | Practical application | Practical application | Applied theory | Applied theory | Applied theory | |
Firebase | Limited experience | Practical application | Practical application | Applied theory | Applied theory | Applied theory | |
Gerrit | Limited experience | Practical application | Practical application | Applied theory | Applied theory | Applied theory | |
Gradle | Limited experience | Practical application | Practical application | Applied theory | Applied theory | Applied theory | |
Git or SVN | Practical application | Practical application | Practical application | Applied theory | Applied theory | Applied theory | |
Ignite Realtime Openfire or any XMPP server | Limited experience | Practical application | Practical application | Applied theory | Applied theory | Applied theory | |
IntelliJ Idea | Limited experience | Practical application | Practical application | Applied theory | Applied theory | Applied theory | |
Kamailio or an SIP server | Limited experience | Practical application | Practical application | Applied theory | Applied theory | Applied theory | |
MDM (mobile device management system) | Practical application | Practical application | Applied theory | Applied theory | Applied theory | Applied theory | |
Portainer.io | Limited experience | Practical application | Practical application | Applied theory | Applied theory | Applied theory | |
Terminal/Prompt | Practical application | Practical application | Applied theory | Applied theory | Applied theory | Applied theory | |
Ubuntu or any Linux | Practical application | Practical application | Practical application | Applied theory | Applied theory | Applied theory | |
Languages (idioms) | Advanced Business English | Limited experience | Practical application | Practical application | Applied theory | Applied theory | Applied theory |