How I Tackle my Projects @ Alx — The Holberton Way

PaulJerry
9 min readJul 7, 2021

Image made by me

Once upon a time, I woke up to receive the acceptance email (from the alx-SE team) that I am selected to take part in their Software Engineering program. It was among the happiest days of my life.

ALX is a leadership, employment, and entrepreneurship development organization. For me, doing a software engineering program with them is a dream come true. Although the application experience had been a tough one, it was totally worth it, and good preparation for the toughness of the program itself. Many of the applicants did not make it to admission (again I say it was a tough process)

In partnership with Holberton school, alx offers us this program among other programs that you can learn more about here. Holberton is a no-teacher school. They have a special mode of learning, learning by/for/with peers they call ‘The Holberton Way’. Most people wonder how a school can function without a teacher, but I realized that a peer himself is the best teacher there can be. When two or more students come to learn together, it is the best masterclass experience that I have come to learn and embrace.

Being in this software engineering program is an exceptional experience for me (and most other peers as well) but as the application experience, it comes with its own claims too. One of the challenges being meeting the project deadlines and keeping up to speed with the learning.

With no teacher, no class, no library, (like a typical school) it becomes hard for us to learn and implement the skills in the hands-on projects availed to us through the school’s intranet. I have established learning techniques and implemented them on myself to better my learning experience (it was hard at first to find out what worked for me and what did not), I now have a working plan that I believe will work for you as well if you try it.

Doing the projects on time to meet the deadlines is one thing, and grasping the project’s concepts is another. As a student, you have to be truthful to yourself and distinguish between the two. In the end, the grades are what it takes to sustain you in your spot in the program. As you are reading through this, it will be best if you note down the key points.

The concepts written here apply to only alx-Holberton and Holberton learners. The system may not be the same with other coding schools.

Step 1

Open the day’s project and go through it real quick. See everything but do not respond to anything (even if you know the correct response)

This step will help you identify the key concepts that you should learn on that day. You will also have a clue of the questions asked in the pre-projects quizzes.

Step 2

Go through the Concepts and Resources given in the project.

A screenshot of my intranet account displaying the Concepts and Resources section of one of my previous projects

Keenly read through the referenced materials and take notes of every new concept learned. In some projects, both the Concepts and Resources sections will be available, while in some only the Resources section will be there. Read and understand everything. If there is something that you think you need more explanation on, write it somewhere in your notebook, you will research more about it later.

It is a suitable behavior to always write brief notes of the concepts learnt and go through them on a later date. Learning and relearning helps to emphasize concepts in your brain to understand better.

Step 3

Scan the General concepts that you should have understood. Mark the concepts that you are confident in and note on those that you feel you need more clarification.

A screenshot of my intranet account displaying the General concepts of the project

Make sure that you can respond to all the General questions well. Use The Feynman Learning Technique to perfect your understanding. In summary, the Feynman’s Technique is all about explaining the concepts that you have learned in simple words, either by speech (to a rubber duck) or on whiteboard (pen and paper). Doing so will increase your understanding (keep in mind that you cannot explain what you do not know. If you get yourself stuck in between, go back to the resources and relearn.)

You may choose to write the General concepts down on paper to track your understanding closely well. Mark those that you can explain well, and research more on those that you need more details.

Rubber-duck-debugging works best for me (I use sponge-droid though). This great man is a superb listener and the best teacher too — best debugging buddy.

Step 4

Do the pre-project quiz

Most of the projects have a pre-project quiz. You should get all the questions correctly before you get access to the day’s main project. Most learners find it very hard to do this pre-quiz simply because the checker marks all the questions at once (and they respond to all the questions at once). If you respond to all the pre-quiz at once and run checker, it will be very difficult for you to locate the errors if you got it (if not, good for you). I have a quick tip for you on how you can easily do the pre-project quizzes.

  1. Answer one question at a time, and press the check button. Use the concepts learnt earlier on to respond. The number of incorrect responses will reduce if you got that question correct. Meanwhile, all the unanswered questions will be considered incorrect, and that is okay.
  2. When you get the first question done, you can move on to the next questions one by one and repeat the same thing… use the submit button at the end of the quiz to confirm all your responses. And just like that, you are good to go.

