My Journey as a Software Developer human so far (Part 2)

Hello World Part 2, with a little tweaks here and there and more updates.

Find part 1 here if you’re yet to read it 👉 My Journey as a Software Developer human so far (Part 1)

Let’s get right into it, shall we?

How have I gotten to where I have?

I tried tweaking Malcolm’s code, even understanding it. I wasn’t able to. When I got home that holiday, I decided to look for a book to teach me programming. I rummaged through my father’s library and found a book teaching a programming language called Fortran. It was too complex for me to even understand. I still kept on trying to read it though. Soon after I discovered the Windows command prompt. I felt like a hacker. Writing color a to change the terminal color to green. Times were easier back then. Then one of my other friends introduced me to another programming language called Pascal

Pascal was equally hard to understand. But at that point I was getting better at Visual Basic, so there was hope. Soon I graduated highschool and was at a loss on what to do. So I went to teach at my mom’s primary school (from baby class to class 3). Teching computer. It was so much fun, teaching kids that a mouse is not only a tiny rat but also a device that can be used to move a pointer on a screen. Imagine having to condense all the knowledge you have about something so as to teach it to a child. One thing was fixed though, I had to learn more about this computer thing.

Moringa School

Then I discovered Moringa School. Well, my sister’s friend did. I joined the bootcamp and learnt git, HTML, CSS, JS and its frameworks (Angualr 2, Gulp, Bower, Embwer) and Ruby and it’s frameworks (Sinatra and Ruby on Rails). It was also there that I discovered Unix. My first Linux os being Ubuntu 16.04. At that point I felt like a hacker, Untouchable, unstoppable. Typing git init would make me feel like a pro. Then Anita’s Kitchen (a project) brought me down and thwarted me and reminded me of how much a noob I was. To add salt to injury, one of my classmates had a degree in Computer Science, I was a highschool graduate. Compared to that dragon, I was a mere mortal fly.

Fun fact, the class I was in, MC3, was the last class to learn Ruby, the rest are all taught Python for now.

Soon after, I made my first website. Cutways EA, not much happened to it, and I hosted it on gh-pages, so that was buried. I also started gaining a big interest in cyber security, so I installed Kali linux and playing with it. At this point, one of my other friends asked me to help them in a python project. I had to learn on the job. That project sadly didn’t grasp it’s roots as well and had to be shelved. I wasn’t good at python and didn’t contribute much. If you have used django before, picture a noob trying to extend the django user model. It is like asking a person who has just learnt how to ride a bike to drive a manual car.

Job Hunting

I had a hard time finding jobs after Moringa, so I decided to get back to studying. I joined campus. In highschool, I hardly ever spent time in the library. However, when I joined campus, I was always in the library. Learning, using their 100mbps internet, learning some more, doing assignments. After a month, I felt like I wasn’t doing much. So I begun working. My first Internship. I had to work on a wordpress site. Learn on the job. There I learnt PhP. Because I had to go and edit some wordpress core and plugins. The CMS could only do so much. I was the only developer in the company, and I had next to 0 experience on what to think about and what mindset to have in a production environment.

Cause of my lack of experience, there is only so much a noob can do. I explored much, but I didn’t know where to look, let alone what to look for. I got bored. So one day, while looking at random memes on twitter, I saw that Moringa was looking for Technical Mentors. I deffered campus and applied to it and funny enough, I got the job. I couldn’t believe it. I remember calling my mom and telling her how I was so nervous during the interview. I had sweat through my shirt, and my mouth was so dry I could feel it crack.

As a technical mentor, I had to learn python again, because I couldn’t teach what I did not know and understand. My first class was so supportive and gave me psyche to continue mentoring. So I promised myself that I would learn and become really good so that my students would always get to learn something new. Soon after, I met students who were better than me at coding.

There is a concept, I can’t fully remember, but it talks about evolution and the fact that if you learn someting, people coming after you will have an easier time learning it and learn it twice as fast.

Soon I started learning IoT. I got myself an arduino kit and an esp 8266, and started building hardware. It begun with simple things like lighting bulbs in a certain sequence. Soon my friends and I came up with a system to tokenize water. I think I should improve on it and either sell it or run it. Each class had more students who were learning faster and faster. I felt like I needed more experience, professionally before I could continue teaching them. My students made me feel like I knew nothing. Then I haad to learn Java and Android. I moved to the mobile track to teach. Again, I had to learn on the job. Though I had more time to learn before the next class (a week). Java is low level, and it dramatically shifted my perspective toward programming. It was harder to master compared to python because I learnt python and ruby which were both high level before having to learn a low level language.. I didn’t have to think about declaring variables before initializing them(granted I had to do that in JS). Access level modifiers.

Java 😢

