Values / principles / approach

Those are guiding principles and characteristics of mine when it comes to software development.

Being explicit in code

Since PHP and JS weren't originally known from their explicitness I had to learn to express myself in explicit way (while using them). Being explicit (and verbose) is almost always better then being clever (and brief). Failing early in obvious way is always better than pretending / hiding errors and making surprise for future you to find out later. I don't like surprises.

Giving yourself time

While programming, I sometimes grind thru hard stuff and order to understand it (instead of going around them). Reading code is more difficult than writing code. Producing software is time consuming and I'm definitely not focused on changing this fact of life.

Not being afraid to build new things

I'm alergic to fitting squares into round wholes. Being witness of not fun. I'm definitely not a proverbial wordpress developer material. I prefer to build solutions from lower level components than to customize turnkey software. Having control over your creation is critical. I'm not afraid of inventing wheel one more time if I have a chance to learn during the process and possibly change status quo.

Selecting technology carefully

Solving problems is the purpose of developer's work. Solving problems does not equal implementing currently coolest (and probably over-hyped) solution of the year. Technology is just a tool. Problem at hand, and your skills are critical parameters of the process of choosing a tool or technology. Following shiny objects at work leads to half-baked solutions or solving wrong problem. Choose your shiny objects wisely (and by yourself). Think for yourself, question authority.

Investing in your tools and knowledge

Learning is one of most satisfying parts of my job. There is always something to learn, try and practice even in long-lived and established technologies/projects like PHP, Symfony or Ansible. I try to include my preferred existing and new tools in my daily routine so that I get used to them as much as possible. Similar to following shiny objects, not knowing your tools very well, leads to half-baked solutions. Learn your tools.