A list of 100 opinions I hold

Posted on 05 Sep 2022
Tagged with: [ opinion

“That’s just like, your opinion, man” - the dude

Here’s a list of 100 opinions I hold. These are opinions, not hard facts or truths. There will be many people disagreeing with some of them, maybe even most of them, and there will be very few that will agree with all of them.

[]

Programming

  • 00 - Array indices should start with 0.
  • 01 - Spaces over tabs, except in Go.
  • 02 - Lots of comments are good. Incorrect comments are bad.
  • 03 - CQRS is not needed for your project.
  • 04 - Event sourcing is not needed for your project.
  • 05 - DDD is not needed for your project.
  • 06 - Understand the frameworks/tools you want to use, before using them.
  • 07 - Rebase locally, don’t squash merge on github.
  • 08 - your projects .gitignore should not contain IDE specific directories (.vscode, .idea etc)
  • 09 - Log all the things. If you didn’t log it, it didn’t happen.
  • 10 - Don’t assume users are dumb. They will find things you never knew was possible.
  • 11 - Spend most of the time writing the failure paths, not the happy path.
  • 12 - Don’t slap on an index and call it a day. Check your queries, rewrite them and/or create indices accordingly. And hire a DBA.
  • 13 - Javascript is an unreadble async mess.
  • 14 - Scrum is bad
  • 15 - Kanban is better
  • 16 - Just because you say you do scrum, doesn’t mean you do scrum.
  • 17 - you can be “agile” without daily standups, sprints, retrospectives.
  • 18 - I don’t need to know what you did yesterday and doing today. I can read jira just fine thank you.
  • 19 - Don’t be afraid of asking stupid questions.
  • 20 - If you have problems or don’t understand something, I can help.
  • 21 - I cannot help when you don’t ask.
  • 22 - Write stupid programs to figure out how smart programs are written
  • 23 - Try and graps at least the basics from all levels on which you work on daily (cpu, os, network etc)
  • 24 - Build your own framework.
  • 25 - Don’t use your own framework.
  • 26 - You are not paying me for changing the 2 lines of code today, you pay me for the fact that it didn’t took 3 days and 200 extra lines.
  • 27 - The more we rely on tools, frameworks and abstractions, the dumber we get.
  • 28 - Most new things are just iterations of old things.
  • 29 - It’s more fun to program with other than alone.
  • 30 - Programming on your own can be fun too!
  • 31 - You’re not Google/Facebook. Don’t write code for that scale.
  • 32 - It’s ok to write scalable code. It’s often just as fast to write as non-scalable code.
  • 33 - monoliths are ok. Not everything needs to consists of 50 microservices and services meshes.
  • 34 - creating a microservice oriented architecture is much more complex than you think.
  • 35 - Most meetings should not be a meeting.
  • 36 - Having a meeting on why we should buy this 10$/m saas product is more expensive than said product for a long time.
  • 37 - Sometimes developers do nothing for days and sometimes they do multiple days work in a few hours
  • 38 - giving it 110% is not a sustainable pace
  • 39 - Learn other programming languages
  • 40 - Keep asking why
  • 41 - There is no law that you need to use the latest framework/tool of the day. Older and proven tools can be fine.
  • 42 - Simple is better

Life in general

  • 43 - There are always people you hate, and there are always people who hate you.
  • 44 - It’s ok to have another opion than everybody else.
  • 45 - Just because you are not good in discussions, doesn’t automatically mean you’re not right.
  • 46 - Don’t assume that when someone doesn’t like to speak, or doesn’t like to call, they’re automatically bad in communicating with clients.
  • 47 - Always try and get underestimated by people.
  • 48 - How I speak at a conference, is not the same how I speak in private, is not the same how I speak with my family.
  • 49 - Family & health before everything.
  • 50 - Your boss is not your family, unless you are in the family business.
  • 51 - It’s ok to fail

PHP programming

  • 52 - PHP used to be a fractal of bad design.
  • 53 - PHP doesn’t need generics, or functional idoms, or async.
  • 54 - PHP can do long running processes, it’s just that most frameworks/code can’t.
  • 55 - There are lots of smart PHP developers.
  • 56 - I’m not a smart PHP developer.
  • 57 - Protected properties and functions over private. No need to close down your code just because you want to. Developers are quite capable to assess when and where to reuse your code how they seem fit.
  • 58 - Constructor property promotion is a ridiculous way to save 3 lines of code in a non-readable way.
  • 59 - Symfony > Laravel
  • 60 - There is too much magic in Laravel to make it intuitive.
  • 61 - Eloquent/ActiveRecord is an abomination
  • 62 - Doctrine/Data mapper is better, but not by much.
  • 63 - You should know SQL. I’ll settle for knowning an inner from an outer join.
  • 64 - You do not need to write everything with DQL. Raw SQL is sometimes the better choice.
  • 65 - You should use Xdebug. Using var_dump is like that game guessing a person by just asking yes/no questions.
  • 66 - Sometimes var_dumping is quite ok. Know when to use which tool.
  • 67 - Use phpcs, phpstan and phpmd.
  • 68 - Don’t (s)ftp your files to production
  • 69 - The spaceship operator (<=>) is the most useless functionality of php
  • 70 - Many things can go wrong when not considering user input. Use frameworks and tools to handle this. Don’t parse your own user input.
  • 71 - SQL injection is still a thing

Cloud & Ops

  • 72 - There is always a setting in AWS you didn’t know about.
  • 73 - AWS is a cheap and fast way to boot up infrastructure.
  • 74 - AWS is an expensive way to continue running your business.
  • 75 - AWS > GCP
  • 76 - GCP > Azure
  • 77 - Everything > Azure
  • 78 - You don’t need to setup a lambda to push a message to SNS that calls another lambda to send it to DynamoDb in order to get things done.
  • 79 - Lesser AWS parts is better.
  • 80 - If you need to ask whether you should use kubernetes or not, then the answer is automatically no.
  • 81 - 99% of the projects running kubernetes do not need kubernetes.
  • 82 - Kubernetes is your best friend, until it decides to become a serial killer and tries to hunt you down.
  • 83 - Regular VMs are ok.
  • 84 - Docker is fine, not using docker is equally fine.
  • 85 - Understand the implication when Google decides to disable your account (for whatever reason).
  • 86 - DevOps is not a job title, role or department.

Sysadmin

  • 87 - Flying a plane is easy, it’s when things go wrong is when pilots earn their money. Same thing applies to system administrators
  • 88 - I don’t like systemd.
  • 89 - I don’t like snap.
  • 90 - Install mc on every machine you possibly can.
  • 91 - Installing a mail server isn’t THAT hard.
  • 92 - It’s perfectly find to run DirectAdmin in some cases.
  • 93 - WSL2 is not great, not terrible.
  • 94 - Don’t use ansible for providing 1000 machines.
  • 95 - Don’t use puppet for providing 2 machines.
  • 96 - Don’t use chef
  • 97 - If you don’t check your backup, you might as well not do the backup.
  • 98 - I should check my backups more often.
  • 99 - It’s usually DNS