I recently got promoted from the post of Assistant Full-stack Developer to Full-stack developer at WittyFeed and that motivates me to write this one

If you are a self-taught programmer like me, you had your spaghetti coding days too. I consider myself a good programmer (not that Linus Torvalds will approve this), and how I got myself to stop writing Spaghetti code was an interesting journey for myself.

I started coding in PHP, I was always curious about how websites work since I got my first GPRS/WAP enabled phone and started exploring the internet over the 2G data plans I felt blessed to have. In search of “How to create own websites”, I tried many services Google told me about.

Being a Good spaghetti coder is not as good as being a good coder but its certainly much better than just being a spaghetti coder.

We were 2nd runner-up for Smart India Hackathon 2017 and I was still a spaghetti coder

My personal journey from being a spaghetti coder to a good one

In 2012, When I was in the 8th standard,

Wapka.mobi and XTgem were popular websites back then for creating mobile websites (wapsites) without the knowledge of coding and programming languages. I took my time to master these third parties to create a website with functionalities that I wanted, Wapka was great!

Yet I felt limited and trapped since I could add only those features to my website that these third parties allowed me to.  I would always end up questioning, “How are these third parties made actually?”

and in search for an answer to this, I again turned towards Google (Oh, I wanna praise this thing a lot right now!)

Tried here and there, signed up to many web-hosting provider websites with no clue about how to use these web-hosting control panels. I had no idea back then what PHP, MySQL and Servers were.

Little did I know that I will end up launching my own web-hosting providing website CloudingLab and have my own little personal cluster of Linux servers by 2015.

The best thing I did was to keep looking and Google eventually taught me what I wanted to learn. Learned the basics of how a standalone website works without the need for third parties like Wapka, XTgem, WIX etc. I was able to run PHP code on a server by now. I was so excited to have learned this, I even wrote it on Hack4m (in 2015): How To Create Own Website Without Using Sites Like Wapka and Xtgem

 

By 2013

I was up and writing PHP and javascript code (the struggle of JS support was real in 2013!), and I wrote the worst codes of my life in these days. They somehow worked and bugs on production were not a big deal, I practiced more and more while creating a tech forum in PHP with MySQL, the website was Hack4m.com (yes this one, currently this is on WordPress).

 

By 2015-2016

 I was writing good code now with a better understanding of how things work under the hood. But, by “good code” I mean “good spaghetti code”. Yep, I was still a spaghetti coder yet, I barely used OOP concepts and  Design patterns. The idea of programming for me was beyond “just  PHP” by now and I could code in multiple programming languages but, without realizing that just like PHP and ASP, I could write the backend for a website in C++ as well.

 

July of 2017

I joined Vatsana Technologies Pvt Limited (parent company of WittyFeed) as a web developer intern and that’s where I got an introduction to CodeIgniter and the idea of frameworks. Since then the idea of web development and programming changed for me entirely. Finally, Javadoc made sense to me. Luckily, after 1 month of my internship, I was offered a fulltime position at WittyFeed and I currently work here.

Now

Since then I have worked on multiple projects with various technologies, published my own open-source standalone javascript plugins, bash projects, npm and composer package etc, have a look at my Github Profile for a list of open-source projects I maintain.

And from what I have learned over time from the open-source community, I can finally say that I am not a spaghetti coder anymore. But, the tech is evolving and I hope to become the reason for some of its evolutions and therefore I will always have something to add to this post that I do not know about right now, at this moment.

Takeaway

How can anyone stop being a spaghetti programmer:

  • Learn git.
  • Explore open-source projects on github.com
  • Have a look at other people’s code,  and contribute.
  • Google a lot!

Also published on Medium.