Для свого розвитку треба розуміти, які навички потрібні програмісту на Python. тут збираю що почув-побачив. Пишуть що усе те що тут є по факту готовий Senior. Тримайтеся міцніше як будете те все читати 🙂
*Сподіваюсь, зрозуміло, вказані навички вони не усі разом потрібні. Все залежить від проекту, для якого синьйора шукають. В списку літератури є пояснення з цього приводу.
Junior – технології, фреймворки
Middle – підходи до розробки, шаблони проектування.
Senior – фокус уваги спрямовано на проекти, бізнеси та вирішення конкретних задач та проблем
Базова освіта:
Data structures and algorithms
Design patterns
System design
OOP
Технології (база):
Python3 (asyncio, concurrency, PEP8, stdlib тощо)
Django/Flask
SQL
Будь-яка RDBMS
PostgreSQL
Підвищення кваліфікації:
WEB (http, nginx, apache, REST, SOAP, WebSockets)
NoSQL (Redis )
MongoDB
Celery
Elasticsearch
Redis
SQLalchemy
Spark
RabbitMQ (Брокери повідомлень)
Kafka (Брокери повідомлень)
Буде плюсом:
AWS
Docker
Kubernetes
Azure
Git
Linux (bash, Unix Socket)
Jira
Концептуальні знання :
Unit testing (unit, component, integration, E2E тощо)
Agile
Microservices Architecture
Test-driven development
Continuous Integration
Machine Learning
Java
Soft skills:
Communication skills
Team Player
Leadership skills
Англійська мова:
Intermediate
Upper-intermediate
Advanced
Досвід:
2+
3+
4+
5+ (Сенйор)
6+
8+
10+
література:
Dreyfus model of skill acquisition Модель отримання навичок братів Дрейфус
«Шаблоны корпоративных приложений» Мартина Фаулера
«Совершенный код» Стива Макконнелла
«Программист-прагматик» Эндрю Ханта и Дэвида Томаса – Эта книга стала для меня в некотором роде открытием: в ней сформулированы в четкой и выверенной форме навыки, которыми, по мнению авторов, должен обладать каждый высококлассный программист.
«Банда четырех» wiki
devops
Skills
Match
English
Match
Linux System Administration
Match
Troubleshooting
No match
IBM UrbanCode Deploy (uDeploy)
No match
Client Services
No match
NoSQL
No match
Application Support
No match
Akka
No match
MongoDB
No match
Production Support
Responsibilities:
– Investigating and resolving applications issues escalated by production support team
– Automation and optimization of build systems, troubleshooting of broken builds
– Work with developers to create automated deployment process
– Infrastructure and capacity planning
– Environment accessibility management
– Management of the Configuration Baseline
– Linux administration
– Bash/Python scripting
– On-boarding of new systems/applications
Mandatory Skills:
– Good command of English
– Jenkins
– Nexus
– Git
– Maven
– Java application support
– Linux administration
– Bash and python scripting
– Jira
Nice-to-Have Skills:
– uDeploy