In this interview Bilal shares his tips on learning to code, getting hired and dealing with issues like imposter syndrome. Bilal is a self-taught web developer who harnessed his natural curiousity and learned to code while doing a finance degree in India.
Hey, so can you give us a short introduction for people who want to know more about you?
Hello, My name is Bilal & I live in Mumbai, India. I currently run a small software lab called Neev Labs which I started last year where I focus on building SaaS products for niche markets. Currently, I’m working on Flowboardpro - a software tool for talent management agencies to manage the schedule of their artists.
Before this, I have worked with multiple startups & servicing companies from 2007 mostly in the technology side. From building MVPs to scaling technologies I have got a chance to work on a wide range of problems.
If you don’t have a CS degree, how did you learn to code? Did you do any particular courses or boot camps?
As a kid, I was curious to know how things worked behind the scenes. I always had a deep interest in fiddling with gadgets & finding ways to make technology work for me. Being a 90s kid I grew up witnessing smartphone evolution, which was like watching a tech sci-fi movie & it created a huge impression on me. This is how I got really interested in computers.
However, once I completed school I did not have any guidance available to help me navigate towards the world of technology. In the absence of that, I ended up picking finance for my college studies.
Nevertheless, I still went to cybercafes to spend time on computers & to tame the growing curiosity in me. While my friends were busy using Yahoo!, Messenger & Orkut, I would be knee-deep into finding what goes behind building websites. While information like this was not readily available in those times (& I might not be knowledgeable enough on what to pick) I still managed to find two important resources: w3schools.com & php.net.
To give you more context, back in 2007, there was an absolute absence of learning to code material. Most of the resources which were present assumed basic computer programming knowledge on the user’s end and I had none. Though I did find Lynda.com which had tutorials on the subjects behind a paywall, I didn’t have any way to pay.
On the contrary, w3schools was quite welcoming & kept their design quite easy to get started with. Everything was nicely organised on their website which made things even easier. I picked up the basics of HTML, CSS, PHP & MySQL to be able to put together a basic contact form website, still, I had no clue about variables, loops, functions etc.
How did you get your first programming job/ freelance work?
In the start of my third year in college, my best friend reached out informing me about a job opening in a local software company where he used to work too. He knew I had a knack for technology and that I had taught myself basics to make an impression on the founder.
It was a 2 person company making inexpensive accounting software for local mom & pop shops in FoxPro on Pentium 4 workstations (oh yeah!). FoxPro at the time was already coming to the end of life and it wouldn’t make sense to anyone to learn it. But to me, this felt like an opportunity of a lifetime. I felt that if there is somebody ready to pay me for spending time in front of a computer without asking for a degree, it was too good to be true.
I managed to join this company while still in college to make the most of my time. I spent 3 years of my time with this company. It grew from 2 to 7 people in these years and from an old storage room office to a fully furnished office. Moreover, I got to learn all the trades of business and programming. My job included writing code to customer support to sales etc. Being a part of a team small you really get to learn a lot of real-world knowledge.
Did you have any specific people that inspired you to learn coding?
Until 2012, I was just focused on getting things done with whatever programming knowledge I acquired over a few years. However, that all changed when I joined SupportBee - my first remote job with a different job description & my attempt to push myself out of my comfort zone.
Hana Mohan, the founder of SupportBee, introduced me to Ruby on Rails which was a massive paradigm shift for me on a mental level coming from PHP background. It felt like a different world to me where everyone cares about the code readability, writing tests, building abstractions etc. I would say Hana changed my perspective towards programming as an art instead of a tool.
How has your life changed since becoming a professional programmer?
I believe becoming a professional programmer changed every aspect of my life. It didn’t just teach me how to earn a better living but also made me a better person. I became more self-aware, mindful, empathetic & thoughtful.
It improved my approach & attitude towards solving problems in general, gave me an ability to choose what to work, whom to work with and I build a skill which is not geographical limited. I strongly believe that learning to code single-handedly made me more privileged.
Has anyone ever asked about your coding qualifications when you have been talking to clients? Do you think a CS degree is unnecessary now?
In my decade-long career, I never encountered an instance where my qualifications were of interest more than my skills. In fact, I found people are surprisingly more supportive when they learn I don’t have a CS degree & often become more welcoming. Most of the clients I get are not even interested in my degree but in my ability to solve their problem.
I wouldn’t discredit CS degree necessarily because they do teach some valuable lessons if your plans are to go deeper into the programming for e.g learning about compilers, complex algorithms, understanding complex data structures etc. But, I would definitely say they are not the validation you need to learn the skill.
Knowledge is being distributed everywhere so just gather as much as you need for now and start putting it to use.
What advice do you have for someone who wants to get their first programming job but they don’t have the time or money for a CS degree?
In today’s information age, learning to code is easier than ever. Picking up a resource which is widely used and sticking to it religiously should be enough to get you a decent learning point.
One thing I would like to everyone be mindful about is don’t get into the logistics of which technology to learn. It can be an overwhelming task and might lead to a rabbit hole which has no end.
Simply pick up one technology and stay laser-focused on it until you become fluent in it. If you would like me to pick it for you then I would strongly recommend Ruby. Honestly, I have not found any other technology easier to learn with a great ecosystem.
Once you gain fluency, then you can start building micro projects to gradually build confidence. Putting yourself out there will create far better chances of you getting discovered.
Can you tell us what an average day looks like for you just now? What are you working on and what is your lifestyle like?
I divide my day into two chunks, development & communication. I spend the first half of the day writing code for building new features in Flowboardpro and squashing bugs, if any. And the second half of the day answering emails, talking to potential customers, sharing my thoughts on Twitter etc. I do all my experiments and learning bits on Saturdays to keep my curiosity monster in check.
Have you ever had imposter syndrome and if so, how have you dealt with it?
All the time! Imposter syndrome is very real and can make you feel miserable about yourself. The sooner we learn to deal with it the better off we will be. As I progressed in my career it became easier to manage. Although in my junior days it was very hard to overcome.
I used to question my presence in this domain every single day. I always had a feeling what I’m doing is not up to the mark because I never received a formal education of learning this process. On top of that in one of my early jobs, I found myself working amongst the engineers from a top university in my country which made this feeling even worse.
I found what worked for me was shipping my work regularly and going to local tech meetups. Firstly, keeping your work only to yourself can have a traumatic effect on your mental health - you never shipped it so you never know how good it was. Shipping regularly helps in building confidence in yourself & lets your peers provide you with healthy feedback to improve on. Receiving early feedback on where you might need to improve can be quintessential.
Secondly, nothing beats meeting like-minded people in your local tech meetup from different walks of life & hearing them speak about their struggles. A sense of belongingness goes a long way in making you feel secure & accepted. I personally run two tech meetup groups in my city to make sure there is a platform for folks like us.
What are your coding dreams for the future?
At this point in my life I have invested the most in building products & solving problems using my skills on my own terms. In the near future, I would like to leverage these skills and put them together to improve the programming ecosystem by probably mentoring folks who want to learn to code, run small boot camps, helping junior programmers in making a mental shift to senior and most importantly build smarter tools for developers to be more productive.
Working towards achieving financial freedom has always been a goal for me so that I can make time to contribute to this ecosystem which I care about deeply.