How my friend’s laziness lead to me becoming a better programmer

I have always been second to my friend Mathew, or as I found and still know him as his online handle ‘matypatty’. A brilliant but ‘lazy’ young man from New Zealand, when he was motivated he learnt and created so fast it boggled my mind.

Lazy might not be the right word for it, if hes interested he will go all out and spend hours upon hours deep in his work, but if the project doesn’t peak his interest he will make the minimal effort or not bother. I once attempting to create a PHP Remote Administrative Tool as a proof of concept/knowledge builder with him and it got forgotten quickly despite it being quiet functional, poor planning and Matt losing interest doomed it, but you live and learn!

He started as a teenager creating ingenious game hacks in C++ for popular First Person Shooters and would run rings around everyone, I was captivated and begged him to teach me. Learning code isn't just concentrating hard and passing your Jedi powers to someone else and I would remain inept at the art of code for a few more years. Why tell you all this? Because you’ll come across people who are just naturals at your passions and you don’t have to feel like an idiot when you cant keep up.

Jump ahead several years later, me and matypatty have remained good friends and he was until recently where I would run when I needed help or for him to manage something I was too afraid to dive into myself. He was hosting my personal website and developer space I practiced on, as I delved deep into the world of token based authentication, SQL-less databases and other concepts I never even considered I hit so many problems due to Matt not wanting to change his setup, like limited software compatibility on his server (Windows Server) and an extremely outdated version of PHP he used for old scripts (Google PHP login API refused to run!). I only had access to FTP and phpMyAdmin and I was stuck. The hosting I was getting was fast and free but as a developer I was so limited.

Time to make a stand against my developer anxiety.

I purchased a years worth of hosting at siteground, a reasonable hosting solution for people new to web development, it felt like freedom! A full cPanel, SSH access and more. I could finally make my own steps into understanding behind the scenes black magic. After moving everything over I realized that although I had more freedom I still couldn’t get my hands dirty, the real fun development resources need to run their own processes and a standard Apache server doesn’t cut it when you want to try all sorts of daring things you find people more experienced or gutsy trying and discussing on forums and the-like.

A medium article I found allowed me to use a low permission SSH login to host an Angular Universal project (My current setup runs this, its great for SEO!) by soft installing NodeJS and NPM to host server-sided scripts. This knowledge then lead me to install mongoDB, but due to permission problems I couldnt properly utilize it and I was stuck…again… So I refunded the hosting, they were very good about it and their services are still great if not although the ease of use and top notch customer service response times is reflected in their pricing which is more than fair. It was time to take the final push needed in becoming a better developer. It was time to approach the wild wild west of Virtual Private Servers.

This are gettin’ mighty rough out here partner

The final step in my evolution from clueless caterpillar to slightly-more-experienced-but-also-still-naive butterfly. I searched alot this time for a reasonably priced VPS that would be appropriate for my needs and more importantly allow me to build my knowledge as a system administrator and developer, being a full stack developer is the goal, even just for my personal satisfaction and triumph if nothing else.

While the popular solutions are user friendly they are often higher priced due to the simplicity of setup and ease of use. No longer will we take the easy way out! I found a extremely well priced solution that I have had no issues with

Psst, here is the special promotion that I used to get a 30$/y VPS, and I will note I am not in any way affiliated with HiFormance, just a happy customer :D

All it offered was a bare bones control panel for choosing a VPS Operating System and standard options like browser SSH console, shutdown, reboot, reinstall as well as 1 IPv4 address, I used cloudflare to help manage my DNS. Time to channel my inner hackerman.

A friend made me this edit and its been my github avatar ever since

Now I won’t go into the details of how I went through setting up the VPS, not in this post anyway, but it was hours upon hours of trail and error, I even reinstalled the whole OS at one point due to some silly and painful mistakes. However, in the end I have the world of development at my fingertips, I’m able to host practically anything in my own personal environment I understand and control. The point of this post was for everyone reading to consider that its okay to not be the best, but getting out of your comfort zone and forcing yourself to learn foreign aspects of development will make you not only more knowledgeable, but more employable and better able to fix and understand your own mistakes!

This was my first ever article, I love the idea of sharing thoughts, experiences and gain insight into improving my writing/story telling as well as interact with the lovely people of medium.