Full Stack Web Development: Difference between revisions

From Secure Group Wiki
Jump to navigation Jump to search
m (moving the salaries' grid on top and adding a note to salaries section about the net value)
 
(22 intermediate revisions by the same user not shown)
Line 1: Line 1:
The job of Web Developers is to plan, build, test and maintain internet sites and applications. Some relevant part of their work is customer-oriented: either when designing new applications or when suggesting improvements in existent projects. This work-relationship can be very delicate and requires a broad view of the market, business management processes, marketing, and other necessary skills.
The main responsibility of our Full Stack Web Developers is to include plan, build, test, and maintain our Web projects. At the same time, their work is based on customer orientation: either when designing new applications or when suggesting improvements to existing projects. This work-relationship can be very complex and requires a broad view of the market, business management processes, marketing, and other skills.


A developer needs to master several technologies and in different layers. Let's take a brief look at some of them:
Our developers need to master several technologies on different layers. On the business layer side - the PHP 7+ language and the Symfony framework are the starting points. Of course, to master them it's required to know programming patterns in order to minimize time and effort and maximize results. In the data layer, knowledge of the SQL language and some of the most commonly used databases on the web, such as MySQL, PostgreSQL, is indispensable. In the presentation layer, we have HTML and JavaScript as required technologies in order to progress in this framework. Finally, in the DevOps layer, Docker or related knowledge and experience are must-haves.


In the presentation layer, we have HTML, CSS, and Javascript as required technologies. They should also be familiar with other optional technologies such as Actionscripting (Flash), Silverlight, among others. Knowing HTML and CSS is the minimum possible hard skill to have in order to start being effectively productive in Secure Group


In the business rule layer, the PHP language and ASP.NET technology are the starting points. There are, however, several technologies such as JSP, ColdFusion, Ruby on Rails, CGI, among others that can be very useful as well. Of course, to master any of these languages ​​it's required knowledge of programming logic in order to minimize time and effort and maximize results.
= Progression =
In order to progress in our development path and Level Up or Step Up, our Full Stack Web Devs must:
* Meet the criteria of the Level & Step Chart for the [[Performance#Individual_Contributors_Levels|Individual Contributors Path]]
* Meet the [[Full_Stack_Web_Devlopment#KAI_of_the_framework|KAI]] grade of the framework related to each level
* Demonstrate proficiency in [[Secure Group Knowledge]]
</br>


In the data layer, knowledge of the SQL language and some of the most commonly used databases on the web, such as MySQL and SQL Server, is indispensable.


In order to progress in our development path and Level Up or Step Up, our Web Developers must:</br>
* Meet the criteria of the Level & Step Chart for the chosen path ([[Performance#Individual_Contributors_Levels|Individual Contributors Path]] or [[Performance#Management_Path_Levels|Management Path]])
*  Score at least a grade 4 in the [[Knowledge_Management#Knowledge_Accountability_Index|KAI]] of the position in order to reach Level 3.</br>
<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"|Web Development
!colspan="2"|Full Stack Web Development
!colspan="4"|Step
!colspan="4"|Step
|-
|-
Line 29: Line 27:
!4
!4
|-
|-
!Full Stack Web Developer Level 1
!1
|4.500
|5.000
|4.650
|5.150
|4.800
|5.300
|4.950
|5.450
|-
|-
!Sr. Full Stack Web Developer Level 2
!2
|5.500
|6.000
|5.650
|6.150
|5.800
|6.300
|5.950
|6.450
|-
|-
!Sr. Full Stack Developer Level 3
!3
|6.500
|7.000
|6.650
|7.150
|6.800
|7.300
|6.950
|7.450
|-
|-
!Sr. Full Stack Developer Level 4
!4
|7.500
|8.000
|7.650
|8.150
|7.800
|8.300
|7.950
|8.450
|-
|-
!Sr. Full Stack Architect Level 5
!5
|8.500
|9.000
|8.650
|9.150
|8.800
|9.300
|8.950
|9.450
|-
|-
!Sr. Full Stack Architect Level 6
!6
|9.500
|10.000
|9.650
|10.150
|9.800
|10.300
|9.950
|10.450
|}
|}
</div>
</div>
</div>
</div>


= [[Knowledge_Management#Knowledge_Accountability_Index|KAI]] of the position =
= [[Knowledge_Management#Knowledge_Accountability_Index|KAI]] of the framework =
 
== Extensive Knowledge ==
<!-- JOB FRAMEWORK -->
<div class="grid two-columns">
<div class="">
  <div class="box-header center">
== General 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="2"|'''Concepts'''
|- style="font-weight:bold; vertical-align:middle; background-color:#EAECF0; color:#172B4D;"
|[https://en.wikipedia.org/wiki/Balanced_scorecard Balanced Scorecard]
! rowspan="2" | Type
! rowspan="2" | Knowledge Description
! colspan="6" | Minimum Grade to acquire Level X
|- style="font-weight:bold; vertical-align:middle; background-color:#F4F5F7; color:#172B4D;"
| Level 1
| Level 2
| Level 3
| Level 4
| Level 5
| Level 6
|-
|-
|[https://en.wikipedia.org/wiki/Scrum_(software_development) Scrum]
| rowspan="7" style="font-weight:bold; background-color:#F4F5F7; color:#172B4D; text-align:center;" | Frameworks
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Bootstrap_(front-end_framework) Bootstrap]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
!rowspan="1"|'''Frameworks'''
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/PHPUnit PHPUnit]
|[https://en.wikipedia.org/wiki/Scrum_(software_development) Scrum]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
!rowspan="1"|'''Languages'''
| style="background-color:#FFF; color:#172B4D; text-align:left;" | [https://en.wikipedia.org/wiki/Scrum_(software_development) Scrum]
|[https://en.wikipedia.org/wiki/Perl Perl]
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
|-
|-
!rowspan="21"|'''Softwares/Tools/Platforms - Usage'''
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Selenium_(software) Selenium]
|[https://en.wikipedia.org/wiki/Bamboo_(software) Atlassian Bamboo]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/Bitbucket Atlassian Bitbucket]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Symfony Symfony]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/Confluence_(software) Atlassian Confluence]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Vue.js Vue.js]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/Jira_(software) Atlassian Jira]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Yii Yii]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/BambooHR BambooHR]
| rowspan="14" style="font-weight:bold; background-color:#F4F5F7; color:#172B4D; text-align:center;" | Programming languages
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Bash_(Unix_shell) Bash Script]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://combain.com/ Combain]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/PhantomJS#CasperJS CasperJS]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://count.ly/ Countly]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Cascading_Style_Sheets CSS]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://crowdin.com/ Crowdin]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/HTML HTML]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://goharbor.io/ Docker Harbor]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/JavaScript JavaScript]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://docs.docker.com/engine/swarm/ Docker Swarm]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/JSON JSON]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/Kibana Elastic Kibana]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Less_(stylesheet_language) Less]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
||[https://www.elastic.co/products/logstash Elastic Logstash]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Perl Perl]
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/PhpStorm Jetbrains PhpStorm]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/PHP PHP]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/Kamailio Kamailio]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Python_(programming_language) Python]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/Kubernetes Kubernetes]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Sass_(stylesheet_language) SASS]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://www.libib.com/ Libib]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [http://thesassway.com/editorial/sass-vs-scss-which-syntax-is-better SCSS]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/Microsoft_Exchange_Server MS Exchange]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/SQL SQL]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://openstf.io/ OpenSTF]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/XML XML]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://www.small-improvements.com/ Small Improvements]
| rowspan="6" style="font-weight:bold; background-color:#F4F5F7; color:#172B4D; text-align:center;" | Libraries
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Ajax_(programming) Ajax]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://thycotic.com/ Thycotic Passwordbox]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://faker.readthedocs.io/en/master/ Faker]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://unwiredlabs.com/ Unwired Labs]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Guzzle_(PHP_library) Guzzle]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
!rowspan="10"|'''Softwares/Tools/Platforms - Configuration'''
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/JQuery JQuery]
|[https://en.wikipedia.org/wiki/Bitbucket Atlassian Bitbucket]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://count.ly/ Countly]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/React_(JavaScript_library) React.js]
|-  
| style="background-color:#E3FCEF;" | Practical application
|[https://www.docker.com/products/container-runtime Docker Engine/Container]
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://goharbor.io/ Docker Harbor]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Twig_(template_engine) Twig]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://docs.docker.com/engine/swarm/ Docker Swarm]
| rowspan="2" style="font-weight:bold; background-color:#F4F5F7; text-align:center;" | Protocols
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [http://www.bubblecode.net/en/2016/01/22/understanding-oauth2/ Oauth2]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://www.elastic.co/products/elasticsearch Elasticsearch]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/JWt_(Java_web_toolkit) JWT]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/Kibana Elastic Kibana]
| rowspan="21" style="font-weight:bold; background-color:#F4F5F7; color:#172B4D; text-align:center;" | Software/Tools/Platforms - Configuration
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Apache_Tomcat Apache Tomcat]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
||[https://www.elastic.co/products/logstash Elastic Logstash]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Bamboo_(software) Atlassian Bamboo]
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/Kamailio Kamailio]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Bitbucket Atlassian Bitbucket]
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/Kubernetes Kubernetes]
|style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://combain.com/ Combain]
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
|-
|-
!rowspan="2"|'''Softwares/Tools/Platforms - Server Administration'''
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://count.ly/ Countly]
|[https://www.elastic.co/products/elasticsearch Elasticsearch]
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/Kubernetes Kubernetes]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://crowdin.com/ Crowdin]
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
|-
|-
!rowspan="1"|'''Languages (Idioms)'''
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Docker_(software) Docker Compose]
|Advanced English
| style="background-color:#E3FCEF;" | Practical application
|}
| style="background-color:#E3FCEF;" | Practical application
  </div>
| Applied theory
  </div>
| Applied theory
</div>
| Applied theory
 
| Applied theory
<!-- JOB FRAMEWORK -->
<div class="">
  <div class="box-header center">
== Specific Knowledge ==
  </div>
  <div class="box-content framework">
    <div class="center">
{| class="wikitable"
!rowspan="9"|'''Concepts'''
|[https://en.wikipedia.org/wiki/Design_pattern Design Patterns]
|-
|-
|[https://en.wikipedia.org/wiki/Version_control Version Control via Git]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://www.docker.com/products/container-runtime Docker Engine/Container]
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
|-
|-
|Highload projects
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://goharbor.io/ Docker Harbor]
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/Integrated_development_environment IDE]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://docs.docker.com/engine/swarm/ Docker Swarm]
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/Object-oriented_programming OOP]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://www.elastic.co/products/elasticsearch Elasticsearch]
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/Content_management_system CMS]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Kibana Elastic Kibana]
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/Representational_state_transfer REST]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://www.elastic.co/products/logstash Elastic Logstash]
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/Web_performance Web Performance Experience]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Kamailio Kamailio]
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/Internet_security Web Security]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Kubernetes Kubernetes]
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
|-
|-
!rowspan="6"|'''Frameworks'''
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Microsoft_Azure Microsoft Azure]
|[https://en.wikipedia.org/wiki/Bootstrap_(front-end_framework) Bootstrap]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/PHPUnit PHPUnit]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/MySQL MySQL]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/Selenium_(software) Selenium]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Nginx NGINX]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/Symfony Symfony]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Microsoft_Exchange_Server MS Exchange]
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/Vue.js Vue.js]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/PhpStorm Jetbrains PhpStorm]
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/Yii Yii]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://unwiredlabs.com/ Unwired Labs]
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
|-
|-
!rowspan="13"|Languages
| rowspan="4" style="font-weight:bold; background-color:#F4F5F7; color:#172B4D; text-align:center;" | Software/Tools/Platforms - Server Administration<br /><br /><br />
|[https://en.wikipedia.org/wiki/Bash_(Unix_shell) Bash Script]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://www.elastic.co/products/elasticsearch Elasticsearch]
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/PhantomJS#CasperJS CasperJS]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Kubernetes Kubernetes]
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/Cascading_Style_Sheets CSS]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/MySQL MySQL]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/HTML HTML]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Nginx NGINX]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/JavaScript JavaScript]
| style="font-weight:bold; background-color:#F4F5F7; color:#172B4D; text-align:center;" | Languages (idioms)
|-
| style="background-color:#FFF; color:#172B4D; text-align:left;" | Advanced Business English
|[https://en.wikipedia.org/wiki/JSON JSON]
| style="background-color:#FFFAE5;" | Limited experience
|-
| style="background-color:#FFFAE5;" | Limited experience
|[https://en.wikipedia.org/wiki/Less_(stylesheet_language) Less]
| style="background-color:#E3FCEF;" | Practical application
|-
| Applied theory
|[https://en.wikipedia.org/wiki/PHP PHP]
| Applied theory
|-
| Applied theory
|[https://en.wikipedia.org/wiki/Python_(programming_language) Python]
|-
|[https://en.wikipedia.org/wiki/Sass_(stylesheet_language) SASS]
|-
|[http://thesassway.com/editorial/sass-vs-scss-which-syntax-is-better SCSS]
|-
|[https://en.wikipedia.org/wiki/SQL SQL]
|-
|[https://en.wikipedia.org/wiki/XML XML]
|-
!rowspan="6"|Libraries
|[https://en.wikipedia.org/wiki/Ajax_(programming) Ajax]
|-
|[https://faker.readthedocs.io/en/master/ Faker]
|-
|[https://en.wikipedia.org/wiki/Guzzle_(PHP_library) Guzzle]
|-
|[https://en.wikipedia.org/wiki/JQuery JQuery]
|-
|[https://en.wikipedia.org/wiki/React_(JavaScript_library) React.js]
|-
|[https://en.wikipedia.org/wiki/Twig_(template_engine) Twig]
|-
!rowspan="2"|Protocols
|[http://www.bubblecode.net/en/2016/01/22/understanding-oauth2/ Oauth2]
|-
|[https://en.wikipedia.org/wiki/JWt_(Java_web_toolkit) JWT]
|-
!rowspan="3"|Softwares/Tools/Platforms - Usage
|[https://en.wikipedia.org/wiki/Docker_(software) Docker Compose]
|-
|[https://en.wikipedia.org/wiki/MySQL MySQL]
|-
|[https://en.wikipedia.org/wiki/Nginx NGINX]
|-
!rowspan="4"|Softwares/Tools/Platforms - Configuration
|[https://en.wikipedia.org/wiki/Apache_Tomcat Apache Tomcat]
|-
|[https://en.wikipedia.org/wiki/Microsoft_Azure Microsoft Azure]
|-
||[https://en.wikipedia.org/wiki/MySQL MySQL]
|-
|[https://en.wikipedia.org/wiki/Nginx NGINX]
|-
!rowspan="2"|Softwares/Tools/Platforms - Server Administration
||[https://en.wikipedia.org/wiki/MySQL MySQL]
|-
|[https://en.wikipedia.org/wiki/Nginx NGINX]
|}
|}
   </div>
   </div>
Line 276: Line 535:
  </div>
  </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
|-
!Android Development
|-
!Networking concepts
|}
  </div>
</div>
</div> <!-- grid -->
<!-- JOB FRAMEWORK -->
<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
|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.
|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.
|Secure OS
|4
|-
|SAS
|4
|-
|Secure Chat
|4
|-
|Secure Email
|4
|-
|Secure Vault
|4
|-
|Secure Manager
|4
|-
!rowspan="6"|Sales Documentation
|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.
|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.
|Secure OS
|3
|-
|SAS
|3
|-
|Secure Chat
|3
|-
|Secure Email
|3
|-
|Secure Vault
|3
|-
|Secure Manager
|3
|-
!rowspan="6"|Support Documentation
|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.
|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.
|Secure OS
|3
|-
|SAS
|3
|-
|Secure Chat
|3
|-
|Secure Email
|3
|-
|Secure Vault
|3
|-
|Secure Manager
|3
|-
!rowspan="6"|Functional Documentation
|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.
|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.
|Secure OS
|4
|-
|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
|-
|}
  </div>
</div>
</div> <!-- grid -->

Latest revision as of 07:03, 1 November 2021

The main responsibility of our Full Stack Web Developers is to include plan, build, test, and maintain our Web projects. At the same time, their work is based on customer orientation: either when designing new applications or when suggesting improvements to existing projects. This work-relationship can be very complex and requires a broad view of the market, business management processes, marketing, and other skills.

Our developers need to master several technologies on different layers. On the business layer side - the PHP 7+ language and the Symfony framework are the starting points. Of course, to master them it's required to know programming patterns in order to minimize time and effort and maximize results. In the data layer, knowledge of the SQL language and some of the most commonly used databases on the web, such as MySQL, PostgreSQL, is indispensable. In the presentation layer, we have HTML and JavaScript as required technologies in order to progress in this framework. Finally, in the DevOps layer, Docker or related knowledge and experience are must-haves.


Progression

In order to progress in our development path and Level Up or Step Up, our Full Stack Web Devs must:



Salary Grid

All mentioned salary ranges represent the monthly income in Bulgarian Lev after taxes and deductions.

Full Stack Web Development Step
Level
Individual Contributor Path 1 2 3 4
1 5.000 5.150 5.300 5.450
2 6.000 6.150 6.300 6.450
3 7.000 7.150 7.300 7.450
4 8.000 8.150 8.300 8.450
5 9.000 9.150 9.300 9.450
6 10.000 10.150 10.300 10.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 Bootstrap Practical application Practical application Applied theory Applied theory Applied theory Applied theory
PHPUnit Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Scrum Limited experience Limited experience Practical application Applied theory Applied theory Applied theory
Selenium Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Symfony Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Vue.js Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Yii Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Programming languages Bash Script Practical application Practical application Applied theory Applied theory Applied theory Applied theory
CasperJS Practical application Practical application Applied theory Applied theory Applied theory Applied theory
CSS Practical application Practical application Applied theory Applied theory Applied theory Applied theory
HTML Practical application Practical application Applied theory Applied theory Applied theory Applied theory
JavaScript Practical application Practical application Applied theory Applied theory Applied theory Applied theory
JSON Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Less Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Perl Limited experience Limited experience Practical application Applied theory Applied theory Applied theory
PHP Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Python Practical application Practical application Applied theory Applied theory Applied theory Applied theory
SASS Practical application Practical application Applied theory Applied theory Applied theory Applied theory
SCSS Practical application 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 Ajax Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Faker Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Guzzle Practical application Practical application Applied theory Applied theory Applied theory Applied theory
JQuery Practical application Practical application Applied theory Applied theory Applied theory Applied theory
React.js Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Twig Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Protocols Oauth2 Practical application Practical application Applied theory Applied theory Applied theory Applied theory
JWT Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Software/Tools/Platforms - Configuration Apache Tomcat Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Atlassian Bamboo Limited experience Limited experience Practical application Applied theory Applied theory Applied theory
Atlassian Bitbucket Limited experience Limited experience Practical application Applied theory Applied theory Applied theory
Combain Limited experience Limited experience Practical application Applied theory Applied theory Applied theory
Countly Limited experience Limited experience Practical application Applied theory Applied theory Applied theory
Crowdin Limited experience Limited experience Practical application Applied theory Applied theory Applied theory
Docker Compose Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Docker Engine/Container Limited experience Limited experience Practical application Applied theory Applied theory Applied theory
Docker Harbor Limited experience Limited experience Practical application Applied theory Applied theory Applied theory
Docker Swarm Limited experience Limited experience Practical application Applied theory Applied theory Applied theory
Elasticsearch Limited experience Limited experience Practical application Applied theory Applied theory Applied theory
Elastic Kibana Limited experience Limited experience Practical application Applied theory Applied theory Applied theory
Elastic Logstash Limited experience Limited experience Practical application Applied theory Applied theory Applied theory
Kamailio Limited experience Limited experience Practical application Applied theory Applied theory Applied theory
Kubernetes Limited experience Limited experience Practical application Applied theory Applied theory Applied theory
Microsoft Azure Practical application Practical application Applied theory Applied theory Applied theory Applied theory
MySQL Practical application Practical application Applied theory Applied theory Applied theory Applied theory
NGINX Practical application Practical application Applied theory Applied theory Applied theory Applied theory
MS Exchange Limited experience Limited experience Practical application Applied theory Applied theory Applied theory
Jetbrains PhpStorm Limited experience Limited experience Practical application Applied theory Applied theory Applied theory
Unwired Labs Limited experience Limited experience Practical application Applied theory Applied theory Applied theory
Software/Tools/Platforms - Server Administration


Elasticsearch Limited experience Limited experience Practical application Applied theory Applied theory Applied theory
Kubernetes Limited experience Limited experience Practical application Applied theory Applied theory Applied theory
MySQL Practical application Practical application Applied theory Applied theory Applied theory Applied theory
NGINX Practical application Practical application Applied theory Applied theory Applied theory Applied theory
Languages (idioms) Advanced Business English Limited experience Limited experience Practical application Applied theory Applied theory Applied theory