Wheez, kid!

By Clifford Owino, Moringa School Student

Hi there, I was supposed to blog about customizing ubuntu. Installing numix theme, adding some icons and code editors but I won’t get into that. I felt that having some random guy throwing bash commands at you wouldn’t be the best way to introduce myself. So this post is mostly about telling my story, why I joined Moringa School and where I want to be in future. You only get one shot at a first impression.

It’s quite the norm for people to misunderstand who I am and what I am really about. So who am I? Well, the short version is that am just a guy who loves challenges and wants to leave an impact in the world through code. The long version is that am mostly self taught- straight out of high school, I was tossed into the world of programming. As a consequence I learned some Java, Php and some bits of JavaScript but I have a problem, a serious problem which I will talk about at the end of the post. Keep reading though- it’s not a secret but you won’t know it unless you know me personally.

Some 10+ years ago I fell sick and the doctors couldn’t tell what was wrong with me for some time. I was only told that I was allergic to the cold. I was coughing- a cough so intense that I thought the next breath was going to be my last. I ended up getting admitted to the hospital for 2 weeks. This would be defining period in my life. From it, I really knew what it’s like to be alone in this world. You don’t have family in the children’s ward. No, you have people suffering alongside you. I’m lucky I wasn’t as ill as the child in bed 5 or I wish I was just improving as fast as the kid in bed 8. At such moments, you appreciate the little things in life. I can tell you this for free. When your chest hurts that much, you don’t care about money that much.

Eventually they found out I had bronchitis and I recovered. I can say that I am one of the lucky ones. There are many children who weren’t so lucky. That moment changed the way I look at things. I see each day as a blessing that I shouldn’t take for granted. If I made it past that, then it’s a must that I take advantage of this opportunity. Programming is one thing that I want to be great at. My goal is to make apps that make people’s lives a little better. Good health is something to be treasured. You want to enjoy every minute of it. If an app can do that for you, let that app have a name and let me be the creator because its what I live for.

Early this year: I quit my job so that I could do what I loved to do. Everybody was against it. I was coding but it wasn’t taking me where I knew I could go, so I left. That’s why I joined Moringa School. To challenge myself. Right from the start, you know that it’s going to be an intense learning experience and unlike any other school.

The serious problem I hinted at is… it’s not life threatening though. I am a perfectionist, I prefer to do things flawlessly the first time around but I know that life doesn’t work like that. I may not be money-minded but that does not mean that I won’t succeed in this school. In fact, empathy is my greatest asset. Users are the people who matter most.
But sitting in a dark, cold corner at ungodly hours bashing the next group that doesn’t share my opinion isn’t right. Don’t bash others, promote your own. I would love to see the benefits of any mindset but for now am creating the proof for mine.

I used to coughing intensely and now I code intently. I used to wheeze now and I want to be a wiz at app development. I don’t do it for the money, ok. A little 🙂 but for the love of mankind.




Experiencing Moringa School

By Keval Shah, Moringa School Student 

I come from a very traditional family background, where many people in my family create brick and water businesses. Because of this, a lot of the friends and people I hung out with in Kenya expressed a lot of skepticism and cynicism regarding programming boot camps in general before Moringa School. At that point, I had also been reading many articles and opinion threads and listening to many people saying Moringa School is not worth it because $2,000 is a lot of money to invest in something that may be a scam. That’s right- in Kenya, we’ve heard a lot about scams with schools. After having weighed the pros and cons of the bootcamp and arguing with everyone who was against the idea, I decided to do it. And let me tell you this- it was one of the best experiences I have ever had.

After completing Moringa School, one of the most frequently asked questions I received was: “How did I get the most out of my time there?” Thinking about the question, I realized that going into the boot camp with an entrepreneurial mindset gave me an advantage.

Looking back at my experience, a major part of Moringa School is group work. I met many hard-working people and like-minded people who want to be in the technology industry. When starting a boot camp, I learned not to interact with my computer only. It’s so important to get up from the chair and be social – make new friends and work together (even when the instructors say it’s an individual assignment). Remember, there are going to be people in your cohort who are definitely better developers than you are. Instead of being competitive, see if they are interested in working with you, or at least try to get them to help you build your project. I found one of my co-founders from this bootcamp, so anything is possible.

