I have never been as confused or frustrated with a project as I am now.
My current project is suffering from a really bad scope creep. Combine with that is the insane timeline. Sounds familiar right? Most software projects are like that.
Quality is falling left and right. Moral isn’t exactly that high. The message from our team lead is confusing as fuck. He want us to do it fast with quick solution only to come back and ask us why the codes are written so badly and never cater for a variety of situations.
Even requirements aren’t defined clearly yet all of us are expected to think about what the user would want.
So what we have now is a massive mess of codes which relies on different kind of layering or namespace for different project phases.
Right now, I’m in the process of augmenting an existing feature with more capabilities and I’m pretty stumped as to how to proceed. The codes are in a mess. We have UI state manipulation in both code-behind and View Models. We also have a mixed use of managers/data access layers and direct HTTP client use in View Models.
And I’m also struggling with something else.
You see, I have been reading a bunch of articles about writing code and software design the last two days and they got me thinking about what I have been doing. The first one is by Martin Fowler. He wrote an article titled Is Design Dead?. And the second one is called Write code that is easy to delete, not easy to extend
Through these articles, I realized that I have been over-engineering and spending too much time to think about having a good variable name or function name or writing in more codes to cover the things I need in the near future. And I have been doing that since the beginning of my “career”
I have also been writing codes that just isn’t easy to change at all because they aren’t modular enough because of time-pressure or because they have been over-engineered.
Not only that, I have been applying design patterns as I write the code and wasting a ton of time instead of writing functional codes first, test that it works, and then refactor.
At the end of the day, not only did I not make the already frustrating project easier to handle, I didn’t make the codebase any better.
So my question now is…what the hell am I doing with my life.
Call it an existential crisis if you will.
I definitely need time to figure things out again.
And you know what?
This Daily Log actually took me an hour and countless edit as I write to reach this point… that just shows how unfocused and frustrated I am…