When you look at the majority of
full-stack developer and the majority of job offers that look for a `full-stack we only have two big part that is dug up:
the classic front end/back end duo
front end dev capabilities being often only js, little HTML, and little CSS.
back end capabilities, often only js and database.
But that's not my definition of what a
true full-stack developer scope of knowledge should cover. Let me dig in now in all the other parts you should start to get interested in and learn to achieve this scope.
the list :
- Front and back
- Technical Monitoring
Front and back are the main tools in your daily work and you should focus your first phase of learning on these two subjects.
Get specialized in using a CSS framework. I recommend
Tailwind as it forces you to know your CSS and also lets you think hard about your interface.
You should be able to put an interface together from a template made by your designer
As a modern software engineer you will deal with
git A LOT and a proper way to handle git is to include CI/CD process to ensure quality and add automation things to gain time and quality for your project. Large-scale applications will have a strong CI/CD in place.
That means that sometimes you will handle use cases that include CI/CD to be fixed or created. Knowing your CI game will make your proposal of improvement and fix more impactful.
We all know this now but cloud-computing is the thing at the moment. Your production environment, pre-production, and even sometimes local will work on services of famous cloud provisioner like
AWS. Starting from this simple fact we can conclude that a big part of what is going on behind your daily work is Infrastructure and it's much more accessible than you think.
Knowing your infrastructure game will allow you to be efficient on your codebase behavior and also allow you to build up a little working POC fast. I strongly recommend learning Infra stuff and even try to pass a certification as it let you learn a lot on the subject.
You will need it for logging system and track, alert setup, managing some DB understanding in deep your CI system, manage the load on your app, and many other things.
Yes, we all are now using the famous agile method in various ways like
SCRUM but do you truly understand what it means, except doing daily meetings and 2 weeks sprint?
Agile has one goal: delete key blocker points and relief a team from a pain point. A developer as he is a daily user of this working method should always be proactive on how his team apply the agile method and find a way to fix pain point.
Rework your daily meetings challenge the importance of each meeting and work with your PO or scrum master hand in hand to improve your working process (extreme programming - a clear definition of done, the definition of ready, etc...)
AND MOST IMPORTANT overdo
technological monitor about web dev, and SHARE everything you learn that is in the scope of your activities, It could be
VSCODE last update, share benchmark of apple M1, explain a lib to co-workers or just do R&D project with them or on your own
As described above, Web development covers a large scope. To conclude I will give you one last tip. Don't overlearn on all of this subject.
My best advice is to know a little of all but search for solid notions and to specialize in only some of those subjects.
We are developers, our main activity is to code. Just get rock solid on the back end and front end dev and then use some of your time to learn all of those side subjects but do not become a pro on it, you are not a DevOps you are not a Scrum Master or a tech guru that do bigs conferences.
You're a software engineer that need to understand and challenge all this other subject to be better at what you do - coding.
cover image link: Technology picture created by pressfoto - fr.freepik.com