An opinionated guide on how to become a professional Web/Mobile App Developer.
🔹 Developer Handbook 2020 🔹 was created to cover the most common technical questions and requirements appearing prior to job interviews, during onboarding or personal goals / career planning at our company - Apptension. We also like to call it a Technical Documentation of our company.
It contains a lot of subjective technical groups, opinionated technologies, vetted requirements and best practices we gathered for Web & Mobile Developers.
Enjoy reading! 🙇
- Technical Stack – a summary of all topics, languages, frameworks, and libraries we use in production together with checklists of the most important concepts.
- Technical Guide – a complete list of topics (libraries, frameworks, programming concepts/patterns) we follow and recommend to learn to progress in your career to become a better Web / Mobile App Developer.
- Technical Onboarding Checklist – a living document with a checklist of what our Developers should know on different levels when they join our company.
Apptension Technical Stack covers all viable concepts we follow at our company in order to develop production-ready code.
Frontend Developer
- Company practices
- React
- Application state management
- Apptension React Boilerplate
- Styling
- Date & Time
- Routing
- Visualizations
- Animations
- Internationalization
- Audio and Video
- Misc
- Development Tools
- SSR & Prerendering
- Functional programming
- HTTP
- Templating engines
- Fonts
- SEO
- Monitoring
- Forms
- Testing
- Performance
- Common Application Modules
- Backend & DevOps
- Tools
- Browsers
This section describes all technical topics (career development goals, good habits, technologies, libraries, frameworks) divided into career levels that you can use to validate your technical skills and technical decisions taken in the projects you do.
This section describes technical prerequisites for Junior, Regular and Senior Developers who will join or recently joined our company. This is a checklist of concepts we will help you learn during your first two weeks with us.
- Junior Frontend Developer - Technical Onboarding Checklist
- Regular Frontend Developer - Technical Onboarding Checklist
- Senior Frontend Developer - Technical Onboarding Checklist
- Junior Backend Developer - Technical Onboarding Checklist
- Regular Backend Developer - Technical Onboarding Checklist
- Senior Backend Developer - Technical Onboarding Checklist
- Junior DevOps Developer - Technical Onboarding Checklist
- Regular DevOps Developer - Technical Onboarding Checklist
- Senior DevOps Developer - Technical Onboarding Checklist
- Junior Mobile Developer - Technical Onboarding Checklist
- Regular Mobile Developer - Technical Onboarding Checklist
- Senior Mobile Developer - Technical Onboarding Checklist
No, hiring a person is very subjective and will take in count things other than the technical knowledge. This is the guide of what we consider a Regular developer will face during their career path in the company. This is valid for any seniority level.
We consider “Onboarding" the 2 weeks time where a developer will start working in our company. The list under this category is a guide of what skills you should learn/show during these first 2 weeks.
I have many years of experience and I’m considered Senior in another frontend stack, but I don’t know much about the company’s stack. Does it mean I will take a Junior position?
We know developers are very skilled when it comes to learning, and we’re sure a Senior frontend dev will catch up with our stack if he knows what to do. This is exactly what this guide is for :)
To get promoted from Junior to Regular, do I have to check all items in the Junior or Regular section?
A Regular developer should know almost everything (if not everything) from the Junior category and present the skills to learn what’s in the Regular category. In other words, we see that to move from Junior to Regular a developer needs to present a good amount of skills from both. And of course, with soft skills that are analysed case by case.
Apply on our webpage - https://apptension.com/jobs - and good luck!
Yes, contribution is accepted in adding new content for the guide and questioning/correcting mistakes. Since this is a list of tech we use, the introduction of new items should come from the Apptension team. But feel free to fork and use it as your own learning guide!
We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a pull request which will be later validated by our technical team and added to the main docs.
If you will spot any issues please add them in the Issues section.
This page is maintained by the 🇵🇱 Apptension team.
© 2020 Apptension Sp. z o.o.
Built and maintained by Apptension.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.