Tell me a little bit about yourself and how you got into development
I am based out of India and have a full-time job as a full-stack engineer with Kayako.
I got into programming almost 7 years back in 2010. Unlike many other programmers, I had no connection with computers or science in my childhood. In fact, I completed high school by learning Economics and Accounting and never went to any college.
Here’s the hilarious part. I was watching The Social Network (the movie) one day and got excited to have a similar social platform for my friends and family. So I reached [out to] a local web development shop to find out how much it will cost to have a mini Facebook of my own. They quoted me too high. I was forced to learn web technologies and build it on my own and that was my first introduction to programming ever.
Gradually I found my way towards learning HTML, a bit of CSS and got introduced to PHP. The learning curve was so steep for me that I was not able to connect to a MYSQL database for a week and then realized I needed to install the database before connecting to it 😞
Hard days gone, my brain started functioning as a novice programmer. I got a job in a small company where I was the only developer doing everything from design, programming, to deployments.
Tell me about Adonis
AdonisJs is an MVC framework which is composable and yet has zero configuration debt. We overused the term “micro” as an industry, that writing a maintainable project has become a nightmare since you have to spend endless hours in wiring libraries.
AdonisJs addresses the issue of inconsistency and offers a beautifully crafted framework, which makes it easier to write and test applications. Also hiring new engineers becomes easier, since they can onboard themselves, over asking you questions about your self-written framework.
Why did you develop it?
I did some freelance projects in Node.js and mainly used Express or Sails.js. Coming from PHP background using Laravel, none of the options seems nearly as joyful as Laravel.
The biggest turnoff for me was the API inconsistency. Some packages of Node.js uses callbacks, some prefer promises, and others take the event-driven approach. There is nothing right or wrong with any of these, but a project using all these packages looks more like a circus with a blend of different API’s.
I wrote a bunch of issues I face when writing projects in Node and thought of building a framework which addresses them. Creating a framework was ambitious since I was no expert and just had decent skills to pull off a project. However, I gave myself a try and here’s Adonis.
What are some other cool things you’re working on?
Lots of new stuff for AdonisJs including learning material. Apart from that, I am very much excited about knowing the documentation process followed by companies or well-documented projects.
The tech industry has come so far, that we have so much in place for writing code to deploying it, but I see very few people talking about it when it comes to documentation.
I am excited about trying different strategies on documenting a project, building some helpful tools around it to encourage me and others to have nice and helpful documentation for their projects.
What do you like most/least about programming?
Programming is fun for the most part. The idea of creating things just by writing a bunch of code on a computer is fascinating. Also being programmers, we have the most privileged jobs. We are well-paid, can work from anywhere, which may not be the case in many other professions.
There is nothing in particular that I do not like about programming, apart from the privileges we have are double-edged swords since they can interfere with your personal life.
What technology do you currently find exciting?
Since I get attracted more towards technologies I can use today to build something useful, I am very much interested in getting hands-on with Swift.
The ecosystem of Swift seems pretty rich, and the best part is I can use it today to build small Mac utilities for myself.
What advice would you have for new developers, or wisdom to impart to other developers?
The best advice I can give is to stay curious about learning new things. No one knows everything from day one, but your zeal to learn new things can take you miles.
I never give up on things by saying maybe I am not skilled enough for this. Instead, I read others’ source code, tweak it here and there to see how it behaves.
Everyone has a different way of learning new things, so discover your way, since the skill of self-learning is the biggest skill you can have in any industry.