Published on May 6, 2020
CEO & Founder, HeavyMelon
Computer science degree
I am not one of those folks who say a Computer Science degree is mandatory. But if you are in a good position (financially and time wise), I would recommend you to do it.
Here is how it helped me. I got to know discrete math. I played with AI concepts. I learned the theory behind relational databases. I worked with team members to build projects. I learnt how to build compilers. In general, I was exposed to a lot of topics I wouldn’t otherwise spend the time to learn on my own.
Algorithms and optimization topics have especially opened the doors for me, but that depends on the country you live in. Greek companies usually pay attention to whether you have a degree or not.
If you don’t have a CS degree, it’s worthwhile spending time to learn the basics of algorithms, data structures and software engineering.
I guess this is a very similar story to that of others in this field. When I was 10 years old, my father bought a home computer. It was the 80s, and the computer was an Amstrad CPC 6128 with a green monitor and a disk drive. As you would expect, I started by playing games. My first ever game was Bruce Lee which I spent quite a lot of hours playing. After a while, one of my school mates who also owned an Amstrad wrote Basic on a piece of paper. It fascinated me that he wrote code so quickly and that he knew how to explain what every line was doing.
I went back to my computer, typed in the listing and watched the result. It was a simple input and output program. You typed in your name, and the program would randomly print it all over the screen. It enchanted me. I fell in love with the idea you can write programs that control what a computer does. That’s what I wanted to do for the rest of my life.
Back then, computers came with everything you needed to learn how to program them. Amstrad computers were accompanied by a manual that teaches you how to learn Basic and how to program that specific computer. I read that manual dozens of times. And the rest is history. 📖
When I was a kid I was doing a lot of typing of magazine listings. Most of them were games, but you could also find a few utilities, catalogue keeping applications etc.
My very first personal projects were around school activities and needs. I remember I wrote an application for tracking my grades, averages, absences and anything else that related to school. When I got my Amiga 500, I tried becoming a game programmer and even created an Arcanoid type of game that was displayed for a couple of days at a local popular Computer Shop. Unfortunately, I don’t have any material to share from the day. It’s in disks I cannot access any more.
However, I managed to locate the site I built for personal information management I wrote back in 1998 using Delphi, and uploaded it to Netlify for your viewing pleasure: https://adjenda.netlify.app — please feel free to laugh at my English and how serious I was about that little app.
My first real job as a professional programmer was right after graduating from college around 1998. It was for a company building an ERP system in Oracle and Powerbuilder. I managed to escape Powerbuilder and eventually created my own little team inside the company who wrote Delphi integrations between old legacy systems our customers had and the ERP the company was selling them.
As a programmer, you have to have great communication and writing skills. I have hired mediocre programmers in the past because they were stellar communicators, team players, and could summarise their thinking into short write ups. That helps with reducing meetings and enables remote teams. I personally don’t care for the developer who doesn’t want to talk to other people or their go to answer is RTFM (read the f*cking manual).
Petros believes that every developer should read How to Win Friends & Influence People. I have also read it and it’s an excellent book.
When we are young, we think we know everything. When we join a company, a team, or even as freelancers start working with customers, we immediately see things we dismiss as being anachronistic.
Yes, people are creatures of habit. They keep on repeating the same, often ineffective, processes over and over again. Many times, though, there are good reasons for having those processes in place. It is great if you want to change and improve things. Don’t dismiss things before you understand why they are the way they are. Once you understand the problem people were trying to solve, you will be in a better position to tweak the process and make it better.
People will be more likely to accept your suggestions if they feel you understand why they are doing this certain thing.
I quit GitHub in August 2019, after 9 year working at GitHub Support as a support engineer and people manager to create my own calmup, HeavyMelon. We are a small software house that builds software for humans. We are also creating a simple, fast, and reliable customer support tool, with an unbeatable price - it is called Supportress.
My time at GitHub was the best period of my professional life. I have learned so many things and contributed a lot. I have met wonderful colleagues and learned from them. As a manager, I had the honour to influence lives in a positive way. I also learnt that the teams I managed enjoyed my management style. That motivated me to keep on growing and learning.
Why did I leave GitHub though? Was I ungrateful? Others would go to extremes to get a job at this company! Several friends made sure to make that point to me.
It’s not that I did not like the company anymore. It’s not that I was ungrateful. It’s not that I couldn’t have stayed and contributed for the years to come. The decision was not easy.
I once tweeted that GitHub had spoiled me. If I had ever decided to leave, it would have been for building my own company, be an indie game developer, or leave the industry all together and open a food truck.
Guess what I did. I founded my own company based on the values I love. A fully remote, distributed and calm company.
Creating my own company has been a dream of mine. I am 46 now, and I didn’t want to wait for some imaginary best situation to do it. I just did it.
After leaving GitHub, I can’t say everything has been perfect. Building your own company is hard work. Often stressful. For some reason though, I am happier and calmer. I am not making any money yet, but I am creative and I enjoy everything I do. Well, I wouldn’t mind if I didn’t have to do some of the company administrative chores, to be honest. But I am not complaining. I enjoy coding and I enjoy working in a very small team (myself and my business partner).
I am also a person who does not regret changing paths, even if the result seems worse than my previous situation.
You can always check what I am doing and where you can find me on the Internet now. Don’t ever hesitate to get in touch with me.
You can also follow Petros on Twitter
Articles, guides and interviews about web development and career progression.
Max 1-2x times per month.