Download PDF

Summary

I am a passionate, self motivated, deeply driven full stack developer who loves hacking on new stuff. I'm amazed by new cool toys but at the same time I understand the value of choosing boring technologies to get things done. I love and follow agile methodologies. I'm a team player, I love learning from and sharing with others. I am an OSS enthusiast. At my leisure, I participate in different programming related discussion forums and try to help others. 

Skills

Python

Python is my most favorite language. When I first learned the language, I loved it so much that I started promoting the language in my country. I gathered some other early adopter of the language and formed "Python Bangladesh" - a voluntary group of people helping others learn and use the language. In my professional career, I have built numerous apps / systems / services with Python. Django is my favorite web framework, Django REST Framework is my favorite for building APIs. But I have also used Flask where I didn't need all the batteries. I have built large email / sms delivery platforms using Celery that scaled for a million user daily. I have learned and written about asyncio - some of my most popular answers on StackOverflow cover the topic. When it comes to a choice - I happily pick Python over others. 

Go (Golang)

I love Golang. It is my second favorite language despite it's tiresome error handling practices. I love the concurrency primitives and the fact that it is super easy to build a concurrent system in Go. Python promised me - "there should be only one way to do things" but it feels like Go truly fulfilled that promise. While the built in http functionality works just fine, I usually choose Chi as my preferred router. I usually don't use any ORMs but for SQL databases, I like the sqlx library - makes things easier. I have seen the awesome "go-kit" package for building microservices and would love to use it in a production app in future. In my experience, Go has been really fast, very reliable and easily scalable to serve tons of requests. If I needed to build a large, distributed system with scalability in mind, I would happily pick Go. 

Node.js / Backend Javascript / TypeScript

I started with the usual MEAN stack but over time my choice of technology changed. Express is great but I love Koa because it's so light weight and let's me pick what I need. I have learned and used TypeScript because I understand the benefits of having types and appreciate the productivity gains from it. For background tasks, I used to use Kue but later on moved to Bull. 

PHP

I have done PHP for over 7 years in my early days. I have worked with Laravel, Symfony2, CodeIgniter and few other web frameworks over the time. I have worked on several projects based on WordPress and Silverstripe. I have built some interesting systems with PHP but also did some crazy stuff which I regret till date. I do not exactly hate PHP but I acknowledge it's limitations and actively avoid using it these days. Having said that, I also understand the benefits PHP brought to the table and the enormous contribution it has to the growth of the web. I respect the community and what they have achieved but it would require a very specific use case to make me choose PHP today. 

Javascript (Front End)

I started off with jQuery, then learned AngularJS. It was pretty great but then I moved on to the React eco system because I didn't like the direction of Angular with 2.0. Besides the frameworks, I have actively tried to use plain old JS anywhere possible. But having been a backend developer most of my career, I would not claim to be an expert in this area. But I consider myself full stack since I have built several front end applications (SPAs) and have a good understanding of and work experience in the front end technologies. 

UI / UX / Design

I can reuse popular solutions like Bootstrap or use ready made themes to create something that works and looks well. But I am not a designer, I would never be able to produce anything visually stunning by myself, without any third party libraries. My friends have also repeatedly emphasised on how my choice of colors and sense of beauty sucks. So, yes - I am not a good front end designer but I can jump in if you need a make shift design to get things going for the time being. 

Version Control / Git / SVN

I started with Subversion (SVN) but I have worked with Git most of my life. I am quite familiar with modern day Git usages. I am also used to using Git flow for development. 

SysAdmin / Cloud / DevOps

I have been setting up and managing Linux servers for quite some time. I have been mostly configuring LAMP stack or nginx with Python / Nodejs. I have also worked with Varnish and HAProxy. I am quite familiar with AWS / Rackspace / Azure services. I have prior experience with deploying client sites on all of them. Ubuntu and Debian are on top of my choice list. However, I am comfortable with CentOS or other fedora core based systems as well. I am familiar with tools like Chef / Ansible and can write automation tools for your cloud infrastructure. 

NoSQL

I have work experience with MongoDB and Redis. I have played with RethinkDB too. I have used Redis for various purposes - caching, message queueing, simply storing data etc. I have plans to learn CouchDB in the future. 

Docker / Vagrant / Other VMs

I regularly use Vagrant machines for my local environment setup. I have recently started using Docker when needed. I also have experience with Bitnami stacks. 

Business Analysis / Growth Hacking

I have done my graduation and masters in business. I am the co-founder of Google Business Group, Khulna. I have worked with many local entrepreneurs and helped them grow with modern technologies. I have also worked as product co-ordinator in one of my previous jobs. I understand how the business processes work and strive to add values to the people I work with and work for. 

Things I have explored

