Software development is a strange mixture of work and art. We do not only write code, but we make art as writers create their masterpieces. Your habits reflect on your daily work and shape how you approach new tasks. The main problem of bad habits, aside of wasting your time and lowering your motivation, is that rather often you don’t even know about them. I will talk about bad habits by sharing with you all of the bad practices that I remember from my past and current projects. I will talk about what helps me write better, what motivates me and what prevents me from doing so. I will tell you how I started with Delphi, PHP and JAVA, how I hated JavaScript and how I love it now. We will even briefly talk about DevOPS and how I had to develop a torrent client in Python. I’ll share how I manage to learn new things, despite my uncanny laziness for reading.
12. You are half the reason for all
the problems in your company
13. Open environment
■ You can help the others imrpove
■ Others WILL help you improve
■ You can’t see all the mistakes, that you make
■ Share your thoughts out loud. Telepathy is a fiction.
15. “Are we there yet”
■ Report regularly and clearly.
■ Think for the other non-tech members of the crew.
■ They will twist the system, to get the info!
17. Embrace imperfection
■ You want to work hard
■ You’re not perfect
■ You have bad habits
■ Create a healthy daily routine
■ An example of how the kitchen kills it all
27. ■ You’re not always the one with the good idea
■ You’re not better than the others
■ The era of “your framework” is gone
Don’t feed your ego
28. ■ Respect yourself and the others
■ Clean and neat code
■ Dirty fixes are disgrace but sometimes it’s OK
■ Don’t promise, just because somebody needs it.
They took you for quality!
Respect
29. ■ It’s your project
■ It’s your promise
■ It’s your code
■ It’s not a “hit and run” job. You have to support it.
Be responsible
30. ■ Be confident about what you do
■ Organize things to guarantee stable flow
■ You can debug better if you know, that “this works!”
Be solid
33. ■ JIRA is for tasks, not for showing off how good you are!
■ IDE vs Editor - Noone cares
■ How quickly do you do code refactoring?
■ Are you so proud that you know the project by heart?
■ Don’t remember! Recreate!
Know your tools
37. ■ The code is for logic, not for data
■ The code should tell a story
■ Apply Code style. Any!
■ Do Code Reviews! Do them immediately!
■ Refactor like crazy! Embrace imperfection!
The Code
38. Handle errors
● Don’t overlook errors
● Empty “catch” is not a solution
● Log everything, help your future self.
40. Don’t be stubborn on
development.
-
We’re just a means to solve a
problem!
41. A manager for a day
● Helps you know when info is scarce
● Know if details were missed or they can’t be defined
● Know if you’re on a “poor” task or you’re prototyping.
43. Walk in the QA shoes
● The fact that there is a separate QA team, indicates that
"you don't care", leading you away from craftsmanship.
● QA team just helps you with an extra POV
● Some companies deliver to production within the
working day ?!?!?!
Organize things around your perks, don’t fight them
Don't aim to get a senior software architect unless you are ready to deal with several technological stacks at the same time, write stupid product specs and write no code for months. Know what you want - it is ok to change your goals.
Compromises are only useful if it is one-time and on the right spot.
Otherwise you rob them from the precious resource for improvement - the bad example.
Пример с Пресли/Траян и как естимейтите те карат да помислиш
Code Style saved a lot of GIT log review time
* Refactoring is natural
* Refactoring clarity