Android Development: Difference between revisions

From Secure Group Wiki
Jump to navigation Jump to search
 
(20 intermediate revisions by the same user not shown)
Line 1: Line 1:
Our Android Developers are the engine of the company. They optimize Secure Group’s products and services to deliver the most secure mobile solutions by constantly challenging the standards of encrypted communications.
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.


As a developer you will be responsible for managing the complete software lifecycle from analyzing requirements to creating prototypes, transforming wireframes into high-quality code, and implementing new features.
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.
You will also ensure the top quality of our solutions by developing and executing unit tests, troubleshooting issues, removing impediments, and improving the overall performance of Secure OS.
Growing in this framework will mean working along-side other developers and committing to collaborative problem solving to deliver a sophisticated design and a high-quality product.
 
We envision each of our employees as stakeholders, so you will be responsible for driving the collaboration with other teammates and agile teams, act as a subject-matter expert to less experienced Software Engineers, and add user value to the solution.


Growing within this framework entails cooperating with other developers and producing high-quality apps.


= Progression =
= Progression =
Line 12: Line 9:
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]]
* Score at least 4 in the [[KAI]] of the position
* Meet the [[Android_Development#KAI_of_the_framework|KAI]] grade of the framework related to each level
* Demonstrate proficiency in [[Secure Group Knowledge]]
* 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"
|-
! 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>
</br>


<div class="center">
<div class="center">
= Salary Grid =
= Salary Grid =
All mentioned salary ranges represent the monthly income in Bulgarian Lev after taxes and deductions.
All mentioned salary ranges represent the monthly income in Bulgarian Lev after taxes and deductions.
<div class="center">
<div class="center">
{| class="wikitable"
{| class="wikitable"
!colspan="2"|Android Development
!colspan="6"|Android Development
!colspan="4"|Step
|-
!A Path
|colspan="4"|2.500 - 3.500
|}
</br>
{| class="wikitable"
!colspan="6"|Android Development
|-
|-
!rowspan="11"|Level
!rowspan="11"|Level
|-
|-
!Individual Contributor Path
!rowspan="2"|Individual Contributor Path
!colspan="4"|Step
|-
!1
!1
!2
!2
Line 33: Line 67:
!4
!4
|-
|-
!Android Soft. Engineer
!1
|6.000
|6.000
|6.150
|6.150
Line 39: Line 73:
|6.450
|6.450
|-
|-
!Sr. Android Soft. Engineer lvl II
!2
|7.000
|7.000
|7.150
|7.150
Line 45: Line 79:
|7.450
|7.450
|-
|-
!Sr. Android Soft. Engineer lvl III
!3
|8.000
|8.000
|8.150
|8.150
Line 51: Line 85:
|8.450
|8.450
|-
|-
!Sr. Android Soft. Engineer lvl IV
!4
|9.000
|9.000
|9.150
|9.150
Line 57: Line 91:
|9.450
|9.450
|-
|-
!Sr. Android Soft. Architect lvl V
!5
|10.000
|10.000
|10.150
|10.150
Line 63: Line 97:
|10.450
|10.450
|-
|-
! Sr. Android Soft. Architect lvl VI
!6
|11.000
|11.000
|11.150
|11.150
Line 72: Line 106:
  </div>
  </div>


= [[Knowledge_Management#Knowledge_Accountability_Index|KAI]] of the position =
= [[Knowledge_Management#Knowledge_Accountability_Index|KAI]] of the framework =
== Extensive Knowledge ==
== Extensive Knowledge ==
   </div>
   </div>
   <div class="box-content framework">
   <div class="box-content framework">
     <div class="center">
     <div class="center">
{| class="wikitable" style="text-align:center; font-size:12px; font-family:Arial, Helvetica, sans-serif !important;; background-color:#deebff; color:#222;"
{| class="wikitable" style="text-align:center; font-size:11px; font-family:Arial, Helvetica, sans-serif !important;; background-color:#deebff; color:#222;"
|- style="font-weight:bold; vertical-align:middle; background-color:#EAECF0; color:#172B4D;"
|- style="font-weight:bold; vertical-align:middle; background-color:#EAECF0; color:#172B4D;"
! rowspan="2" | Type
! rowspan="2" | Type
Line 90: Line 124:
| Level 6
| Level 6
|-
|-
| rowspan="5" style="vertical-align:middle; font-weight:bold; background-color:#F4F5F7;" | Frameworks
| rowspan="4" style="vertical-align:middle; font-weight:bold; background-color:#F4F5F7;" | Frameworks
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | AOSP
| 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; background-color:#e3fcef;" | Practical application
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
Line 99: Line 133:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | JUnit
| 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; background-color:#e3fcef;" | Practical application
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
Line 107: Line 141:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | Scrum
| 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:#fffae5;" | Limited experience
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
Line 115: Line 149:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|- style="background-color:#e3fcef;"
|- style="background-color:#e3fcef;"
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | Agile
| 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;" | Practical application
Line 123: Line 157:
| 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;" | Native Android SDK
| 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; background-color:#e3fcef;" | Practical application
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
Line 131: Line 166:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | 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/XMPP XMPP or any messaging protocols]
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | SIP
| 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; background-color:#e3fcef;" | Practical application
Line 140: Line 174:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | XMPP
| 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; background-color:#e3fcef;" | Practical application
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
Line 148: Line 182:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | ZRTP
| 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; background-color:#e3fcef;" | Practical application
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
Line 156: Line 190:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | PGP
| 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; background-color:#e3fcef;" | Practical application
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
Line 164: Line 198:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | OTR
| 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; background-color:#e3fcef;" | Practical application
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
Line 172: Line 206:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | OMEMO
| 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; background-color:#e3fcef;" | Practical application
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
Line 180: Line 214:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | SSL
| 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; background-color:#e3fcef;" | Practical application
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
Line 188: Line 223:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| rowspan="10" style="vertical-align:middle; font-weight:bold; background-color:#F4F5F7;" | Programming languages
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/C%2B%2B C/C++]
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | Bash/Shell
| 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; 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;" | Applied theory
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | C/C++
| 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:#fffae5;" | Limited experience
| style="vertical-align:middle; background-color:#fffae5;" | Limited experience
Line 205: Line 239:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | CSS
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [http://groovy-lang.org/index.html Groovy]
| style="vertical-align:middle; background-color:#fffae5;" | Limited experience
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
| 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;" | 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;" | Groovy
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/HTML HTML]
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
| 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; 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;" | Applied theory
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | HTML
| 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:#fffae5;" | Limited experience
| style="vertical-align:middle; background-color:#fffae5;" | Limited experience
Line 229: Line 263:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | JavaScript
| 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:#fffae5;" | Limited experience
| style="vertical-align:middle; background-color:#fffae5;" | Limited experience
Line 237: Line 271:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | Kotlin
| 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; background-color:#e3fcef;" | Practical application
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
Line 245: Line 279:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | Python
| 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:#fffae5;" | Limited experience
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
Line 253: Line 287:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | SQL
| 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; background-color:#e3fcef;" | Practical application
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
Line 261: Line 295:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | XML
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/XML XML]
| 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; background-color:#e3fcef;" | Practical application
Line 270: Line 304:
|-
|-
| rowspan="16" style="vertical-align:middle; font-weight:bold; background-color:#F4F5F7;" | Libraries
| rowspan="16" style="vertical-align:middle; font-weight:bold; background-color:#F4F5F7;" | Libraries
| style="background-color:#f4f5f7; color:#36B; text-align:left;" | Android X
| 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; background-color:#e3fcef;" | Practical application
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
Line 278: Line 312:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | Dagger 2
| 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; background-color:#e3fcef;" | Practical application
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
Line 286: Line 320:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | Espresso
| 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; background-color:#e3fcef;" | Practical application
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
Line 294: Line 328:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | EventBus
| 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; background-color:#e3fcef;" | Practical application
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
Line 302: Line 336:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | Kotlin Coroutines
| 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:#fffae5;" | Practical application
| 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
Line 310: Line 344:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | Jake Wharton Butter Knife
| 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; background-color:#e3fcef;" | Practical application
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
Line 318: Line 352:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | Linphone
| 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:#fffae5;" | Limited experience
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
Line 326: Line 360:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | Microsoft Exchange web services (EWS)
| 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:#fffae5;" | Limited experience
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
Line 334: Line 368:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | Mockito
| 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; background-color:#e3fcef;" | Practical application
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
Line 342: Line 376:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | OkHttp
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://square.github.io/okhttp/ OkHttp]
| 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; background-color:#e3fcef;" | Practical application
Line 350: Line 384:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | Picasso
| 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; background-color:#e3fcef;" | Practical application
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
Line 358: Line 392:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | Retrofit
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://square.github.io/retrofit/ Retrofit]
| 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; background-color:#e3fcef;" | Practical application
Line 374: Line 408:
| Applied theory
| Applied theory
|-
|-
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | SMACK
| 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:#fffae5;" | Limited experience
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
Line 382: Line 416:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | Timber
| 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; background-color:#e3fcef;" | Practical application
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
Line 390: Line 424:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | Zetetic SQL Cipher
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://www.zetetic.net/sqlcipher/ Zetetic SQL Cipher]
| 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; background-color:#e3fcef;" | Practical application
Line 398: Line 432:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| rowspan="22" style="vertical-align:middle; font-weight:bold; background-color:#F4F5F7;" | Softwares/Tools/Platforms
| rowspan="19" style="vertical-align:middle; font-weight:bold; background-color:#F4F5F7;" | Softwares/Tools/Platforms
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | Atlassian Bitbucket
| 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:#fffae5;" | Limited experience
| style="vertical-align:middle; background-color:#fffae5;" | Limited experience
Line 407: Line 441:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | Atlassian Bamboo
| 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;" | Limited experience
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
Line 415: Line 449:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | Android Studio
| 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; background-color:#e3fcef;" | Practical application
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
Line 423: Line 457:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | Appium
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/Appium Appium/Selenium]
| 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; background-color:#e3fcef;" | Practical application
Line 430: Line 464:
| 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:#e3fcef;"
|- style="vertical-align:middle;"
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | Countly
| style="background-color:#F4F5F7; text-align:left;" | Billing Systems
| style="vertical-align:middle;" | Limited experience
| style="background-color:#e3fcef;" | Practical application
| style="vertical-align:middle;" | Practical application
| style="background-color:#e3fcef;" | Practical application
| style="vertical-align:middle;" | Practical application
| Applied theory
| style="vertical-align:middle; background-color:#deebff;" | Applied theory
| Applied theory
| style="vertical-align:middle; background-color:#deebff;" | Applied theory
| Applied theory
| style="vertical-align:middle; background-color:#deebff;" | 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;" | Crowdin
| 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:#fffae5;" | Limited experience
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
Line 447: Line 489:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | Docker
| 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:#fffae5;" | Limited experience
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
Line 455: Line 497:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | Elastic Kibana
| 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:#fffae5;" | Limited experience
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
Line 463: Line 505:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|- style="background-color:#e3fcef;"
|- style="background-color:#e3fcef;"
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | Gerrit
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://www.gerritcodereview.com/ Gerrit]
| style="vertical-align:middle;" | Limited experience
| style="vertical-align:middle;" | Limited experience
| style="vertical-align:middle;" | Practical application
| style="vertical-align:middle;" | Practical application
Line 471: Line 513:
| 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;" | Gradle
| 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:#fffae5;" | Limited experience
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
Line 479: Line 521:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | Git
| 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:#fffae5;" | 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;" | Ignite Realtime Openfire
| 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; background-color:#e3fcef;" | Practical application
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
Line 495: Line 529:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | Instabug
| 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:#fffae5;" | Limited experience
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
Line 503: Line 537:
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|- style="background-color:#e3fcef;"
|- style="background-color:#e3fcef;"
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | IntelliJ Idea
| 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;" | Limited experience
| style="vertical-align:middle;" | Practical application
| style="vertical-align:middle;" | Practical application
Line 511: Line 545:
| 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;" | Kamailio
| 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:#fffae5;" | 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;" | Kubernetes
| 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; background-color:#e3fcef;" | Practical application
Line 526: Line 552:
| 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;" | 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;" | Portainer.io
| 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:#fffae5;" | Limited experience
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
Line 534: Line 568:
| 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;" | Secure Manager
| style="background-color:#e3fcef;" | Practical application
| Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|- style="vertical-align:middle;"
| style="background-color:#F4F5F7; text-align:left;" | SAS
| style="background-color:#e3fcef;" | Practical application
| style="background-color:#e3fcef;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|- style="vertical-align:middle;"
| style="background-color:#F4F5F7; text-align:left;" | SCRCPY
| style="background-color:#e3fcef;" | Practical application
| style="background-color:#e3fcef;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|- style="vertical-align:middle;"
|- style="vertical-align:middle;"
| style="background-color:#F4F5F7; text-align:left;" | Terminal/Prompt
| style="background-color:#F4F5F7; text-align:left;" | Terminal/Prompt
Line 567: Line 577:
| Applied theory
| Applied theory
|- style="background-color:#e3fcef;"
|- style="background-color:#e3fcef;"
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | Ubuntu
| 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;" | Practical application

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:

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
Android Development

Must have:

  • 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


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