Doing this is way easier because you can locate the errors and find a solution to them. You may have noticed that if you respond to all the questions at once and then when you submit in case an error arises you will/may have no idea which question you answered wrongly.

Step 5

Confirm the project’s requirements

A screenshot of my intranet account displaying the Requirements of the project

Not all projects have requirements specifications. If the day’s project has it, follow the procedure well and set your system to the required standards.

Do not do the project without completing the requirements stage. If you have any problems, reach out to your peers for help.

Step 6.0

Start doing the project’s tasks by reading the first question.

Understand what the question is asking of you. It will be better if you can locate which concept the question demands from you. If it is a coding question, go ahead and pseudo-code your response on pen and paper. Read the question again and go through your code several times to make sure that your code sufficiently replies to the question asked. Counter check if your response meets the requirements of the project, if yes, proceed to write and debug your code. If checker is available, use it to prove your code correct before you move to the next question.

Step 6.1

This thorough series of steps should take you to the right answer, in case they don’t, take a deep breath and say hi to your rubber duck (sponge-droid or anything dumb that you can imagine of). Read the question again and try to explain the question to the rubber duck aloud. Then walk your rubber duck through the solution that you have previously written. Be bold and say everything out loud in the simplest language possible (assume the rubber duck is a 10-year-old kid who just has a handful of vocabulary). When you do that, you are most likely to find out the mistake you made and rectify it.

Explaining things out loud is a way to reinforce your understanding of the same thing. Describing your code out loud will enable you to spot the semicolon that you mistakenly forgot to place (or any error). My best debugging buddy is a good boy specialized in that field.

Step 6.2

In case rubber-duck debugging cannot solve your issue as well, you can try to reach out to your first consultation office, which is your squad. All peers are categorized into groups of about 20 individuals named as squads. So reach out to them via your slack channel (preferably by text message) and tell them your issue. Be concise on your problem. Mention the name of the project that you are stuck on, the question number, and the methods that you have previously used in your unsuccessful trials. Your squad will be there to help.

Step 6.3

In case your squad wasn’t able to help, go to your second consultation office, your tribe/cohort. All peers are categorized into groups of about 200 peers named tribe/cohort. Reach out to them in your cohort slack channel and describe your issue as you previously did with your squad. 200 heads are better than 20 (your squad) and are obviously better than 1 (yours alone). Your cohort/tribe will be there to help.

Step 6.4

This series of consultation offices should sort out your issue fast enough. In case they do not, the last consultation office is the #ask_alx_team slack channel. Describe your issue there as well. The technical mentors (and other peers) will be there to help you.

Once your issue is solved, note the mistake that you did and write them down so that you do not repeat them next time. Then proceed with the other questions similarly. When you are done with the mandatory tasks, open the advanced tasks (if any) and do them in a similar manner.

PS: The process is simple
read_question > understand > pseudocode > test_code > debug > run_checker

A similar approach is mentioned in the intranet concepts as The Framework.

Step 7

Go through your project again. Ensure that all checks are running correctly.
Ensure that your project is marked 100% done (or sometimes 200% if you have completed all the advanced tasks available)

A screenshot of my intranet account

Run checker for all the questions and make sure that all checks run correctly.
Double-check it again and again.

Step 8

Go over the slack channels

This is not a mandatory part of the project, but I consider it a suitable behavior for a great learner. Finishing the day’s project means that you have understood the concepts and you are in a position to help other peers who need your help. However, helping them does not mean giving them direct correct answers to the projects, it means serving them with leads that will get them to the correct answers. Leads help learners to understand on their own while direct answers will just make the peer pass checker for that moment and never in the future. Always help with leads, not direct answers.

Move through the slack channels and be there for those who need your help. See the challenges other peers faced and how they solved them. There is no harm no learn more and be hungry for more knowledge.
A little motivation here and there won’t be bad either, encourage other peers to keep moving — it’s always a sweet feeling.

Step 9

Prepare for the next project. Read ahead following the week’s schedule. Be ready to do hard things.

Try the tips above and tell me your experience in the comments below.

This journey is not an easy one, but the good thing is that we are prepared to do hard things. I have gathered some motivational videos to keep you on track. Enjoy them.

--

--

PaulJerry

Software Engineer | Bussiness Developer — working towards Building technical Solutions and innovations with world-class excellence