The way of a backendThe way of a backendprogrammerprogrammer
a.k.a. Years of blood,a.k.a. Years of blood,sweat and tearssweat and tears
AR, Seznam.czPilsen 20181
Who am I?Who am I?Alex RembishAlex Rembish
SiberianBackend developer with 10+ years of experiencePython enthusiast (6+ years)Senior Lead Programmer atCurrently mostly working on YAML files
2
Backend programmer?Backend programmer?
3
Backend programmer?Backend programmer?
TL;DR who doesn't wantto do frontend work
4
Difficulty Level:Difficulty Level: Jr.Jr.
5
Junior goalsJunior goals
1. Coding itself2. Gaining experience3. Playing with technologies4. Making spare money5. Prestige6. ...7. PROFIT?
6
Expectation of a JuniorExpectation of a Junior
1. Desire to learn2. Listening skills3. Asking questions4. Clean code5. ...6. Getting shit done
7
Junior problemsJunior problems
8
Junior vs team problemsJunior vs team problems1. Not asking questions2. Mess in knowledge3. "Reinveting the Wheel" problem4. Technology misuse/abuse5. Dirty code
9
Team vs juniors problemsTeam vs juniors problems1. Get shit done!2. Uncontrolled development3. Too busy to explain4. Unclear expectations5. Unclear tasks6. Unclear workflows7. Cold start too cold8. Undocumented environment9. General delegation problems
10. ...
10
Level up!Level up!1. Hard skills2. Product knowledge
11
Difficulty Level:Difficulty Level: MIDMID
12
Four horsemenFour horsemen
of the Apocalypseof the Apocalypse
1. Routine2. Overconfidence3. Loss of interest4. YOLO development
13
Three YearsThree Years problem problem
14
Developer'sDeveloper'sburn-outburn-out after after
X years*X years*
* generally three years15
Let's flip a coinLet's flip a coin
16
Team Team developsdevelopsprogrammers,programmers,
but programmersbut programmersmakemake a team a team
17
Technical debtTechnical debt
18
Level Up! Level Up!Level Up! Level Up!
Routine ⇒ Self-developmentOverconfidence ⇒ Automation
Loss of Interest ⇒ Proficiency enlargementYOLO development ⇒ Refactoring and reviews
19
Difficulty Level:Difficulty Level:SeñorSeñor
20
ProductProduct problems problems1. Get shit done!2. Uncontrolled development3. Too busy to explain4. Unclear expectations5. Unclear tasks6. Unclear workflows7. Cold start too cold8. Undocumented environment9. General delegation problems
10. ...
...and skills21
DIY: Get shit doneDIY: Get shit done
1. Talk about problems2. New features vs Refactoring ratio3. Project bootstrapping4. Basic dev documentation5. Build and deployment automation6. Preproduction environment7. Basic tests8. Legacy code reducing9. ...
10. PROFIT
22
Level Up! Level Up! Level Up!Level Up! Level Up! Level Up!
Routine ⇒ Soft skills growthOverconfidence ⇒ Bullet-proof environment
Loss of Interest ⇒ Product developmentYOLO development ⇒ Easy to support and update
23
...and get ready...and get readyfor the for the next levelnext level
Fullstack Lead
DevOps
Product
CTO
Architect
Batman
24
If you're looking forIf you're looking for a company,a company, which promoteswhich promotes self-developmentself-development,, I know one :)I know one :)
25
Q&AQ&A
Sincerely yours YAMLprogrammer
Twitter: @rembishLinkedIn: linkedin.com/in/rembishPresentation: slides.com/rembish
26