At Moringa, we are responsible for creating a final project by the end of the 12 weeks. The reason behind this is that we can apply what we’ve learned. Be an entrepreneur or be a job-seeker as a software engineer, you already know what you need to build from the first day you enter Moringa.  I liked the fact that from day one I let my instructors know why I am doing the boot camp and what I needed to be able to build. That way, the lecturers tailored their time with me, helped me develop the skills needed to build the project I desired. I highly recommend using UI and UX lessons to your advantage by building a wireframe during those classes. This will definitely give you better insights from your lecturers.

At the end of the boot camp, we were all extremely proud that the lessons instructors taught us allowed us to create a product after starting out with no coding knowledge. When you leave, they will want to continue to help you in any way they can. Don’t be shy–ask for help! Personally I feel students will quickly move on to a first job or begin dwelling into their company ventures from the products they built during the boot camp. But this could be a huge error, because you tend to neglect some of the best resources available to you.

So as most are probably asking: “How did you progress and how did you improve your skills?”

Very simple, I was working closely with other students to solve problems and get feedback. Looking back at my time, it was certainly the fastest and most effective way I learnt. I gained knowledge each time we pair programmed, in which many times I copied a partner’s coding patterns or styles I noticed. What was interesting with our cohort was that we were all exposed to meta-skills, or observing how one collaborated with a designer or how well we used git. When I was not in a pair, I broke the rules and sought constant feedback be it the lecturer or student next to me. This helped me clarify things that I did not understand.

So before you enter Moringa School or your job as a software engineer, I highly recommend honing down on the following:

  • Design collaboration – Start a small project, and have somebody design a feature. Work with them to complete that feature. Make sure they are invested and take note of what it’s like to collaborate.
  • Git – Start using git branching model to build features and fix bugs. If you can, work with others so you can learn how to navigate conflicts. Ask developers around you for advice on how to best avoid conflicts and safely merge code.
  • Pull requests – Learn how to use pull requests effectively as a step between code completion and merging.
  • Debugging – Work with different developers and you will see different methods of debugging a problem. Using a debugger to logging to just plain ripping out large chunks of code are just a few of the methods you’ll find out there.
  • Tools – Text editors, gems, rake tasks, git clients, command line tools, and apps can be useful things to optimize. Know how to effectively use your tools!
  • Be resourceful – I was always told, ‘Google is your friend.’ Learn how to navigate yourself using Google, but also, take all internet advice cautiously.

But remember while you learn how to write code at coding bootcamps, being able to read code is just as important. When entering a new job, one of the hardest parts about being in that environment coming from Moringa School is reading code that somebody else wrote in which you will not be familiar with. I highly recommend pairing up with someone and dive into some gems while learning Ruby or some open source libraries while learning Android. Pick a piece of the library you are curious about and start digging into how it works. Even figuring out how a single method works can be challenging in larger libraries!

You don’t leave a programming boot camp with all the skills and knowledge you’ll ever need. But it’s a start. We have the building blocks to continue the path of learning. To get a job as junior developers or be a kick-ass entrepreneur.

Remember if you plan to pursue Moringa School, you are paying for a developed curriculum that’s undergoing constant iterations to make it even better for you. You are supported by amazing teachers or instructors who are putting in full time hours to make sure you understand everything you are taught. One of the best benefits for me when paying this lump sum of money is a community. It can be incredibly isolating seeking answers on your own. When you’re learning by yourself, the internet seems to be full of people smarter than you. At a bootcamp, you have peers struggling next to you. The value of having people learning at your level is that you’re not just learning and taking, but you’re also giving back to them. It’s hard learning things by yourself. It’s easy to feel stupid and question yourself. Sometimes you just need a support network. Having people who are really committed and invested in your success is almost worth the money all by itself and having patient lecturers who stick with you throughout the course.

“You are all crazy people, you are trying to learn 3-4 years of computer science degrees into 12 weeks of immersive learning!” Alvin Kato JR – Moringa School Ruby Guru.


From Classroom to the Real World: Maramoja

by Diana Wanjuhi, Moringa School Student

Moringa School has been a wonderful experience. Sure, the hours were long and the work intense, but in retrospect, that pales in comparison to what I have achieved. I have built something out, learned how to work collaboratively and presented my work for critique by other developers.

