Android Development: Difference between revisions

From Secure Group Wiki
Jump to navigation Jump to search
 
(70 intermediate revisions by 2 users not shown)
Line 1: Line 1:
The Java and Kotlin programming languages are the basis for developing applications for Android. Therefore, it is very important that the Android developers have the dominance of these languages, mainly focused on Object Orientation, data types, and asynchronous executions, because all this knowledge will be transferred to the Android platform.
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.


In addition, it is important that Android developers know the libraries and the ecosystem of the Android platform. After all, if the features are not performing accordingly, the application could have several problems.
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.


When we speak about Android development, the need for testing is huge because of the application environment's variations, such as the various versions of Android and different screen sizes. Because of that, there are several techniques such as unit tests, integration tests, and interface tests that our Android developers will be required to execute.
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 chosen path ([[Individual_Contributors|Individual Contributors Path]] or [[Management|Management Path]])
* Meet the criteria of the Level & Step Chart for the [[Individual_Contributors|Individual Contributors Path]]
</br>
* 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:


= [[Knowledge_Management#Knowledge_Accountability_Index|KAI]] of the position =
* 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.


<!-- JOB FRAMEWORK -->
<div class="grid two-columns">
<div class="">
  <div class="box-header center">
== General Knowledge ==
  </div>
  <div class="box-content framework">
    <div class="center">
{| class="wikitable"
{| class="wikitable"
!rowspan="1"|'''Concepts'''
|[https://en.wikipedia.org/wiki/Balanced_scorecard Balanced Scorecard]
|-
|-
!rowspan="1"|'''Frameworks'''
! Level A Framework !! Description
|[https://en.wikipedia.org/wiki/Scrum_(software_development) Scrum]
|-
|-
!rowspan="3"|'''Languages'''
|<center>Android Development ||
|[https://en.wikipedia.org/wiki/Cascading_Style_Sheets CSS]
'''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
|-
|-
|[https://en.wikipedia.org/wiki/HTML HTML]
!A Path
|colspan="4"|2.500 - 3.500
|}
</br>
{| class="wikitable"
!colspan="6"|Android Development
|-
|-
|[https://en.wikipedia.org/wiki/JavaScript JavaScript]
!rowspan="11"|Level
|-
|-
!rowspan="20"|'''Softwares/Tools/Platforms - Usage'''
!rowspan="2"|Individual Contributor Path
|[https://en.wikipedia.org/wiki/Bamboo_(software) Atlassian Bamboo]
!colspan="4"|Step
|-
|-
|[https://en.wikipedia.org/wiki/Bitbucket Atlassian Bitbucket]
!1
!2
!3
!4
|-
|-
|[https://en.wikipedia.org/wiki/Confluence_(software) Atlassian Confluence]
!1
|6.000
|6.150
|6.300
|6.450
|-
|-
|[https://en.wikipedia.org/wiki/Jira_(software) Atlassian Jira]
!2
|7.000
|7.150
|7.300
|7.450
|-
|-
|[https://en.wikipedia.org/wiki/BambooHR BambooHR]
!3
|8.000
|8.150
|8.300
|8.450
|-
|-
|[https://combain.com/ Combain]
!4
|9.000
|9.150
|9.300
|9.450
|-
|-
|[https://count.ly/ Countly]
!5
|10.000
|10.150
|10.300
|10.450
|-
|-
|[https://crowdin.com/ Crowdin]
!6
|-
|11.000
|[https://en.wikipedia.org/wiki/Kibana Elastic Kibana]
|11.150
|-
|11.300
||[https://www.elastic.co/products/logstash Elastic Logstash]
|11.450
|-
|[https://www.gerritcodereview.com/ Gerrit]
|-
|[https://en.wikipedia.org/wiki/Openfire Ingnite Realtime Openfire]
|-
|[https://en.wikipedia.org/wiki/Instabug Instabug]
|-
|[https://en.wikipedia.org/wiki/Kamailio Kamailio]
|-
|[https://en.wikipedia.org/wiki/Kubernetes Kubernetes]
|-
|[https://www.libib.com/ Libib]
|-
|[https://openstf.io/ OpenSTF]
|-
|[https://www.small-improvements.com/ Small Improvements]
|-
|[https://unwiredlabs.com/ Unwired Labs]
|-
|[https://thycotic.com/ Thycotic Passwordbox]
|-
!rowspan="6"|'''Softwares/Tools/Platforms - Configuration'''
|[https://en.wikipedia.org/wiki/Bitbucket Atlassian Bitbucket]
|-
|[https://en.wikipedia.org/wiki/Kibana Elastic Kibana]
|-
|[https://en.wikipedia.org/wiki/Elasticsearch Elasticsearch]
|-
|[https://www.gerritcodereview.com/ Gerrit]
|-
|[https://en.wikipedia.org/wiki/Openfire Ignite Realtime Openfire]
|-
|[https://en.wikipedia.org/wiki/Kamailio Kamailio]
|-
!rowspan="1"|'''Languages (Idioms)'''
|Advanced English
|}
|}
   </div>
   </div>
  </div>
  </div>
</div>


<!-- JOB FRAMEWORK -->
= [[Knowledge_Management#Knowledge_Accountability_Index|KAI]] of the framework =
<div class="">
== Extensive Knowledge ==
  <div class="box-header center">
 
== Specific 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="12"|'''Concepts'''
|- style="font-weight:bold; vertical-align:middle; background-color:#EAECF0; color:#172B4D;"
|Activities, Services, Content Providers and Broadcast Receivers, EventBus
! rowspan="2" | Type
|-
! rowspan="2" | Knowledge Description
|[https://en.wikipedia.org/wiki/Algorithm#Design Algorithm design]
! colspan="6" | Minimum Grade to acquire Level X
|-
|- style="font-weight:bold; vertical-align:middle; background-color:#F4F5F7; color:#172B4D;"
|[https://en.wikipedia.org/wiki/Application_programming_interface API concepts]
| Level 1
|-
| Level 2
|[https://en.wikipedia.org/wiki/Database Database]
| Level 3
|-
| Level 4
|Design Patterns: [https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93presenter MVP], [https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93viewmodel MVVM], [https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller MVC]
| Level 5
|-
| Level 6
|[https://en.wikipedia.org/wiki/Responsive_web_design Responsive Designs]
|-
|RxJava/RxAndroid
|-
|[https://en.wikipedia.org/wiki/Data_store Data store]
|-
|[https://en.wikipedia.org/wiki/Test-driven_development TDD]
|-
|[https://en.wikipedia.org/wiki/Unit_testing Unit testing]
|-
|User input
|-
|[https://en.wikipedia.org/wiki/Version_control Version Control] via Git
|-
!rowspan="3"|'''Frameworks'''
|[https://developer.android.com/topic/libraries/architecture Android Components]
|-
|[https://en.wikipedia.org/wiki/JUnit JUnit]
|-
|[https://en.wikipedia.org/wiki/Android_software_development#SDK The Android SDK]
|-
!rowspan="6"|'''Languages'''
|[https://en.wikipedia.org/wiki/Command-line_interface Command Line]
|-
|[https://en.wikipedia.org/wiki/Gradle Gradle]
|-
|-
|[https://en.wikipedia.org/wiki/Kotlin_(programming_language) Kotlin]
| 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/Python_(programming_language) Python]
| 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/SQL SQL]
| 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
|-
|-
|[https://en.wikipedia.org/wiki/XML XML]
| 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
|-
|-
!rowspan="10"|'''Libraries'''
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/XMPP XMPP or any messaging protocols]
|[https://dagger.dev/ Dagger]
| 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/Butter_knife Jake Wharton Butter Knife]
| 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/Linphone Linphone]
| 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://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/ews-applications-and-the-exchange-architecture Microsoft Exchange web services (EWS)]
| 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/Mockito Mockito], [https://developer.android.com/training/testing/espresso Espresso]
| 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
|-
|-
|[https://square.github.io/picasso/ Picasso], [https://en.wikipedia.org/wiki/Glide_(software) Glide], [https://frescolib.org/ Fresco], [https://github.com/nostra13/Android-Universal-Image-Loader Imageloader]
| 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://en.wikipedia.org/wiki/Retrofitting Retrofitting]
| 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
|-
|-
|[https://en.wikipedia.org/wiki/Smack_(software) SMACK]
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/C%2B%2B C/C++]
| 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://www.woodsolutions.com.au/articles/timber-solutions-software WoodSolutions Timber]
| 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
|-
|-
|[https://www.zetetic.net/sqlcipher/ Zetetic SQL Cipher]
| 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
|-
|-
!rowspan="2"|'''Protocols'''
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/HTML HTML]
|[https://en.wikipedia.org/wiki/Session_Initiation_Protocol SIP protocol]
| 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/XMPP XMPP]
| 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
|-
|-
!rowspan="3"|'''Softwares/Tools/Platforms - Configuration'''
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/JavaScript JavaScript]
|[https://en.wikipedia.org/wiki/Bamboo_(software) Atlassian Bamboo]
| 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/Android_Studio Android Studio]
| 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/Apache_Tomcat Apache Tomcat]
| 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
|-
|-
!rowspan="4"|'''Softwares/Tools/Platforms - Usage'''
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/SQL SQL]
|[https://en.wikipedia.org/wiki/Bamboo_(software) Atlassian Bamboo]
| 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/Android_Studio Android Studio]
| 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;" | 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/Appium Appium]
| 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]
|[https://github.com/Genymobile/scrcpy SCRCPY]
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
|-
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
!rowspan="1"|'''Softwares/Tools/Platforms - Server Administration'''
| style="vertical-align:middle;" | Applied theory
|[https://en.wikipedia.org/wiki/Android_Studio Android Studio]
| style="vertical-align:middle;" | Applied theory
|}
| style="vertical-align:middle;" | Applied theory
  </div>
| style="vertical-align:middle;" | Applied theory
  </div>
</div>
</div>
 
<!-- JOB FRAMEWORK -->
<div class="">
  <div class="box-header center">
 
= IT Knowledge =
  </div>
  <div class="box-content framework center">
    <div class="">
{| class="wikitable"
!System Administration
|-
|-
!System Administration - Day to Day Ops
| 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
|-
|-
!Networking concepts
| 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
</div>
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
</div>
| style="vertical-align:middle;" | Applied theory
</div> <!-- grid -->
| style="vertical-align:middle;" | Applied theory
 
| style="vertical-align:middle;" | Applied theory
<!-- JOB FRAMEWORK -->
| style="vertical-align:middle;" | Applied theory
<div class="">
  <div class="box-header center">
= Secure Group Knowledge =
The first item we require proficiency regarding our company is the '''Secure Group Management Model''' (yes, the content in this wiki!). Besides that, we also need our employees to understand our products in all aspects as described in the following table:
  </div>
  <div class="box-content framework">
    <div class="center">
{| class="wikitable"
!colspan="1"|Secure Group Knowledge
!rowspan="1"|What's Expected
!rowspan="1"|Impact
!rowspan="1"|Product
!colspan="1"|Minimum Grade
|-
|-
!rowspan="6"|User Documentation
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://greenrobot.org/eventbus/ EventBus]
|rowspan="6"|Good, user-level knowledge regarding the product and its functionalities. From the user documentation, all employees across the company are required to be well aware of our solutions’ core features and functions such as the Password Advisor or how to send an automatic crash report.
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
|rowspan="6"|This knowledge helps us facilitate a user-centric approach internally, which we believe is essential to develop our business and solutions. The user documentation helps team members understand user behavior and needs more thoroughly and feel the impact of their everyday efforts.
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
|Secure OS
| style="vertical-align:middle;" | Applied theory
|4
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
|SAS
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://developer.android.com/kotlin/coroutines?gclid=CjwKCAiA6aSABhApEiwA6Cbm__HCyPN3oUxAYvPEmqwt2AczHZ0b4I2ibfqqUwbf4noARmNwGkebmBoC4XIQAvD_BwE&gclsrc=aw.ds Kotlin Coroutines]
|4
| 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
|-
|-
|Secure Chat
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/Butter_knife Jake Wharton Butter Knife]
|4
| 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
|-
|-
|Secure Email
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/Linphone Linphone or any SPI SDK]
|4
| 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
|-
|-
|Secure Vault
| 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)]
|4
| 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
|-
|-
|Secure Manager
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/Mockito Mockito]
|4
| 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
|-
|-
!rowspan="6"|Sales Documentation
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://square.github.io/okhttp/ OkHttp]
|rowspan="6"|Employees should gain significant knowledge regarding the business side of '''Secure Group'''. They need to be aware of commonly used concepts in our day-to-day activities such as our business and distribution model, value proposition, selling prices, key selling points, and target audience.
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
|rowspan="6"|The information in the Sales Documentation supports employees in their daily routine. It conveys the overall business vision within the company. This documentation contributes to making employees aware of how our solutions are distributed, who are our key partners and target market to know exactly the people towards whom team members’ efforts should be aimed. Alignment on company-wide priorities is also achieved through clear communication of our value proposition and key selling points, helping everyone understand the things that matter most.
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
|Secure OS
| style="vertical-align:middle;" | Applied theory
|3
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
|SAS
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://square.github.io/picasso/ Picasso/Glide/Fresco/Imageloader]
|3
| 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
|-
|-
|Secure Chat
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://square.github.io/retrofit/ Retrofit]
|3
| 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
|-
|-
|Secure Email
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://github.com/igniterealtime/Smack SMACK or any XMPP client library]
|3
| 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
|-
|-
|Secure Vault
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://github.com/JakeWharton/timber Timber]
|3
| 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
|-
|-
|Secure Manager
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://www.zetetic.net/sqlcipher/ Zetetic SQL Cipher]
|3
| 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
|-
|-
!rowspan="6"|Support Documentation
| rowspan="19" style="vertical-align:middle; font-weight:bold; background-color:#F4F5F7;" | Softwares/Tools/Platforms
|rowspan="6"|People within the company need to be aware of commonly occurring problems with our solutions. From the Support Documentation, employees should also extract general level knowledge regarding support processes, the issues that we’re currently having product-wise, and the approach to troubleshooting them.
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/Bitbucket Atlassian Bitbucket or any code management tool]
|rowspan="6"|o The Support Documentation helps employees understand short-term priorities more clearly and communicate more openly why they’re needed. It also gives them general knowledge of how to spot and report a problem, which helps us facilitate a company-wide contribution to product development. Last but by no means least, it helps team members understand customers pains and behavioral patterns to strengthen our user-centric approach.
| style="vertical-align:middle; background-color:#fffae5;" | Limited experience
|Secure OS
| style="vertical-align:middle; background-color:#fffae5;" | Limited experience
|3
| 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
|-
|-
|SAS
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/Bamboo_(software) Atlassian Bamboo or Jenkins]
|3
| 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
|-
|-
|Secure Chat
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/Android_Studio Android Studio]
|3
| 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
|-
|-
|Secure Email
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/Appium Appium/Selenium]
|3
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
|-
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
|Secure Vault
| style="vertical-align:middle;" | Applied theory
|3
| style="vertical-align:middle;" | Applied theory
|-
| style="vertical-align:middle;" | Applied theory
|Secure Manager
| style="vertical-align:middle;" | Applied theory
|3
|- style="vertical-align:middle;"
|-
| style="background-color:#F4F5F7; text-align:left;" | Billing Systems
!rowspan="6"|Functional Documentation
| style="background-color:#e3fcef;" | Practical application
|rowspan="6"|Through the Functional Documentation, employees should get a thorough understanding of the solutions and their multiple features. People that work closely with the products must understand exactly how they function, how users interact with them, how to configure different settings, and what’s the expected behavior of different software solutions.
| style="background-color:#e3fcef;" | Practical application
|rowspan="6"|o The information in the Functional Documentation helps employees whose work is closely connected with our solutions, to gain significant in-depth knowledge into their functionalities that far exceeds users‘ understanding. Such thorough product expertise helps us remain objective, evaluate market data more adequately, and constantly increase our internal expertise.
| Applied theory
|Secure OS
| Applied theory
|4
| Applied theory
|-
| Applied theory
|SAS
|4
|-
|Secure Chat
|4
|-
|Secure Email
|4
|-
|Secure Vault
|4
|-
|Secure Manager
|4
|-
!rowspan="6"|Technical Documentation
|rowspan="6"|Employees concerned with the Technical Documentation and more concretely - software development, must gain complete mastery over all solutions. Such people are regarded as technical experts and need to be well aware of data structures, relational databases, algorithms, programming languages, models, etc.
|rowspan="6"|The Technical Documentation is used to make sure people that are technically involved in product development have the required knowledge to perform their day-to-day tasks, optimize our solutions more easily, and support other teams with their in-depth expertise.
|Secure OS
|4
|-
|SAS
|4
|-
|Secure Chat
|4
|-
|Secure Email
|4
|-
|Secure Vault
|4
|-
|Secure Manager
|4
|-
|}
 
= Salary Grid =
{| class="wikitable"
!colspan="3"|Android Development
!colspan="4"|Step
|-
!rowspan="11"|Level
|-
!Individual Contributor Path
!Management Path
!1
!2
!3
!4
|-
|-
!1: Android Developer
| 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
|4.500 lv
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
|4.650 lv
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
|4.800 lv
| style="vertical-align:middle;" | Applied theory
|4.950 lv
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
!2: Sr. Android Developer
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://www.docker.com/ Docker]
!-
| style="vertical-align:middle; background-color:#fffae5;" | Limited experience
|5.500 lv
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
|5.650 lv
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
|5.800 lv
| style="vertical-align:middle;" | Applied theory
|5.950 lv
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
!3: Android Software Engineer
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://www.elastic.co/kibana Elastic Kibana]
!Manager
| style="vertical-align:middle; background-color:#fffae5;" | Limited experience
|6.500 lv
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
|6.650 lv
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
|6.800 lv
| style="vertical-align:middle;" | Applied theory
|6.950 lv
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
!4: Sr. Android Software Engineer
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://firebase.google.com/ Firebase]
!Sr. Manager
| style="vertical-align:middle; background-color:#fffae5;" | Limited experience
|7.500 lv
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
|7.650 lv
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
|7.800 lv
| style="vertical-align:middle;" | Applied theory
|7.950 lv
| 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
|-
|-
!5: Android System Architect
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://gradle.org/ Gradle]
!Head of
| style="vertical-align:middle; background-color:#fffae5;" | Limited experience
|8.500 lv
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
|8.650 lv
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
|8.800 lv
| style="vertical-align:middle;" | Applied theory
|8.950 lv
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
!6: Sr. Android System Architect
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/Git?wprov=srpw1_0 Git or SVN]
!Director
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
|9.500 lv
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
|9.650 lv
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
|9.800 lv
| style="vertical-align:middle;" | Applied theory
|9.950 lv
| style="vertical-align:middle;" | Applied theory
| style="vertical-align:middle;" | Applied theory
|-
|-
!colspan="2"|Sr. Director
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/Openfire Ignite Realtime Openfire or any XMPP server]
|10.500 lv
| style="vertical-align:middle; background-color:#fffae5;" | Limited experience
|10.900 lv
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
|11.300 lv
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
|11.700 lv
| 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
|-
|-
!colspan="2"|Chief of
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://en.wikipedia.org/wiki/Kamailio Kamailio or an SIP server]
|12.700 lv
| style="vertical-align:middle; background-color:#fffae5;" | Limited experience
|13.100 lv
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
|13.500 lv
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
|13.900 lv
| 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
|-
|-
!colspan="2"|VP
| style="background-color:#F4F5F7; color:#36B; text-align:left;" | [https://www.portainer.io/ Portainer.io]
|14.900 lv
| style="vertical-align:middle; background-color:#fffae5;" | Limited experience
|15.300 lv
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
|15.700 lv
| style="vertical-align:middle; background-color:#e3fcef;" | Practical application
|16.100 lv
| 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:

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