For some reason, testing is generally seen as a boring, tedious and time-consuming task. Well, I couldn’t agree more, I would rather just write code and let somebody else do the testing, so actually, that is the solution that I am proposing!
There is one big problem with a day job. The potential growth (if any at all) is linear, whereas the risk that comes with it is exponential.
If you look at a piece of code and have to use your brain to understand what is going on, there is something terribly wrong with it.
Data from the DB is often retrieved as plain key value arrays. Even projects that use ORMs like this or other active record implementations do not improve the situation.
If you read books like Clean Code you would have come across recommendations for function parameter count. Basically, it says that the more arguments, the more questioning you should be about your code design.