Full Stack Web Development: Difference between revisions
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
The | 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 = | |||
= Progression= | |||
In order to progress in our development path and Level Up or Step Up, our Full Stack Web Devs must: | 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 criteria of the Level & Step Chart for the [[Performance#Individual_Contributors_Levels|Individual Contributors Path]] | ||
* Meet the [[ | * 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]] | * Demonstrate proficiency in [[Secure Group Knowledge]] | ||
</br> | </br> | ||
= Salary Grid = | = Salary Grid = | ||
Line 21: | Line 16: | ||
<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 32: | Line 27: | ||
!4 | !4 | ||
|- | |- | ||
! | !1 | ||
|5.000 | |5.000 | ||
|5.150 | |5.150 | ||
Line 38: | Line 33: | ||
|5.450 | |5.450 | ||
|- | |- | ||
! | !2 | ||
|6.000 | |6.000 | ||
|6.150 | |6.150 | ||
Line 44: | Line 39: | ||
|6.450 | |6.450 | ||
|- | |- | ||
! | !3 | ||
|7.000 | |7.000 | ||
|7.150 | |7.150 | ||
Line 50: | Line 45: | ||
|7.450 | |7.450 | ||
|- | |- | ||
! | !4 | ||
|8.000 | |8.000 | ||
|8.150 | |8.150 | ||
Line 56: | Line 51: | ||
|8.450 | |8.450 | ||
|- | |- | ||
! | !5 | ||
|9.000 | |9.000 | ||
|9.150 | |9.150 | ||
Line 62: | Line 57: | ||
|9.450 | |9.450 | ||
|- | |- | ||
! | !6 | ||
|10.000 | |10.000 | ||
|10.150 | |10.150 | ||
Line 72: | Line 67: | ||
= [[Knowledge_Management#Knowledge_Accountability_Index|KAI]] of the framework = | = [[Knowledge_Management#Knowledge_Accountability_Index|KAI]] of the framework = | ||
== Extensive Knowledge == | == Extensive Knowledge == | ||
</div> | </div> | ||
<div class="box-content framework"> | <div class="box-content framework"> | ||
<div class="center"> | <div class="center"> | ||
{| class="wikitable" style="text-align:center; background-color:#DEEBFF; color:#222;" | {| class="wikitable" style="text-align:center; font-size:11px; font-family:Arial, Helvetica, sans-serif !important;; background-color:#DEEBFF; color:#222;" | ||
|- style="font-weight:bold; background-color:# | |- style="font-weight:bold; vertical-align:middle; background-color:#EAECF0; color:#172B4D;" | ||
! rowspan="2" | Type | ! rowspan="2" | Type | ||
! rowspan="2" | Knowledge Description | ! rowspan="2" | Knowledge Description | ||
! colspan="6" | Minimum Grade to acquire Level X | ! colspan="6" | Minimum Grade to acquire Level X | ||
|- style="font-weight:bold; background-color:#F4F5F7; color:#172B4D;" | |- style="font-weight:bold; vertical-align:middle; background-color:#F4F5F7; color:#172B4D;" | ||
| Level 1 | | Level 1 | ||
| Level 2 | | Level 2 | ||
Line 94: | Line 84: | ||
| Level 6 | | Level 6 | ||
|- | |- | ||
| rowspan="7" style="font-weight:bold; background-color:#F4F5F7; color:#172B4D; text-align: | | 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:#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 | ||
Line 151: | Line 141: | ||
| Applied theory | | Applied theory | ||
|- | |- | ||
| rowspan="14" style="font-weight:bold; background-color:#F4F5F7; color:#172B4D; text-align: | | 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:#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 | ||
Line 264: | Line 254: | ||
| Applied theory | | Applied theory | ||
|- | |- | ||
| rowspan="6" style="font-weight:bold; background-color:#F4F5F7; color:#172B4D; text-align: | | 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:#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 | ||
Line 313: | Line 303: | ||
| Applied theory | | Applied theory | ||
|- | |- | ||
| rowspan="2" style="font-weight:bold; background-color:#F4F5F7; text-align: | | 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:#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 | ||
Line 330: | Line 320: | ||
| Applied theory | | Applied theory | ||
|- | |- | ||
| rowspan="21" style="font-weight:bold; background-color:#F4F5F7; color:#172B4D; text-align: | | 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:#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 | ||
Line 499: | Line 489: | ||
| Applied theory | | Applied theory | ||
|- | |- | ||
| rowspan="4" style="font-weight:bold; background-color:#F4F5F7; color:#172B4D; text-align: | | rowspan="4" style="font-weight:bold; background-color:#F4F5F7; color:#172B4D; text-align:center;" | Software/Tools/Platforms - Server Administration<br /><br /><br /> | ||
| style="background-color:#FFF; color:#0052CC; text-align:left;" | [https://www.elastic.co/products/elasticsearch Elasticsearch] | | 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 | ||
Line 532: | Line 522: | ||
| Applied theory | | Applied theory | ||
|- | |- | ||
| style="font-weight:bold; background-color:#F4F5F7; color:#172B4D; text-align: | | 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:#FFF; color:#172B4D; text-align:left;" | Advanced Business English | ||
| style="background-color:#FFFAE5;" | Limited experience | | style="background-color:#FFFAE5;" | Limited experience |
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:
- Meet the criteria of the Level & Step Chart for the Individual Contributors Path
- Meet the KAI grade of the framework related to each level
- Demonstrate proficiency in Secure Group Knowledge
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 |