Coding assignments depress me

I love coding. But not the one in assignment.

In my degree first year first semester, I was studying Programming Fundamentals. The subject teaches you how to use C++, and at the end, you will be asked to submit a final assignment. For my cohort, we are tasked to make the Ultimate Tic Tac Toe.

I have obsession with codes that are clean, readable, maintainable. I want classes to inherit from one another correctly. I try not to repeat myself (DRY principle). And I try my best to deliver the best user experience in the apps I make.

The assignment makes up 20% in the assessment. And apparently, if you manage to implement extra features like LAN, or a simple timer, or artificial intelligence opponent, you get extra marks. But the total marks from this assignment will never exceed 20%.

I spent days and nights perfecting my game. And I dare say, my submission not only has multiplayer capability over LAN, but it has the best overall user experience, as well as UI aesthetic, among my peers.

A lot of my peers got a full 20%, so did I.

They submitted codes that are messy, unreadable, and the game has terrible UI, but they met the criteria, so they got 20%.

Not to say they do not deserve 20%, but it made me realise one thing – the school does not care about great works.

No extra credits will be given to the extra miles you took. Your work is still being judged on the marking criteria. They did this to give chance for people to score 4.00, but this is discouraging people from doing great works.

When I work as web developer, I get to write clean codes that other teammates can easily understand and modify, and I get credits for it.

I don’t get any credits doing the same in university coursework.

This is why I really really prefer working over “studying”.

A Way To Deal With Group Assignments

Assumptions

  • Not everyone has the same level of interest in the assignment, some may want very high marks, some just want to pass the subject, but some has no interest at all.
  • One person may over-contribute the the project (especially the leader), some will do their part under orders, some will shrug it off.
  • You can’t force the low interest level people to participate.
  • People sometimes don’t like to take charge, but they don’t mind being ordered around to do stuff, in fact most are more comfortable being ordered than giving orders.
  • This is how real world works, in a company you will always have people slacking off and get away with it.

The key is, accept the human natures, instead of trying to change some people, adapt with them for the greater good.

Problem

Given the assumptions stated above, we are going to first describe how normal assignment groups work and why it caused a hell lot of frustrations.

There is a group of 6. The most enthusiastic one will always be the leader. There will be 3 members who don’t mind to be ordered around to do stuffs. But there will be 2 who doesn’t give a shit to the assignment.

The leader starts the discussion, the members sit there and listen to the leaders and at the same time, hope for someone else to say something. It didn’t happen, because everyone is doing the same. At the end the leader makes all the key decisions.

The leader doesn’t trust his members very much bout their capability due to how unhelpful they were during discussion, as his members are very passive about what they do. At the end he delegated very little or non-trivial parts of the assignment to his teammates.

Because of the 2 lazy bums, the 3 members eventually feel demotivated and contributed lesser.

The leader eventually feels frustrated too. Everyone’s output become lesser and lesser. The assignment will be considered as emotional toll to everyone contributed to it.

Now there are couple of problems:

  • The leader is paranoid about how capable normal people are.
  • The energy or motivation depletes in an infinite loop that is not being addressed. Everyone starts to think everyone is not doing their job and stop doing their job themselves.
  • The leader may be too much of a control freak, the members don’t have like they actually have right to say something, the morale depletes.
  • The leader think his members are not participating also, they are giving any feedbacks.

Solution

We are going to try to address the problems one by one.

First the leader has to drop the ego and trust other people. I think most of us make this mistake at some points of our lives.

Form a group within a group, find the most enthusiastic people and create an inner circle. This is the group that will execute most, if not the whole project. While it sounds counterproductive to leave out some group members with a potential to get complained by the lazy people, unfortunately, things need to get done and this is not time to let some assholes troll around your work and your marks.

Once you have an inner circle that stays active, you have already put the sandbags around the morale of your helpful team members. To keep the morale up, do your best to talk bad about the assholes in your group, this will actually make them feel good and do their work a lot better.

