Friday, 1 September 2017
I have been under a lot of stress lately. I have two research modules on top of CS3216. In addition to that, I have a couple of non-academic commitments which I am unable to let go yet. In NUS Hackers, I respond to my juniors if they need any advice with organizing hackerschool. In Computing Club, I need to maintain the Computing Club websites, and more recently, the Elections. I am inside the Elections committee, and there were some hiccups in the Elections due to the committee's inexperience.
But that's not all. My team mates in CS3216 are relatively inexperienced. So I took the initiative to maintain the technology stack from server to back-end (excluding database schema). I also maintain the version control and review PRs. I also update my team mates regularly on what I have done and what I am going to do. For the first two weeks, I am the only active contributor. I ping my team mates once every 2 or 3 days.
Progress was slow, and I have no idea why. Someone was sick, that is OK. Someone had meetings, that is not really OK..., because I skip mine for CS3216, but nevermind. Someone remained quiet, and was able to sleep in peace at 10.30 PM (I cannot fall asleep in peace until I am knocked out).
Now came the third week. I was initially promised that those handling the front-end will give me a Vue.js front-end. No Vue in sight. Instead, a HTML5 UP theme was inserted into our stack. I continued to connect the controller actions to Blade, Eloquent, Facebook. It is as though the first two weeks did not exist for some of my team mates. Well, that is fine..., as long as the page is not as bare as my own sample Blade files. (FYI: The sample Blade files are to help my team mates know what data can be fetched from the controller.)
Today I received a PR. When I first saw the diff, of course, a CSS class with camel-case and two hyphens instead of one is going to trigger my convention-o-meter. And so I asked my team mate about it in the WhatsApp group. I then went back to further review the PR. There was one breaking change and one instance of untidy indentation.
Whether CS3216 cares about code quality does not diminish the fundamental discipline of writing good code. If we seem to have "no time" for that, it simply means we ought to have spent "more time", even if it means sleeping later than 10.30 PM.
I was told to not be "nitty picky" by the PR author even though she is trying to submit programs that are prone to human error, and wants me to "merge" it because we have "no time" (original phrase was "at this stage"). She told me to change those violations myself if I am "so particular". Moreover, she claims that my argument "has [nothing] to do with discipline" just because I (the back-end person) am not going to use it. I told her that our other team mate who is going to work on front-end is likely to have problems. She changed subject and told me to go help the others.
In a normal week, I allocate 2 days to lessons, 1 day to deal with tutorials and labs, 2 days to research, and 2 days + x number of additional hours to CS3216. The 2 to 3 days for CS3216 this week have ended. I will be unable to help those team mates until Monday night.
I am feeling more stress than needed. This is so unfair. What is wrong with trying to protect my other team mates from bad code? And those changes are not even difficult to do.