Blog


Author: Keo Nthite

Helping others benefits you as well

Photo by Hack Capital on Unsplash.

My journey toward helping others wasn’t an intentional one, but I noticed that the more people I helped, the better I got at problem-solving. The problems that they were facing were those that I had already encountered at some point, and if not, I’d tackle it together with the individual through pair programming.

Over time, the time required to solve these problems got shorter and shorter because I had already seen them before. It was just a matter of repetition and recalling what I had previously done.

People started to notice that I didn’t mind helping them out if they asked. However, they also had to participate, so it wasn’t like I was doing the work for them. I’d be lying if I said everyone paid attention and nobody ended up abusing my help. It did happen several times, but I just brushed it off. Instead, I looked at the positive side — like learning to solve a new problem or finding an efficient way of doing it. In the end, it benefited me as well, so it was still a win.

As I said earlier, people noticed, word got around, and they would then recommend others to me for assistance because I wouldn’t turn them down. I guess Gary Vee was right when he said, “Kindness is the ultimate strength.” These referrals I got were not just limited to the university. They led to me getting a few freelance projects and job referrals.

Bear in mind that I was not a student tutor. I was just someone who helped his classmates and whoever needed it. I would go the extra mile to help others with no expectations in return. I just loved what I was doing, and I still do. It gave me emotional satisfaction.

What I Gained From Helping Others

  1. Sharing of knowledge through pair programming.
  2. I invited more opportunities to myself when I first added value to others.
  3. I got an insight into other students’ code and how they approached problems from their perspective.
  4. I got referrals for freelance projects and job opportunities.
  5. I developed a personal brand around campus without even realizing it.

Conclusion

This journey has cost me a lot of hours. I’ve lost time on my own projects by assisting others, but on the bright side, my skills increased. To this day, I do not regret helping anyone. Doing this gave me a sense of purpose and I now volunteer as a student mentor at CoderDojo, which is a programming club that teaches young people aged 7–17 how to code, and I love every single moment of it.


How Helping My Programming Students Led to Me Marketing Myself was originally published in Better Programming on Medium, where people are continuing the conversation by highlighting and responding to this story.

Author: Keo Nthite

Lessons I Learned From My First Freelance Programming Project

Everyone starts somewhere

Photo by Christopher Gower on Unsplash

The year was 2017 and, with only fundamental knowledge of web development, I proceeded to take on a challenge that I was not ready for.

The project was building a simple web application for a church in Pretoria. Initially it was a solo project of a friend of mine’s but over time I took over most of the development responsibilities of the project (with my friend’s permission of course). Initially, I had planned to just help him out but I ended up investing a lot of time into it. In the end, we got screwed over — I’ll explain how in a moment — but it did pay off in terms of upskilling us.

I got involved in this project in my second year of university and this freelance project forced me to learn certain tech stacks and soft skills in depth because, from my perspective, the school did not thoroughly cover any of these enough.

Furthermore, I went out of my way to improve my tech stack and soft skills on the job by utilizing other sources such as YouTube, W3Schools, and Stackoverflow (shout out to these platforms). It paid off immensely because I could transfer what I learned on the job to school. This was one of the greatest feelings — my hard work was now showing fruition. Since I was benefitting in school I did not care if I got paid, I just enjoyed coding and I was helping a friend in the progress.

Since my friend was doing less coding, he handled the documentation and most of the communication aspects with the client. I went with him to meet the client at least once a month to inform him of the progress on the site and we had a verbal agreement with him, this turned out to be a huge mistake. Both parties agreed compensation would be made once the project was done, and we also didn’t have a deadline, we just had to deliver when we were done (but it had to be soon). Down the line, my partner gave him a contract to sign and he said he’d look into it. Bear in mind that I was doing this to help a friend, money was not the focus, but the idea of compensation was growing on me as I was putting in more effort and time, especially when the project frustrated me. Months passed working on the website and it was finally completed and launched.

The client stopped engaging with us regularly and we barely hear from him. Every couple of weeks he resurfaces and asks us to update the site with new content for different landing pages and we comply. We were now maintaining the site, which was a role we never intended to do or agreed upon. The guy still hadn’t signed the contract and was dodging us whenever contract talks came up via call, text or email. I kept on working on the platform by myself for a few months because it was rewarding.

