Winning Souls for Programming: A Conversation With Solomon Appier-Sign
Get to know the team! This week: Solomon Appier-Sign, Lead Backend Engineer. This interview is the fifth of a series showcasing the incredible team from Chalkboard Education. Read our previous interviews from the Developer team with Yoofi Brown-Pobee and Nii Apa Abbey.
What is your role at Chalkboard Education?
I’m a senior backend developer, and my role is to make sure our engine is stable at Chalkboard Education. I am responsible for writing the logic that powers the main team. I write PHP code and make sure the database queries are optimised to maintain performance. My work is mainly being the middle ground between our application users and the database; I handle the logic that connects these two components.
Prior to Chalkboard Education, what work did you do? How did you get involved with Chalkboard Education?
Before working here, I was a senior backend developer at PaySwitch and was additionally running a startup called Qisimah. Qisimah grew significantly and won an award at the International World Summit in Europe. I wanted a bit of flexibility and to exit the typical 9–5 work cycle and avoid the commute, so I left my previous job.
A friend showed me a job posting for Chalkboard Education, and I was super interested because of two main reasons. The firm was working on digitising education and moving away from classrooms which intrigued me. Secondly, the job opening was remote at the time, providing all the flexibility I needed. I initially came on as a payment-consultant to integrate payments into the application, and I stayed on as a senior backend developer.
You started a couple of ventures; what has your experience with entrepreneurship been like in the Ghanaian ecosystem?
I joined PaySwitch in its early days, so I got to see firsthand the difficulties in starting a business, and one of them is financing. When I began Qisimah with my co-founders, we got to a point where our startup had a lot of traction and attention. We were recognised and discussed on shows because of the data the firm released. Ideally, this traction should have been enough to propel us, but it boiled down to the same issue — financing. At the time, I knew other guys who were working on other things, and 5 or 6 of them folded up because they run out of funds.
The problem is in Ghana, access to investors is pretty tight. I think there are people with cash but don’t believe in technology originating from Ghana. I met someone who had invested money in a startup in Ghana, and I think it is because it started in the UK. People leave the country to scout for ideas and startup investment opportunities, while here, people are creating and doing similar or better ventures. Additionally, some investors want profitable returns almost immediately, especially in the startup’s early life stages, which is unrealistic. I think it boils down to these three main things financing, trust, and impatience; these are why my entrepreneurship journey didn’t reach where I wanted.
You started your journey in software engineering pretty late on. How did that come about?
So, what I believe is that before you venture into anything, you’ve been convinced either by someone or yourself that you can do it. It started when I created a WordPress website that was an exam prep for students writing the BECE*. It was pretty limited because students could only go through questions but not revise them afterward. This pushed me to start coding because I wanted to have control over things. This was also why I joined Chalkboard because it was in line with a previous passion of mine; educating people.
Additionally, when I was in school, I majored in environmental science, and there were classes for weather forecasting and modeling. I had to learn a little of QBasic, R, and MATLAB. During this period, I realised it was effortless for me, whereas some of my classmates struggled. I aced all papers concerning this course, so when I finished school, I decided I had to figure out what to do with this talent of understanding logic in depth.
One day on my way home, I saw a flyer about a class on web development, and I signed up, and that’s how I built my very first site — the exam prep website. After creating the site, I started exploring coding more. I believe programming should be a core subject in our early years, and we should teach logic at an early stage. It would elevate understanding and go a long way to eliminating the fear of math some students get.
You are a self-taught engineer; can you walk us through how the learning experience has been?
I didn’t have a lot of cash, so the internet and videos were not an option. I started with a pdf book on PHP; I downloaded the book (I recently saw this on my Facebook), broke them into parts, and printed them out front facing so I would write notes at the back after studying. My goal was to understand code as an everyday language such as English, Twi, or Ga. I wanted to look at someone’s code and tell the person if it would work or not and why, so this was the yardstick I used to measure my success. I would start my students with coding in plain text notepad; I don’t use text editors such as Atom or Sublime Text. I want students to write code without help to master it fully.
In summary, I learned to code by reading it from a printed handout; some schools of thought are not as supportive of this approach. My mindset was not to get text editors’ help to eliminate any dependencies and fully understand programming syntax. When we fully grasp a language without assistance tools such as Microsoft Office or Grammarly, we can correct grammar or ascertain if a sentence is wrong. So, by understanding syntax just like grammar, you should easily create, correct, and evaluate statements. I use tech now, but I still support the old way of doing things (using books). My most recent book acquisitions are Code Complete, Clean Code, and The Pragmatic Programmer.
What have you learned at Chalkboard Education that has shaped your career in technology?
Chalkboard introduced me to Symphony and Laravel. When I first joined, I was tasked to learn Symphony, which at that time wasn’t too mainstream or popular, so online tutorials were sparse. The documentation for Laravel is detailed and well structured; I could just read it without watching tutorial videos. Symphony back then wasn’t as crisp. Laravel is also a bit more promoted with a larger community. We started with Symphony and then transitioned to Laravel because it was more efficient for us.
I’ve done a bit of Vue and React, Vue more before the learning curve wasn’t as steep as React, and I needed to quickly learn a frontend framework to utilise for when I was working on my startup Qisimah. Chalkboard also introduced me to Jira for tasks, and now everyone I speak to about agile programming I recommend Jira. It makes project management easy, with loads of unique features making work easier. I think I am more appreciative of these tools because of my experiences; if you have edited code on a live server and it’s gone wrong, you’ll appreciate things like version control.
I work with Yoofi, and I ask him to pull code and test, and when he does it so seamlessly, the ease of collaborating amazes me: five years ago, it would be impossible. Another tool I got introduced to is Sentry for error reporting. It eliminates the need to go into the logs directly, with Sentry receiving errors in real-time and showing which specific script has issues. I can easily create a branch and fix it as soon as possible without going into the application. Sentry and Jira have made developing with Chalkboard Education very smooth.
What do you like about working with the team? What have been your highlights working with the team and its clients?
I don’t know if I have told Adrien this, but he’s been the best CEO I have ever met. In my experience in our part of the world, there are distinct lines drawn between you and your boss. If you walked up to the team sitting around each other, it would be hard to point out who the boss is, which is because Adrien has established free-flowing work culture. The way our company is structured, I don’t see myself leaving because I don’t see anywhere else I would get the same type of relationship or work culture.
What is the most exciting in-house project you have worked on with Chalkboard Education?
Handling the main Chalkboard Education backend has been the most intriguing I’ve dealt with. I’ve been working on it for the past two years, and sometimes I sit down to evaluate the complexity of the code base and how I played a vital role in that, and it makes me proud. One time my girlfriend saw a project I was working on for the back end and asked me if I wrote it because of the number of lines. This fascinates me that I have built stuff so complex and robust that it impresses people even to the point of doubt that I worked on it. So, in summary, the core job of handling the Chalkboard Education backend is what intrigues me.
What are your interests outside work?
I don’t do anything super interesting outside work. I’m not into movies or video games, but I do own a TV. I turn the TV on and don’t fully pay attention until potentially something catches my eye. I listen to tech conferences or sometimes go out for a drink; I’m not particularly interested in video games or sports or any of the usual stuff guys tend to do. I’m not opposed to it, but I don’t follow it.
What is the most challenging task you have had to complete since joining the team?
Working on sessions, writing logic to handle the sessions for Chalkboard Education is intense. Especially with regards to storing, retrieving, and repopulating images within HTML files.
What drives and motivates you in your pursuit of a career in technology?
I want to be a thought leader in the technology space. I want to gather enough experience, so when I say stuff, it comes with power; it influences what people will do so far as technology and programming are concerned. I don’t only want to pass through and one day say I wrote code; anyone can say that. I should have evidence; my work should speak for me, and an example is when one of my projects won an award by the International World Summit, working in conjunction with the United Nations.
I was chosen as a Youth Ambassador, and that’s what kickstarted my programming evangelism, where I go around preaching about coding. I plan to work, build more things and impact lives positively and have people say one day, “It is because of this guy I started writing code.” This is what drives me; To have a positive influence on people’s lives so far as programming is concerned and to win souls for programming and build super-cool robust long-term solutions.
My evangelism works; I’m essentially winning souls for programming.
What have been your results for your outreach in communities?
Very early in my programming journey, there were many people I interacted with who doubted I had less than a year’s experience in coding. I reflected and wondered what I could have achieved if I had begun even earlier. I then took it upon myself to visit schools outside Accra, the less privileged ones with no exposure to coding, and talk to them about programming and teach them for free. I currently have students who are doing software engineering in different schools. My evangelism works; I’m essentially winning souls for programming.
What should kids who want to pursue a career as yours know?
So, I have a three-year-old daughter, and she has to understand code. Programming is not complex; we build things that we use in our day-to-day lives. Some of the things we do are repeated processes, so we are programming it to automate it and make it more efficient. It’s like if you have to clean your house every day and you don’t want to, you hire a cleaning service to do it. The service becomes the program that handles that part of your life for you.
When I teach, I take it outside the classroom; what you need to know when you want to become a programmer is to understand why things work so when they don’t work, you can identify why they are not working. People shouldn’t go into programming with the mindset of just memorisation and rote learning; aim to understand the reasoning behind the stuff you do. This is essential because when things don’t work how you expect, you can determine what is wrong with your syntax.
Programming is around us; you don’t need to know anything special to become a programmer. Try thinking logically and break things into processes, put them into small steps. Identify why they work, how they are working, and if you can explain it in any language, be it English, Ga, or Twi, you are all set. Programming is just another language, so you’re good to go; it’s as simple as writing an essay.