Full Stack Web Development: Difference between revisions

From Secure Group Wiki
Jump to navigation Jump to search
 
(6 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:
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.
* 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
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.
* Demonstrate proficiency in [[Secure Group Knowledge]]
* Demonstrate proficiency in [[Secure Group Knowledge]]
</br>
</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 31: Line 27:
!4
!4
|-
|-
!Full Stack Web Developer
!1
|5.000
|5.000
|5.150  
|5.150  
Line 37: Line 33:
|5.450  
|5.450  
|-
|-
!Sr. Full Stack Web Developer lvl II
!2
|6.000  
|6.000  
|6.150  
|6.150  
Line 43: Line 39:
|6.450  
|6.450  
|-
|-
!Sr. Full Stack Developer lvl III
!3
|7.000  
|7.000  
|7.150  
|7.150  
Line 49: Line 45:
|7.450  
|7.450  
|-
|-
!Sr. Full Stack Developer lvl IV
!4
|8.000  
|8.000  
|8.150  
|8.150  
Line 55: Line 51:
|8.450  
|8.450  
|-
|-
!Sr. Full Stack Architect lvl V
!5
|9.000  
|9.000  
|9.150  
|9.150  
Line 61: Line 57:
|9.450  
|9.450  
|-
|-
!Sr. Full Stack Architect lvl VI
!6
|10.000  
|10.000  
|10.150  
|10.150  
Line 70: Line 66:
</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">
== ExtensiveKnowledge ==
   </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:#F4F5F7; color:#172B4D;"
|- 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 93: Line 84:
| Level 6
| Level 6
|-
|-
| rowspan="7" style="font-weight:bold; background-color:#F4F5F7; color:#172B4D; text-align:left;" | Frameworks
| 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 150: Line 141:
| Applied theory
| Applied theory
|-
|-
| rowspan="14" style="font-weight:bold; background-color:#F4F5F7; color:#172B4D; text-align:left;" | Programming languages
| 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 263: Line 254:
| Applied theory
| Applied theory
|-
|-
| rowspan="6" style="font-weight:bold; background-color:#F4F5F7; color:#172B4D; text-align:left;" | Libraries
| 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 312: Line 303:
| Applied theory
| Applied theory
|-
|-
| rowspan="2" style="font-weight:bold; background-color:#F4F5F7; text-align:left;" | Protocols
| 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 329: Line 320:
| Applied theory
| Applied theory
|-
|-
| rowspan="21" style="font-weight:bold; background-color:#F4F5F7; color:#172B4D; text-align:left;" | Software/Tools/Platforms - Configuration
| 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 498: Line 489:
| Applied theory
| Applied theory
|-
|-
| rowspan="4" style="font-weight:bold; background-color:#F4F5F7; color:#172B4D; text-align:left;" | Software/Tools/Platforms - Server Administration<br /><br /><br />
| 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 531: Line 522:
| Applied theory
| Applied theory
|-
|-
| style="font-weight:bold; background-color:#F4F5F7; color:#172B4D; text-align:left;" | Languages (idioms)
| 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:



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