Full Stack Web Development: Difference between revisions

From Secure Group Wiki
Jump to navigation Jump to search
 
(24 intermediate revisions by 2 users 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>
= Salary Grid =
* 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]])
All mentioned salary ranges represent the monthly income in Bulgarian Lev after taxes and deductions.
*  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">
 
 
= [[Knowledge_Management#Knowledge_Accountability_Index|KAI]] of the position =
 
<!-- 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="2"|'''Concepts'''
!colspan="2"|Full Stack Web Development
|[https://en.wikipedia.org/wiki/Balanced_scorecard Balanced Scorecard]
!colspan="4"|Step
|-
|-
|[https://en.wikipedia.org/wiki/Scrum_(software_development) Scrum]
!rowspan="11"|Level
|-
|-
!rowspan="1"|'''Frameworks'''
!Individual Contributor Path
|[https://en.wikipedia.org/wiki/Scrum_(software_development) Scrum]
!1
!2
!3
!4
|-
|-
!rowspan="1"|'''Languages'''
!1
|[https://en.wikipedia.org/wiki/Perl Perl]
|5.000
|5.150
|5.300
|5.450
|-
|-
!rowspan="21"|'''Softwares/Tools/Platforms - Usage'''
!2
|[https://en.wikipedia.org/wiki/Bamboo_(software) Atlassian Bamboo]
|6.000
|6.150
|6.300
|6.450
|-
|-
|[https://en.wikipedia.org/wiki/Bitbucket Atlassian Bitbucket]
!3
|7.000
|7.150
|7.300
|7.450
|-
|-
|[https://en.wikipedia.org/wiki/Confluence_(software) Atlassian Confluence]
!4
|-
|8.000
|[https://en.wikipedia.org/wiki/Jira_(software) Atlassian Jira]
|8.150
|-
|8.300
|[https://en.wikipedia.org/wiki/BambooHR BambooHR]
|8.450
|-
|[https://combain.com/ Combain]
|-
|[https://count.ly/ Countly]
|-
|[https://crowdin.com/ Crowdin]
|-
|[https://goharbor.io/ Docker Harbor]
|-
|-
|[https://docs.docker.com/engine/swarm/ Docker Swarm]
!5
|9.000
|9.150
|9.300
|9.450
|-
|-
|[https://en.wikipedia.org/wiki/Kibana Elastic Kibana]
!6
|-
|10.000
||[https://www.elastic.co/products/logstash Elastic Logstash]
|10.150
|-
|10.300
|[https://en.wikipedia.org/wiki/PhpStorm Jetbrains PhpStorm]
|10.450
|-
|[https://en.wikipedia.org/wiki/Kamailio Kamailio]
|-
|[https://en.wikipedia.org/wiki/Kubernetes Kubernetes]
|-
|[https://www.libib.com/ Libib]
|-
|[https://en.wikipedia.org/wiki/Microsoft_Exchange_Server MS Exchange]
|-
|[https://openstf.io/ OpenSTF]
|-
|[https://www.small-improvements.com/ Small Improvements]
|-
|[https://thycotic.com/ Thycotic Passwordbox]
|-
|[https://unwiredlabs.com/ Unwired Labs]
|-
!rowspan="10"|'''Softwares/Tools/Platforms - Configuration'''
|[https://en.wikipedia.org/wiki/Bitbucket Atlassian Bitbucket]
|-
|[https://count.ly/ Countly]
|-
|[https://www.docker.com/products/container-runtime Docker Engine/Container]
|-
|[https://goharbor.io/ Docker Harbor]
|-
|[https://docs.docker.com/engine/swarm/ Docker Swarm]
|-
|[https://www.elastic.co/products/elasticsearch Elasticsearch]
|-
|[https://en.wikipedia.org/wiki/Kibana Elastic Kibana]
|-
||[https://www.elastic.co/products/logstash Elastic Logstash]
|-
|[https://en.wikipedia.org/wiki/Kamailio Kamailio]
|-
|[https://en.wikipedia.org/wiki/Kubernetes Kubernetes]
|-
!rowspan="2"|'''Softwares/Tools/Platforms - Server Administration'''
|[https://www.elastic.co/products/elasticsearch Elasticsearch]
|-
|[https://en.wikipedia.org/wiki/Kubernetes Kubernetes]
|-
!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="9"|'''Concepts'''
|- style="font-weight:bold; vertical-align:middle; background-color:#EAECF0; color:#172B4D;"
|[https://en.wikipedia.org/wiki/Design_pattern Design Patterns]
! rowspan="2" | Type
|-
! rowspan="2" | Knowledge Description
|[https://en.wikipedia.org/wiki/Version_control Version Control via Git]
! colspan="6" | Minimum Grade to acquire Level X
|-
|- style="font-weight:bold; vertical-align:middle; background-color:#F4F5F7; color:#172B4D;"
|Highload projects
| Level 1
|-
| Level 2
|[https://en.wikipedia.org/wiki/Integrated_development_environment IDE]
| Level 3
|-
| Level 4
|[https://en.wikipedia.org/wiki/Object-oriented_programming OOP]
| Level 5
| Level 6
|-
|-
|[https://en.wikipedia.org/wiki/Content_management_system CMS]
| 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
|-
|-
|[https://en.wikipedia.org/wiki/Representational_state_transfer REST]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/PHPUnit PHPUnit]
| 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/Web_performance Web Performance Experience]
| style="background-color:#FFF; color:#172B4D; text-align:left;" | [https://en.wikipedia.org/wiki/Scrum_(software_development) Scrum]
| 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/Selenium_(software) Selenium]
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
!rowspan="6"|'''Frameworks'''
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Symfony Symfony]
|[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/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/Selenium_(software) Selenium]
| 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/Symfony Symfony]
| 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://en.wikipedia.org/wiki/Vue.js Vue.js]
| 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://en.wikipedia.org/wiki/Yii Yii]
| 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
|-
|-
!rowspan="13"|Languages
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/HTML HTML]
|[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://en.wikipedia.org/wiki/PhantomJS#CasperJS CasperJS]
| 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://en.wikipedia.org/wiki/Cascading_Style_Sheets CSS]
| 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/HTML HTML]
| 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://en.wikipedia.org/wiki/JavaScript JavaScript]
| 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/JSON JSON]
| 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/Less_(stylesheet_language) Less]
| 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/PHP PHP]
| 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://en.wikipedia.org/wiki/Python_(programming_language) Python]
| 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/Sass_(stylesheet_language) SASS]
| 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
|-
|-
|[http://thesassway.com/editorial/sass-vs-scss-which-syntax-is-better SCSS]
| 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://en.wikipedia.org/wiki/SQL SQL]
| 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://en.wikipedia.org/wiki/XML XML]
| 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
|-
|-
!rowspan="6"|Libraries
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Guzzle_(PHP_library) Guzzle]
|[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://faker.readthedocs.io/en/master/ Faker]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/JQuery JQuery]
| 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/Guzzle_(PHP_library) Guzzle]
| 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
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|[https://en.wikipedia.org/wiki/JQuery JQuery]
| 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://en.wikipedia.org/wiki/React_(JavaScript_library) React.js]
| 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://en.wikipedia.org/wiki/Twig_(template_engine) Twig]
| 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
|-
|-
!rowspan="2"|Protocols
| rowspan="21" style="font-weight:bold; background-color:#F4F5F7; color:#172B4D; text-align:center;" | Software/Tools/Platforms - Configuration
|[http://www.bubblecode.net/en/2016/01/22/understanding-oauth2/ Oauth2]
| 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://en.wikipedia.org/wiki/JWt_(Java_web_toolkit) JWT]
| 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
|-
|-
!rowspan="3"|Softwares/Tools/Platforms - Usage
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Bitbucket Atlassian Bitbucket]
|[https://en.wikipedia.org/wiki/Docker_(software) Docker Compose]
| 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/MySQL MySQL]
|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
|-
|-
|[https://en.wikipedia.org/wiki/Nginx NGINX]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://count.ly/ Countly]
| 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="4"|Softwares/Tools/Platforms - Configuration
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://crowdin.com/ Crowdin]
|[https://en.wikipedia.org/wiki/Apache_Tomcat Apache Tomcat]
| 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/Microsoft_Azure Microsoft Azure]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Docker_(software) Docker Compose]
| 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/MySQL MySQL]
| 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
|-
|-
|[https://en.wikipedia.org/wiki/Nginx NGINX]
| 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
|-
|-
!rowspan="2"|Softwares/Tools/Platforms - Server Administration
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://docs.docker.com/engine/swarm/ Docker Swarm]
||[https://en.wikipedia.org/wiki/MySQL MySQL]
| 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/Nginx NGINX]
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://www.elastic.co/products/elasticsearch Elasticsearch]
|}
| style="background-color:#FFFAE5;" | Limited experience
  </div>
| style="background-color:#FFFAE5;" | Limited experience
  </div>
| style="background-color:#E3FCEF;" | Practical application
</div>
| Applied theory
</div>
| Applied theory
 
| Applied theory
<!-- 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:#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
|-
|-
!Android Development
| 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
|-
|-
!Networking concepts
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Kamailio Kamailio]
|}
| style="background-color:#FFFAE5;" | Limited experience
  </div>
| style="background-color:#FFFAE5;" | Limited experience
</div>
| style="background-color:#E3FCEF;" | Practical application
</div> <!-- grid -->
| Applied theory
 
| Applied theory
<!-- JOB FRAMEWORK -->
| 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
|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
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Kubernetes Kubernetes]
|3
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
|-
|-
|Secure Vault
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Microsoft_Azure Microsoft Azure]
|3
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
|Secure Manager
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/MySQL MySQL]
|3
| style="background-color:#E3FCEF;" | Practical application
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
| Applied theory
|-
|-
!rowspan="6"|Support Documentation
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Nginx NGINX]
|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:#E3FCEF;" | Practical application
|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="background-color:#E3FCEF;" | Practical application
|Secure OS
| Applied theory
|3
| Applied theory
| Applied theory
| Applied theory
|-
|-
|SAS
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Microsoft_Exchange_Server MS Exchange]
|3
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
|-
|-
|Secure Chat
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/PhpStorm Jetbrains PhpStorm]
|3
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
|-
|-
|Secure Email
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://unwiredlabs.com/ Unwired Labs]
|3
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
|-
|-
|Secure Vault
| rowspan="4" style="font-weight:bold; background-color:#F4F5F7; color:#172B4D; text-align:center;" | Software/Tools/Platforms - Server Administration<br /><br /><br />
|3
| 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
|-
|-
|Secure Manager
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Kubernetes Kubernetes]
|3
| 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"|Functional Documentation
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/MySQL MySQL]
|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.
| style="background-color:#E3FCEF;" | Practical application
|Secure OS
| Applied theory
|4
| Applied theory
| Applied theory
| Applied theory
|-
|-
|SAS
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://en.wikipedia.org/wiki/Nginx NGINX]
|4
| style="background-color:#E3FCEF;" | Practical application
|-
| style="background-color:#E3FCEF;" | Practical application
|Secure Chat
| Applied theory
|4
| Applied theory
|-
| Applied theory
|Secure Email
| Applied theory
|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
|-
|-
| 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
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#FFFAE5;" | Limited experience
| style="background-color:#E3FCEF;" | Practical application
| Applied theory
| Applied theory
| Applied theory
|}
|}
  </div>
   </div>
   </div>
  </div>
  </div>
</div> <!-- grid -->
</div>
 
= Salary Grid =
<div class="center">
{| class="wikitable"
!colspan="2"|Web Development
!colspan="4"|Step
|-
!rowspan="11"|Level
|-
!Individual Contributor Path
!1
!2
!3
!4
|-
!Full Stack Web Developer Level 1
|4.500 lv
|4.650 lv
|4.800 lv
|4.950 lv
|-
!Sr. Full Stack Web Developer Level 2
|5.500 lv
|5.650 lv
|5.800 lv
|5.950 lv
|-
!Sr. Full Stack Engineer Level 3
|6.500 lv
|6.650 lv
|6.800 lv
|6.950 lv
|-
!Sr. Full Stack Engineer Level 4
|7.500 lv
|7.650 lv
|7.800 lv
|7.950 lv
|-
!Sr. Full Stack Architect Level 5
|8.500 lv
|8.650 lv
|8.800 lv
|8.950 lv
|-
!Sr. Full Stack Architect Level 6
|9.500 lv
|9.650 lv
|9.800 lv
|9.950 lv
|}

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