Graduation Project: Do's and Don'ts!

Graduation Project: Do's and Don'ts!
In this blog I will try to share some Do's and Don'ts about college graduation project. The idea is to start a discussion to make this a mini road map so future grads can avoid falling into the traps some of us did.

So, let's start by a simple yet a key question:

How important is the graduation project after all?

You can't work hard on a task especially a tough one unless you truly believe it will pay off someday!

I think the answer to this question is the root cause to how we mistakenly choose to perform badly on our graduation projects!

Let me try give you me opinion on how important graduation project to your career by telling you a short story:

A few months ago we held job interviews here at Eptikar to hire two developers, we had 60+ applicants to choose from. We wanted to hire (0-2 years working experience) developers and as a custom software company we wanted someone with great passion for coding and open source philosophy.

So, how did we filter through all the fancy CVs with the amazing bios? you guessed right! graduation projects.

It's actually so simple to filter applicants who worked on a real project compared to the ones who didn't. The first are usually waiting for the part when you ask them:

"so, Ahmed. What did you do on your college grad project?" and Ahmed would get a wide, proud smile and start telling you what they built and how.

On the other hand the other group seems afraid of this part _which will definitely come in any job interview_ and will answer with vague sentences "I am not quite sure why we choose that tool?" "I didn't really work on that part" "I only did the writing part, .. bla bla bla

Doing good in your graduation project will almost definitely help you secure a job and it will do you a more important favor: it will help you decide what type of  job/career you want.

Passion is key in every line of work but it's critical in ours, how do you know if you like working with databases, front-end design, APIs building, back-end, System Administration, mobile development, ... etc without getting your hands dirty and exploring those fields! You can't.

When we held the interviews a few months ago, we had very bright candidates from FMS, SUST and other colleges, you could tell they were smart, but most of them lacked passion! they don't know what they want to do in their career, which path to take and it's true they are many other causes to this but poor performance in graduation project is a key factor.

Don't listen to the advice saying "graduation project is just another course, don't give it any special time/thoughts - Get your "A" and move on!"

Majority of grads take graduation project as just another course with a target to get an "A" and it's sad many teachers and supervisors advise them to do so!

"Time is not enough" is simply a myth that you will clearly see after moving from student life to work. You will find yourself doing a lot more than you thought you could ever do or handle.

You have plenty of time to get great scores on all your exams and do decent work on your project without the need to be a pure genius. You just need to have the will to do it.

Graduation project is your key to secure a job in no time, i suppose you went through the tough years and exams in college to achieve that? right! well most of IT/CS colleges in Sudan lack proper technical teaching! Some grads never touched linux or worked with Git and many can't even write very simple programs!

In my college case, UofK-FMS computer science syllabus badly lacked in the implementation side (which is a topic worth another blog post), so graduation projects comes as a life saver to give your CV something tangible you actually built, because after all; your "A"s on algorithms and compiler courses won't convince a CTO who needs someone to help building not designing architecture.

Don't fight over supervisors?

I remember when the list of projects were published on the board, groups would fight and brutal races would begin to get this or that supervisor project without really knowing much about the project.

With all due respect to our teachers, I think you shouldn't overthink this and choose any supervisor, it does not matter that much!

Some great teachers are not very great supervisors and vice versa.

Do choose the scary supervisor?

If you really need to learn and build something you should choose a supervisor who will push you beyond your limits. Yeah, it sounds suicidal and as students many won't buy it, but it's the truth.

It's very easy to sign-up with a supervisor and get a nice big "A" without actually making any effort but then what? Months later college is over and you will step into a very different environment where "A"s don't count as your ability to deliver results.

Of course by "scary" i mean a smart supervisor who will push you to do your best and guide you, some people are just mean ... you don't need that drama in your graduation project!

Don't choose your buddy as a team-mate

It starts by: Well, me and Khalid/Mona hang out all the time, we are close friends and it make sense we work together in the graduation project!

Just trust me, 99% of the time it's a bad idea.

It's true you need someone who you can successfully communicate with but that's not the only factor.

Chose someone with whom you can learn and build, someone with a set of skills you lack, someone with good communication skills and most importantly someone with great level of commitment who you can trust to do their part

Don't be afraid of coding/presenting/technical writing/ ..etc

It's natural we try to run away from things we don't understand, but your graduation project is a perfect chance and in fact your last chance to explore all IT fields.

You will be:

- Dealing with your supervisor, carefully capturing project requirements - Negotiating adding/removing parts of the project if needed - Managing/Working with a team, assigning tasks - Designing and implementing software - Testing and Q/A - Presenting and Writing Technical Documents

Each of above list could be your future job, as a developer, dba, project manager, IT Sales or CRM, ..etc

Even if there is someone else handling most of the technical writing in your team, make sure to see how is he doing it, offer to help to get a feeling perhaps that's where you shine!

Anyway, good luck for all grads and enjoy your graduation project and give it your best! ;)

P.S If you have additional advice [Do's or Don'ts] you think i missed, please do share and i will happily add it to the post.