Reading The Clean Coder
20 Nov 2019After finished reading The Clean Coder yesterday, I found that many of the problems I have met in my previous company has already been talked about in this book.
The book did not show anything about the tech staff. Most importantly, it is talking about how to deal with business people, how to give an estimate about project time, and tests.
Those are the things we programmer face in day to day life but never learned from school. I have to admit that I could have done a lot better if I have read the book before. I would be more “professional”.
As a team leader, I have been asked several times about an estimate of how long the project would take. I always have difficulty to answer that question. If I have read the book, I could give a more accurate estimate and perform more professional about the project time when my boss asked.
When my boss was pushing us to commit, I skipped the tests and wrote much dirty code for the backend of that project. Which later I found so difficult to understand and I refuse to change it at all. I really should have a principle at that time and refused to write such code. And should have rewritten them as soon as I have found how bad they were.
We never write enough tests at the previous company. Nobody in the company understand the different kinds of tests and how to write unit tests. We do not have QA at all. One of the teammates was manually testing many functions. I called for the importance of the tests in many meetings, but even I doubt whether those tests worth my time. We run into problems that some bugs leaked into the production. But because not many people were using our product, it did not cause any problem. Except once I feel shame I was the one who implemented the but in our code and the search was not working at all. I have admitted the problem in front of my boss and said to avoid the same problem in the future, we need tests. But still, no tests.
To summarize, I have learned something important about how to perform professionally in my career. The book also said the importance of mentoring. I wish I had a good mentor in software development. I had one good mentor named Gabriel when I was a System Engineer. I was and am still very grateful for all the guidance he provided to me. But this time, I was not so lucky and have to figure everything out all by myself.