MY TIIDELab Experience 4.0 (Fourth Month)

Sophia Daniels
6 min readDec 6, 2020

“No one is special, you just have to put in the work”.- Ayomide Oyekanmi(Google Software Engineer)

Abuja Fellows in a group photo with Mr Lanre (VP, TechSpecialist Consulting)

Guess who is almost in the final lap of this race? Me! For what felt almost impossible in the beginning, I am so proud of myself to have come this far. The courage to start anything is important, but consistency at it is everything!

“Part of courage is simple consistency”-Peggy Noonan

Before I go on, you can find my previously shared experiences below;

First Month, Second Month, and Third Month.

The fourth month at TIIDELab felt like the ultimate defining moment for me, not only because all fellows were shared into their various tracks — front-end and back-end but also because we are getting closer to the finish line. I am in the back-end track and learning “Nodejs” while the frontend fellows are learning “React”; all JavaScript frameworks.

In the first week, we delved into learning more about different “Data Structures and Algorithms” and how they can be applied in our various team projects. We also learned more about “Object-Oriented Programming(OOP)”.

The following week, Mr. Kenny started with an introduction to “Back-end Development”. Back-end development is focused on building the server-side of web applications; it is the backbone on which the client-side(front-end) runs. We learned the different programming languages and frameworks that can be used in back-end development. After which we installed “Nodejs”, learned about the “ node package manager (npm)”, how to install different packages, and also import modules. Nodejs came with a whole new perspective for me, compared to what we were learning in Vanilla JavaScript.

Back-end Road Map

In the third week, we learned about Databases(MYSQL), where we installed Xammp, created databases, tables, and performed operations such as SELECT,INSERT,etc. We further learned how to design an “Entity Relationship Diagram(ERD)” and went on to design ERDs for our team projects. There was also an introduction to “RESTFUL APIs” and its key principles. “Representational. State Transfer(REST)” is a software architectural style, that defines the constraints to be used for creating web services. Web services that implement this style are called “RESTFUL” web services. Finally, we also learned about Express, a Nodejs web application framework that is used to create APIs, receive requests, and produce responses.

REST API METHODS

In the fourth week, we dived deeper by learning how to build RESTful web services in Nodejs and HTTP methods that are used with RESTful web services. We also used Nodejs to directly query the MySQL databases with Express. Mr. Kenny introduced us to a tool “Postman”, a popular API client that makes it easy for developers to create, share, test, and document APIs. Finally, we learned about Authentication and Authorization. We were able to securely hash passwords stored in the previously created database using “bcrypt” and authenticating and authorizing users using “JSON web token”. Here is a link to my teams back-end github repository(work in progress).

Soft skills were not left out as we continued to explore topics centered around communication. This is due to the fact, just as much as technical skills are important, communication skills are also an essential skill for developers. Hence, TIIDELab has been intentional about our growth in both aspects.

Apart from various topics taught by Mr. Shamsudeen, the Programme Coordinator who we fondly call “Big brother”, we also had sessions with “Guest Leaders” who are experienced in the tech space.

In the first week, we learned Appreciative Communication and The 4D Cycles of AI (Appreciative Inquiry). I learned the importance of active listening, which makes people feel valued. We also had a “Guest Leader”, Mr. Lanre Yusuf (VP Tech Specialist Consulting Ltd) who taught us how to properly prepare a Requirement Specification Document(RSD), Business Analysis Document (BAD), and questionnaires for a client. He also emphasized that it is always important to reiterate what your client has said to establish that you are both on the same page, regarding expectations and deliverables. We also marked the “Africa Youth Day” by looking into the lives of various African leaders who inspire us.

My team during the task on Mandela’s Life and his Impact in human development.

On another Friday, Mr. Shamsudeen took us through a session on SMART (Specific, Measurable, Achievable, Relevant and Time-bound), SWOT (Strength, Weakness, Opportunities, Threats), and PEST (Political, Economical, Socio-cultural, Technological) analysis in goal setting. This helps you to identify the internal and external factors that can affect your goal. The “Guest Leader” for this week was Mr. Ayomide Oyekanmi (Google Software Engineer). A young and bright mind who took us through his journey to becoming a software developer. He clearly articulated the hurdles he faced, how he overcame them, mistakes he made as well as lessons he garnered over time. I felt inspired, challenged, and encouraged after listening to him speak. A key takeaway for me is to never repeat your mistakes.

A SMART,SWOT & PEST analysis by my team on a task ,“TIIDELab’s goal to train more youths in the six geopolitical zones in Nigeria”.
A Summary of Ayòmídé Òyekànmí’s journey as a software developer

We also learned about Public Speaking Strategies and Speech Writing.

Finally, “Negotiation and Mediation Skills”. Here, we learned the concept and types of negotiation, the negotiation process, and key questions to ask during a negotiation which are the “Why?” (Why are you negotiating?), “How?” (How are you negotiating?) and the “Whom?” (For whom are you negotiating?). Finally, in negotiation, it is key to know your BATNA (Best Alternative To a Negotiated Agreement) which explains alternative ways of solving problems when negotiation fails and ZOPA (Zone of Possible Agreement)which helps you to know the maximum limit where your grounds can be shifted in a negotiation. A lesson learned is to never be the first to compromise in a negotiation process. On “Mediation”, we learned mediation skills, processes, and how to resolve conflicts. As expected, we demonstrated our understanding of these concepts through a drama presentation. My team was given the Ife-Modakeke crisis as a caselet. We analyzed the problem,found a common ground and came up with possible solutions for peace. I acted as a mediator. We finished off with a puzzle and my team came second.

My Team Solving the TIIDELab Cohort 2 Puzzle

In all, coding through the week and on Fridays, engaging in different tasks (real-life scenarios) that put me in situations where I have to put on my thinking cap and communicate my solutions to an audience has improved my critical thinking, problem-solving, and communication skills a lot. Thank you TIIDELab!

Look out for more…

Thank you for reading!

--

--