Long story short, he never signed the contract and we never got paid, he strung us along. He went quiet for a few more months, so I stopped working on the site entirely and then when I visited the site again it looked completely different.

During the silent period he got other developers to work on a new site and reuse the content we initially added. He then took down our site and replaced it with his new one on the same link. Since we didn’t have a signed agreement, we couldn’t do anything about it. The worst thing is that he never even bothered to tell us why he did that and to this day he’s not speaking to us. Come to think of it we got screwed over by a pastor.

However, this project was a learning curve, and I certainly did get a lot out of it.

5 Lessons I Learned From This Project

1. Sign agreements early on — even if it means getting a contract template off the internet, just make sure it is reliable otherwise it will do more harm than good. Find something that is legally binding, which indicates that both parties agree for these deliverables and compensation over a period and get it signed before starting any work.

2. Don’t code until you know what you’re building…seriously — we wasted a lot of time because we didn’t plan and analyze what we were building. We rushed to code the idea we had and it led to us going back to fix certain unnecessary issues that could have been prevented with proper planning and this would have saved us a ton of time.

3. Programming is rewarding — you get what you put in. I improved drastically by putting in extra hours of learning and coding which led to me building a visually appealing website and having a better understanding of the languages I used. Nothing beats that adrenaline rush when you’ve fixed an error and your code functions as intended.

4. I learned how to google programming problems — It might seem weird but it kept me going during the hard times. I took advantage of the endless knowledge available on the web but I first had to find it. Sometimes copying and pasting error messages is not enough. Knowing how to ask questions is very important, this will save you a lot of time and effort when it comes to debugging.

5. No growth in comfort — As an introvert this project moved me out of my comfort zone. I had to go out and meet the client which was terrifying. Face to face meetings with the client allowed me to articulate my thoughts in a manner that was understandable and helped me tone down my programming jargon so non-technical people could understand me. Constantly putting myself in these uncomfortable situations slightly improved the areas I was lacking in. I saw the improvement when I was doing presentations or communicating ideas back at school.

When you don’t grow it’s the same as going backwards because everyone around you is improving. So, to this day I’m working on improving my soft skills.

Overall, when I reflect on the project, it was fun and frustrating. This made me certain that its something I want to do for the rest of my life. It would have been awesome if we got paid but it gave me an invaluable life lesson and experience.


Lessons I learned From My First Freelance Programming Project was originally published in Better Programming on Medium, where people are continuing the conversation by highlighting and responding to this story.

Author: Keo Nthite
Photo by Pixabay from Pexels

The idea of blogging has been on my mind for a while yet I knew it was something I wasn’t going to do because I’m not a writer, guess the jokes on me. As I’m writing this I’m currently working on my website to showcase my skills and projects as a software developer to potential recruiters, you can think of it as my very own portfolio and I’m going to use it to grow my own brand. The website is my own digital footprint and hopefully, with this new blog, I’ll reach a new audience of developers who want to take part in this journey of mine as I try to make it in the software industry.

The reason for this blog is to inform people about programming and what it offers from my perspectives such as its challenges, frustrations, and rewards. It is truly a roller coaster ride of emotions, there are times where I don’t feel like coding at all because I cannot seem to understand or overcome a certain obstacle and other times where I cannot seem to stop because I’m in the workflow, others might call it being in the zone.

As a student pursuing a degree, my knowledge of the industry is limited and having a blog will kickstart start my career by allowing me to research and explore more about the industry in-depth from programming languages, adapting to new technologies, networking, and overall learning and improving from past experiences which I will try and share on this platform.

Everything I say may not resonate with everyone, I encourage feedback because I want to improve and grow as a developer. As I’m writing this I do not know how this blog of mine will turn out. For now, I just need to keep writing and push out more content consistently.

As you can see my blogging skills are not polished, I’m still looking for a niche area to focus on so as I post more entries I’ll articulate my thoughts in a better way, that’s the plan. I have so many ideas and experiences I want to share on this platform.