Tamal Chowdhury

Software Engineering

Last updated on

I never thought I would become a software engineer one day. But here I am, doing all the sorcery with computers you see in movies; writing technical articles for a major publication; teaching beginners how to start coding. Seriously, I come from a non-tech background and I never imagined I would wrangle with code for a living.

It all started when I wrote my blog and wanted to build my own website to make money. In the early days, I built websites with website builders like WordPress. HTML looked like Chinese text to me. The best I could do was to copy-paste pieces of code from the internet, and hope nothing breaks.

My first official coding lesson was from Hour of Code by Code.org. There I heard the name JavaScript for the first time and I wanted to learn how to build apps with it. At the time I was already working as a freelance developer customizing websites with HTML, CSS, and PHP.

When I built my first WordPress theme for the theme repository, I was finally confident enough to call myself a “Developer”. Ever since then I dove into programming and learned and built so much.

JavaScript is my go-to language for building stuff. React, and Node are my preferred tools for building with JS. I am not a fanboy of JavaScrpt, so I always look into other tools. After JS, I build automation tools with Python. I also love coding in Java and eyeing Go and C#.

I am a mix of self-taught and computer science in college. I studied computer science at the University of the People. As a dev, I know both the latest tech and the theory behind it. Knowing the theory gives me clarity in building software.

My biggest software project to date is building the MySocial website builder. It’s a three-part app built in Node, and Reactjs. The website builder/editor is fully custom-made with Reactjs. The API and website generator is created with Node Express. It took me two months to launch the first version of the MVP and currently, it has 100 registered users in the early beta stage. I am very proud of this app and looking forward to continuing to develop it.

My style of building software is incremental development. I build a working demo of the app and then commit to the full version. Often, I would build an MVP in vanilla JavaScript before I set up a React project.

As a developer, I always learn new trends and best practices. I follow the styling guide from Google; follow Kent C. Dodds for software development; read the best practices from Chrome Web Dev site. My style always updates with new best practices.

I love to mentor other engineers. If my journey inspired you and you think I can help you, then hit me up.