I am not going to claim I am expert in these technologies, because I am not. But I have a curious nature and I love exploring new technologies. I have used these tools for at least a basic app / system. I can easily go deeper into those if I need to. 

  • C#, Java, Clojure, Obj-C, Swift, Elixir, Rust - learning new languages is one of my favorite things. Newer languages have taught me many things. They have helped me get better in the languages I already knew. I particularly loved Clojure for it's Lisp like syntax and the fact that it totally rewired my brain into thinking in a very very different way. I believe Elixir has a good future and is gaining popularity among Ruby / Rails developers. Phoenix is an awesome framework. 

  • WebSocket, WebRTC - I have built realtime chat systems using WebSocket. I also played with a video conferencing system with WebRTC. It was fun! 

  • Google App Engine, Tornado, Bottle - tested them out, built very basic apps. Tornado was interesting because of it's concurrency patterns and websocket support. 

  • Drupal, Joomla, Magento - blast from the past, worked with some basic projects during my PHP days. 

  • PostgreSQL - I am using PostgreSQL in production with several Django apps but since I use the Django ORM, I was never forced to learn the database well. So I can't yet put it as a main tech in my CV. 

  • Supervisor, Gearman, RabbitMQ - explored them for building distributed background processing. 

Leadership Roles

  • I am active moderator of the largest PHP user group of Bangladesh, "phpXperts"
  • I co-founded Python Bangladesh - it's also the largest Python user group in the country
  • I founded NodeSchool Khulna with an aim to help others learn Javascript and Node.js
  • I'm a co-founder of Google Business Group Khulna where we help people connect with business and technology
  • I have been regularly speaking at the local PHP & Python conferences
  • I write blog posts and record screen casts in my mother language to help others learn stuff

Testimonials / Recommendations

"I've worked with Abu in a big project for the past 10 months and I couldn't be happier with my hiring. This man is a great programmer and an excellent communicator. He is very intelligent and has a pragmatic approach to problem solving. When things get rough, he'll make sure that you understand all the options before making the call. He is ALWAYS available. I'm already working with Abu on other projects. I would definetly recommend him for anyone looking for an experienced web developer with great communication skills."

 Andre Duarte,  AirCourts

"I could write pages and pages praising Masnun for his work and help he provided to us! I am simply going to say to everyone, he is the best developer/consultant we have worked with on Odesk. He was referred to us by another company, and it was the best decision we made to follow up with him! Great guy, and we will be using him again in the future! RentersCard loves Masnun!" 

Ash Hoey, RentersCard

"Masnun was an exemplary contractor.  He was communicative, clear, and took time to ensure that he understood the work properly.  A pleasure to work with.

As far as skills are concerned, I work with Django / python myself, and I was impressed with Masnun's code.  He takes coding best practices seriously, and his code is clean and efficient.  I will be rehiring him for more jobs soon "

Patrick Brown, Rouse Lawyers

Work experience

Senior Full Stack Software Engineer

Jul 2015Now
Local Staffing LLC

I have been building scalable systems that is used by millions of our users. For Local Staffing LLC, I have built from large monoliths to high scale microservices using Python, Node and Go. My main focus has been on the email and sms delivery platform. But I have also built numerous internal services to facilitate other systems and reporting tools for better insights into the business. I have used Python and Celery pretty extensively. On the front end I have used React. Most of the Go systems used Chi as a router. The NodeJS systems used Koa and TypeScript. 

Senior Python Developer (Backend)

20162018
Durlov

I have worked with this local startup for over two years. My primary responsibility was to build the backends for mobile apps. This involved deciding on the architectures, building scalable APIs with Django REST Framework and handling background jobs with Celery. I also built a real time chat system on top of websocket protocol with Django Channels for one of the apps. My secondary responsibility was to manage the serves. We used AWS and I setup and maintained the EC2 instances for running the APIs. 

Lead Developer

Dec 2014Jul 2015
Transcendio

I have been leading the web dev team at Transcendio. We built web based products for local clients. Most of the work involved Django/Laravel with AngularJS front end. 

Web Application Developer

May 2012Jan 2015
Vitzo.com Internet Services

I worked with PHP mostly. CodeIgniter was the framework we used most. I also did a decent amount of work on the front end. Gathered a lot of jQuery experience on this job. Beside building web applications, I also worked on Google Apps automation, Firefox and Chrome's browser extensions and some in house R&D on youtube videos. I managed several products from the company. I used Python and Tornado for building a real time chat applications in one of the projects. 

Python/Django Developer

Sep 2013Dec 2014
AirCourts

I built the web application for the Portugal based start up which aimed at reinventing how sports clubs worked. It's an online booking platform for sports enthusiasts. The web application used Django and Django Rest Framework. AngularJS was in the front end. 

Software Engineer / Product Co-ordinator

Nov 2012Dec 2013
okdo.it / Tasawr

I was mostly working on the okdo.it team in Tasawr. I contributed to the SaaS product by writing codes on Zend Framework 1.x and AngularJS. I gathered significant AngularJS experience on this job. My employer valued my business degree and I also performed the part time duty of "Product Co-ordinator" where I was communicating with investors and founders, translating business requirements to JIRA issues for the dev team.  

Software Engineer

Sep 2009Nov 2012
Leevio

I was working on several products - my day to day work involved building web applications with PHP. I also used Python extensively on job. I also worked with PhoneGap and Titanium to build some mobile applications during my period at Leevio. 

Web Developer

Mar 2010Feb 2011
BRE LLC

I helped build their web traffic monitoring web application. I worked with CodeIgniter and jQuery. I was the only member in the team and worked directly with the founder. The position was part time.