| TL;DR probably unrelated, I realized development is so much more than writing code. I don't like coding anymore because i have wasted so much time writing useless code and fighting meaningless battles. Now I am trying myself at working with understanding the "real" problem to be solved before doing anything at all. I used to really love coding. I read my first programming book when i was 13, studied computer science for 5 years and all that time it truly felt like I could do anything. During my first two years of working i developed several apps for iOS, and then transitioned to backend work because I noticed the backend was the limiting factor. My logic: I spent most of my time in the frontend wrangling badly formatted data and proving why reported errors originated form bugs in the backend, so I just started fixing the backend. I started writing backend because it was a force multiplier. I then realised that people working on backend tasks saw the systems they themselves were writing as complete mysteries, and many people simply copy pasted existing code that was sort of similar. I never saw it as a mystery. You get data from one place, transform it and combine it and return it. Just write test and the problem of writing code is solved. In my years writing backend I can count on one hand errors I had in production (all related to environment). It is not hard to write tests but most people never write them properly. I started nagging the other developers and told them to write tests, I see it as extremely selfish and borderline evil not to do it due to all the pain terrible software causes people every day. Anyway, I worked hard to continuously improve my coding, meaning how to write less code that was more readable with less mistakes in a shorter amount of time. Less code is not code golf by the way, it is using a proven library instead of reinventing the wheel for the 100th time. So, as my knowledge improved I eventually hit the wall where there were no objectively better path to take. Everything that was left had strengths and weaknesses. And this is where i started to really hate coding. Because there are so many opinions, and there is literally no objectivity because it is all just a huge pissing contest egged on by the evangelists in the major software houses wanting you to use their newest framework providing them with valuable lockin. So I started looking to the next force multiplier. What is missing if you write flawless logic? Why is the software still terrible? Because of poor requirements. So i started working with architecture. Now I am doing the same job as developing but I have so much more time to talk to people. If backend work was a 10x multiplier this is more like a 1000x multiplier for me at least. I have always known but now I understand that all problems and solutions in software are related to human beings. Code is just an implementation of an understanding and if that understanding is not shared by many people the code is worthless. I also feel more useless than ever and I may go back to coding later, but for now I am just learning too much. I guess this did not relate to your question at all, sorry. |