My java students were awesome and understanding. At that point I had such a hard time cause I still had to manage a python class and oversee it’s running. Plus, I was known as a full-stack Technical Mentor, so I constantly had to keep coding in two languages. They were the last class I taught before resigning. I felt like I needed more experience. Also, I was in a difficult position mentally, too much pressure from multiple directions. During my time there, I made a fatal mistake, that one day, I hope I have enough strength to share and that the effects finally stop haunting me.

The other mistake I made before leaving Moringa was that I didn’t know what I was going to do next. I hadn’t applied for any jobs. I hadn’t even thought about what is required. So there I was, a software developer proficient in both web and mobile development. Yet I had such a hard time finding a job. I wasn’t a Senior software developer, I still am not, but I wasn’t a junior software developer. I fell somewhere in the middle. No one was looking for an interim mid-level developer. They are either searching for a junior developer or a senior developer.

I needed to upskill myself cause if the apple doesn’t come to the man, the man just has to go get the apple. I still had a hard time finding jobs what with the little experience I had gained. I got depressed, I think I still am, just that right now I don’t think of what type of mural my blood would make were I to jump off a tall building every day. My vision is narrow minded, and I am not skilled at business and creating new ideas. I find it easy to contribute to already existing ideas. Modify them and improve them. After all, the easiest way humans learn is through mimicking what they have observed and perceived.

Job Hunting part 2 🥺

Soon after job hunting for 3 months, one of my students referred me to a company where they were working at. Mookh. I loved mookh. The experience I was gaining finally as a software developer in a production environment. Collaborating with senior devs. Their CEO is Amazing. I had a hard time communicating with the senior dev I had to work with. I just had to go with the flow though. The problem was I got the job when I was at my lowest mentally. I was breaking apart. It felt like I was the actor and director of my own life horror movie. I quit after a month to try and get myself together.

Mookh

The one major problem I have is I don’t know how to end stuff. I always go cold turkey and very abruptly. I really need to learn and improve on that. Again, I quit without any plan of the future. 🤔🤔 I am starting to see a trend here. I guess being micro ambitious has it’s drawbacks. You don’t have to have a dream remember this blog? So I went back to job hunting thinking I would have an easier time. Third time’s a charm after all. I was feeling better too and coming off of the depression that I was in you know, I had energy. To add icing to the cake, a new year was starting. New year, new me. Well, New year, old me with new mindset.

I started freelancing too, as a part time thing as I sought jobs. Contribute to opensource became my new mantra. Keep learning and coding. Well, I did. I am. A couple months down the line, I still have no job. The companies are still either looking for a senior dev or a junior dev. There was one I applied where they got back to me and told me I am over-qualified for the role they currently require. My skill is improving and getting more refined though. 2020 came with a lot of challenges. Locusts (I used to roast and eat these when I was a kid), The Corona pandemic. Who knows what life is going to throw at us next?

I still love learning (thinking of learning business in hope that I can become an entrepreneur. I applied to MEST, a school that teaches both business and software development). I hope to make it there (I am currently at the 3rd stage of the interviews, 2 more to go. I will update you whether I make it or not). I pray I do.

Pray for me too. After all, more than anything, I strive to teach what I have learnt.

Code to find out what time it is so as to know what greeting or sendoff to say.

// see how verbose java is?
private void getTimeFromAndroid() {
    Calendar c = Calendar.getInstance();
    int timeOfDay = c.get(Calendar.HOUR_OF_DAY);
    
    if(timeOfDay >= 0 && timeOfDay < 12){
        Toast.makeText(this, "Good Morning", Toast.LENGTH_SHORT).show();        
    }else if(timeOfDay >= 12 && timeOfDay < 16){
        Toast.makeText(this, "Good Afternoon", Toast.LENGTH_SHORT).show();
    }else if(timeOfDay >= 16 && timeOfDay < 21){
        Toast.makeText(this, "Good Evening", Toast.LENGTH_SHORT).show();
    }else if(timeOfDay >= 21 && timeOfDay < 24){
        Toast.makeText(this, "Good Night", Toast.LENGTH_SHORT).show();
    }
}

And in JavaScript: PS: this is the code I am using to wish you…

var d = new Date();
var time = d.getHours();

if (time < 12) {
  document.write("<b>Good morning!</b>");
}
if (time === 12) {
  document.write("<b>Go eat lunch!</b>");
}
if (time > 12) {
  document.write("<b>Good afternoon!</b>");
}
if (time > 16) {
  document.write("<b>Good evening!</b>");
}
if (time > 20) {
  document.write("<b>I wish you a Good night!</b> <br /> See you on the next one.");
}

I’m Newton Karanu, a software developer. A jack of many trades who is equally trying to master the trades.

Newton Karanu

Newton Karanu

I’m a fullstack software developer who loves coffee, travel, adventure, poetry, photography and blogging.