All in all I can see progress. Disclaimer: the classroom is vastly different from the world of work, where results are the yardstick by which your skills are measured. This week marked a new chapter in my Moringa journey:  I started interning at Maramoja.

Maramoja is a Kenya’s first socially powered taxi app. It is a growing company with a big vision.

The company has been very accommodating and after four days here I can confidently say it is a great place to work. The team is very passionate about the mission. (It also helps that they are really smart people). There is a lot to do, as is true of any startup. The work is challenging and exciting in equal measure. I have had to learn JavaScript and Nodejs, none of which were part of my tech stack at the beginning of the week. However, the beauty of learning a new language is in the fact that the learning curve flattens on each attempt.

Here are three key lessons I have taken away from my week-long career as a software engineer:

-Embrace your inner nerd: Programming is a fun, creative profession. Enjoy your work and enjoy the validation that is your code executing as it is supposed to

-Communicate: ask for help where you need it, and make sure you are clear on exactly what your task is

-Planning: It might be tempting to sit down in front of your computer and get started on writing code, but it is more valuable to really map out what you would like to do before getting started.

Here’s to my first week at Maramoja and to what I know will be exciting times ahead with them.

PS: Haven’t tried out the service yet? Download the app here, request a ride and get where you need to go conveniently and at pocket-friendly prices.

10 down, 2 to go… and then what?

By Wilhelm Uschtrin, Moringa School Student

So this marks the end for of the classroom setting for us at Moringa School. It’s been 10 weeks of intensity, and now we have 2 more weeks to go. For the next 2 weeks we’ll be embedded in actual companies. Diana and me will be visiting Maramoja and Dhruti and Keval are going to stay with Caytree.

So how was it? Well, the other day my girlfriend was like ‘What? It’s already over?’, but to me it doesn’t feel like that at all. Somehow it feels like an eternity since we’ve started this journey! Sure, I can still remember the first week pretty vividly, but especially the weeks in the middle are just a blur of learning and coding. To be honest, we almost lived at Moringa School for the last 2 and a half months. Every day I got up as early as 5 o clock, drove to the Startup Garage, and left in the evening, often at around 9 or 10pm, and in between: sessions and coding. It’s been challenging, for sure. But that’s what made it awesome.

For me, the last couple of day already were a bit like a harvesting of the fruits of that labor. On Thursday Diana and me presented our final project at the Nairuby meetup and on Friday we again presented it to some guests at Moringa School. Everyone seemed very impressed with what we had created in the last 2 weeks. The general opinion was that it’s amazing of how far you can get in only 10 weeks. And I have to smile myself, when I think of my first attendance of the Nairuby meeting in December, when I had to admit that I had never written a single line of Ruby.

Our final project is a RSS Aggregator that automatically fetches entries from RSS feeds, it features an API, a background worker, full-text search via Elasticsearch, automatic posting to a Twitter account, user login, and a bookmarking system. The tech stack is Rails/MaterializeCSS/PostgreSQL/Redis. We actually want to deploy and maintain it and make it aggregate posts from the best blogs covering the Nairobi tech ecosystem. But it is also on Github and we want to invite anyone to fork it and contribute, be it to the Rails app, or with a neat JS front-end or a mobile app built on top of the API. Of course anyone can also just clone it and make it about something completely different: dinosaurs, music or whatever else you fancy.

Now, today I went to the revived JS meet-up at iHub to see what they’re meet-ups are like. And it was amazing, although I have never written a single line of JavaScript, I was able to follow along quite comfortably. Every concept that was talked about I was familiar with: splitting applications according to MVC, version control via Git, deployment via the CLI, task automation, and CSS/HTML and basic programming stuff like methods, variables and conditionals anyways. Heck, I think I am going to have a blast learning JS next!

Apparently next week the next cohort is already starting, this time it’s 11 students. Guys and gals, if anyone of you is reading this: you’re in for a tough ride, but be sure to enjoy every bit of it! Me, I am not sure where this coding journey is going. The business that was the reason I joined MS is waiting, but I will be more on the business side of it. On the other hand I already collected enough learning resources to continue this journey full-time for at least another 6 months. We’ll see. First things first: Maramoja.