Now the leader has to learn how to delegate. Remember, the leader represents the group and its work. But the leader doesn’t necessarily do much, if not none of the assignment itself.

The leader does the following:

  • Serve as a liaison between the group members and teaching staff
  • Serve as a visionnary and make sure the project doesn’t go off track
  • Since he is emotionally detached from the actual work, he checks if the work is executed according to the plan, make sure it doesn’t cut corners.

This idea is not only sane, but it’s entirely normal in real life.

Take Apple’s CEO, does he design and engineer iPhone? No, he serves as the facade of Apple to outside world, to the customers. He checks if the product pipeline is aligned with the company goal (to make more money and maintain brand image). Since he doesn’t involve directly with the engineering of iPhone, he doesn’t know how tired the engineering process can be, so he can scold the engineers and ask them to do better job when necessary.

The leader is not necessarily registered in the assignment, the group members unconciously chose their leader, and the leader knows it. Lemme repeat, the leader’s name on report can be different from actual leader’s.

Huh? WTF is that supposed to mean? In too many cases, the leaders tend to be the most egoistic, or the oldest members in the group. Sometimes they have their own problems that can fail an entire project, simply because their interest level is too damn low. So another leader will come up within the group and lead the team through hellhole, completing the project and saves everyone’s asses.

OK now we have the leader settled, how about the members?

In a healthy group, the members will volunteer to take a share of the project. The passive ones will take the remaining. Their job is to do their part – writing report, or send survey form to 100 people. But they don’t speak to teaching staffs directly unless their part happened to be the group’s liaison with teaching staff.

They are sandboxed to just do their job.

In an advertising agency, we have suits, traffics, and minions(designers and developers). Suits are the ones who approach the clients, sweet talk to their clients and tell them how much they can do for them, then they close the deal and come to traffics. Traffics, as the name suggested, control the traffic and workloads of the designers and developers – to ensure they can meet deadline on time and ensure they are not overworked.

The suits’ job is to protect the interest of their clients and the company’s bank account. And the traffics are to protect the interest of human resources in the company, as well as to ensure deadlines are being met, by making sure suits don’t make promises that cannot be met.

So what do the minions do? They just do their part of job according to the timesheets. For example, to design 5 ad banners or to develop a game for that day. They are never exposed directly to suits and clients.

If suits approached the minions directly, the minions can choose to ignore them, because the suits must go through traffics to delegate the work to be done to the most available minion, or they will choose to outsource it.

We have talked about the leader and working members. How about the lazy ones?

As I have stated in the assumptions, we won’t bother try fixing them, I have tried that many times and I can say that doesn’t work.

Don’t waste your time making the whole group work delegation looks fair, the world is not fair and it won’t be even under your administration. Instead, cope with it.

You have a couple of choices on how to deal with them:

  • Report them to teaching staffs – but they can in return, complain that you did not give them work to do, it will be fatal to the entire group
  • Delegate work to them – they won’t do it, this is also fatal to the group
  • Cope with it – Pretend nothing happened, just submit the coursework.

In most companies, these people will be jobless. But unfortunately you simple can’t just fire people from the group without giving a good reason. If they don’t do work, they can blame it on your and your inner circle, which is worse.

Don’t worry, these people will face problems when they graduate and can’t find a good job. Karma will bite back.

Remember, your job is to ensure the group delivers the assignment, not to make everyone contributes the same amount of work.

Haha! The obvious and sarcastic reasons that failed Malaysia Education!

OK, so I learnt this and I agree what my dad and Amir said, even I have to laugh on this!

If you pay attention to Physics and Add Maths textbooks, you may not learn everything to pwn on examinations. The books are intended to sparks on the critical thinking of a student, so the student won’t just memorise, hafal everything they should learn…

Continue reading “Haha! The obvious and sarcastic reasons that failed Malaysia Education!”