About me

Quick learning

To me, building a new feature just like writing a new if statement with a new variable. So as long as the requirement is clear enough to know what is the condition of the if, the feature is doable.

I started with PHP first but now I'm mainly working on Django. I was able to start working with python after 4 days self-learning then become leader assistant after 1 month.

The most important things I learned from working with PHP is how the web works, what browser does, what server does and what can be done with the web.

Programming language, framework, template, etc... is just the things that expert build to solve the problem they met.

Click to see
daotranbang@gmail.com
Ho Chi Minh city, Vietnam

Skills

Full stack engineer

Common skills

Debug
Reversed logic
Dota 2: 5k MMR

Web server script

Python
PHP
Web socket
Beginner
INTERMEDIATE
ADVANCED
Expert

Databases

Postgres
MySQL
Redis
Beginner
INTERMEDIATE
ADVANCED
Expert

Frameworks

Django
Magento
Flash
Beginner
INTERMEDIATE
ADVANCED
Expert

Javascript Frameworks

jQuery
ReactJS
AngularJS
Beginner
INTERMEDIATE
ADVANCED
Expert

Mobile Frameworks

Swift
Java
Beginner
INTERMEDIATE
ADVANCED
Expert

Front-end Script

HTML
CSS
Beginner
INTERMEDIATE
ADVANCED
Expert

Experiences

Working history

2018 – NOW

Inspectorio

/ Technical Architect

django villas

Inspectorio was almost 2-years old when I join. Its product is very interesting and kind of leading in the market. What Inspectorio is a product with high quality in order to match with its idea and position.

I started with improving the test coverage, adding unittest, adding Sentry, and changing the git flow so that we can develop faster, easier and safer. We reduced the change of having unknown/randomly issue to 0 for new deployment.

We changed from Flask to Django, DynamoDB to Postgresql/MongoSQL, session-id to JWT... etc to give the product more extensibility, stability, scalability.

The microservice structure gives us the ability to scale up the product and team easily while adding more complexity to the developers' work. I'm trying to reduce the work complexity of developers while keeping same productivity.

2017 – 2018

The Luxe Nomad

/ Lead Engineer

django villas

The Luxe Nomad is a travel agency company.

I've rebuilt the whole website into Django + ReactJS within 2 months, including: booking, admin, channel manage, data migration from old system, payment, voucher. Also switched from MongoDB to Postgresql with data migration for better performance and r educe the complexity of code base.

We use checkout.com as a payment service, which allow customer to pay via many types of card.

At Luxe Nomad, I spend more time to optimize the AWS infrastructure to reduce the server cost, which was really high. The frontend script is built from local and added to git history for each deployment to reduce the EC2 usage from medium to small. We deployed admin, frontend, channel manager, worker and email worker into different server for better performance.

2013 – 2016

East Agile

/ Team Leader

python django agile api

East Agile apply pair programming process here, which is really good for engineer especially for junior because the senior will teach them a lot when working in the pair. Pair programming also reduce the risk of changing team members because we always have at least 1 member understand the project.

I worked to build a general API for Home Depot which is used to build their web and mobile apps. We started with improving their test coverage from 30% to 90%. After that reduce the test running time from 10 mins to less than 120 secs. We have only 2 members on our side working night-shift with a client in the US for 9 months. The project ended when the client has enough member to handle this project in-house.

I started the job in East Agile with a project for Linqua. The client wants to re-build their ad-system with a good test suite. We built an ad-server application (Python), a reporting system (Python) and rewrite some important part of their main application (PHP).

I got chance to work with some Javascript frameworks like AngularJS, ReactJS.

2012 - 2013

Vida

/ Team Leader

php magento

I came to Vida to become their new team leader, the Magento team. The company gives me 1 month to research, learn, and practice with Magento while looking for team members. There's not much people in Vietnam work with Magento at that time.

The team has 4 members at the time the first Magento project arrived. We got more and more projects but the team size increase only 1 member to a 5 people size team, including me. Every 2 members handle 2 projects in the development phase, 2 of them also in charge of maintenance that project when it goes public. I was in charge of handle all most difficult part of those project including customizing Magento behavior, writing new modules, packages, payment methods, etc... while teaching the team to do so.

Our team is not the biggest team in the company at that time but we are the most friendly team or happy team in my point of view. We have enough time for 1 training class per week, my team members listen to me even all of them are older than me (I was about 24 at that time).

I learned and practiced Git in this company, and after 2 years I realized I did a really really bad git process there.

2011 - 2012

gloops Vietnam Co.,Ltd.

/ Software Engineer

Software Engineer

I was a PHP expert when I join this company, my best friend invites me to join with her so that we can work together. The company was formed 2 months after the interviewing. I only know they were looking for Python engineer on the first day of work. The company gives each of engineer (it seems nobody knows Python Django at that time in Ho Chi Minh city) 1 week to learn Python and Django. After 4 days of learning, I start with the first task of maintaining a project name "Legend Cards" game, the very famous web games in Japan at that time. After 1 month, I was given the lead assistant position.

We used Django to build web game application here. In 9 months, I worked with 4 game projects, fix a lot of bugs including 6 security bugs that I found and raised. 2 of 4 projects are the mobile web game.

The company tries to use 1 general solution to build the game application on both iOS and Android. I was given the task to research about all the technology can be used for that. Thus I touch iOS object-c, Android Java, PhoneGap, Appcelerator..., build a game application for each of them as a demo. At the end, the solution is developed 2 apps, 1 for Android and 1 or iOS for each game.

2010 - 2011

Blueway Co. Ltd

/ Tech Lead

php zend-framework joomla prestashop

I started my own business with my friends at Blueway. I was in charge of building the engineering team, bidding projects, and controlling the quality of outcome. We developed 3 products at the same time, a web service, a self-learning website, and a real learning tool for English.

The company was sold after 4 years.

This startup gave me a lot of experiences about managing a company, we have to care about the staff, the tax, the income, the company image, the people, the product, the vision...

2010 - 2010

Vida

/ Senior Developer

php wordpress modx joomla

The first time I work in a company office. I was a freelancer until I joined this company.

The company was forming at that time, we started with some small projects like build websites base on PHP CMS like Wordpress, MODx, and Joomla.

Build web Virtual Fitting Room allow the customer to try new clothes on the website.

I learned company manner here. Learned to use project management tools to manage the project. We used ClockingIT.

Education

B.S Computer Science

2006 - 2014

University of Science, Ho Chi Minh city

/ B.S Computer Science

software-engineering computer-science

Thesis 9.0

GPA: 3.14

Started my first job at the university's Software Experiment Lab in my 2nd year.

Started working as a freelancer on 3rd year.

Joined and built a charity group name Care and Share. Help to build their website and join their activity.

Was member of organizer group of Challenge 2011

Projects

Top projects that I worked on

2017

The Luxe Nomad

/ https://theluxenomad.com/

django

Villa booking service

A website connects to many villas and integrate with many channel API

Team size: 1

2017

python django restapi

Steam service

A backend API used for ReactJS, Android and iOS

We rebuilt the whose MVP in just 5 weeks.

Team size: 6

2016

Samsung S3O - Chinchilla

python django

Single Sign-On system

A backend API used in front-end android library for authentication

This is a simple API but we need to handle 6.000.000 user with 15k requests/minute thus every small thing need to be perfect.

Team size: 4

2015

Citizens Police Data Project

/ http://cpdb.co/

python django reactjs

Chicago Police Misconduct website.

This website uses Django API backend and ReactJS front-end for data browsing and filtering.

Because of this website's purpose, we spend most of the time on UI and UX stuff:

  • displaying 40k heat map point without hang browser
  • making a transition between router pages
  • buiding slider of 8k items without making browser stop

Team size: 8

2014

Home Improvement Made Easy

/ http://www.homedepot.com/

django rest api unit-testing

American E-Commerce API

Improved test coverage from 30% to 90%

Reduced test running time from 10 minutes to 120 seconds.

Built some new API.

Follow strictly PEP-8 coding standard.

Team size: 2

2013

python google-app-engine angularjs

An expert network project.

We are mainly in charge of improving this project's unit testing, integration testing, the test coverage of its, built API for AngularJS's call.

Team size: 2

2013

Native Content Marketing by Real Storytellers | Linqia

/ http://www.linqia.com/

django tornado php api

Online marketing provider

Built new ad-server on Django and report system on Tornado.

Rewrote some features of PHP application.

Added unit-test and integration test.

Team size: 2

2012

Magento projects

php magento

Developed and maintenance 6 Magento based websites.

Developed new Klarna checkout module for Magento which is mostly used in North Europ countries. Klarna provides a checkout API allow us to create/modify/manage order on their system. I integrated Klarna Checkout to Magento.

Developed Criteo integrated module for sales tracking on Magento.

Developed Magento Apptus module, allow Magento fetch data from Apptus server and display it on Magento itself. I designed and build this module so that Magento can treat Apptus as a database server for products and search collection.

Team size: 4

2012

World War / Monster

/ website is down

python django ios android

Mobile web game

I worked on the initial stage of this project, researched about the capability of mobile development frameworks (Android, iOS, PhoneGap, Titanium platform, ...). Because of the capability of PhoneGap, Titanium and other frameworks like them, at the end, the mobile apps were built on both Android and iOS instead of "write for one, run for all".

I also designed architecture for this project: request and response flow, class structure, folder structure. Designed and optimized database structure.

Wrote API core structure for connection from mobile app and website.

Write core structure and requirement for mobile notification from the website with apns.

Team size: 8

2011

python django

Mobile web game

Improve performance, security.

I closed 6 serious security holes in this project, any of them can make the whole game shut down. Those bugs related to missing permission validation before doing actions.

Improved performance by using Redis/Memcache, refactoring source code, and convert source code to OOP style. Re-implement some function using background cronjob and shell execution to reduce the page load time.

Team size: 14

2010

English Question & Answer

/ website is down

php magento zend

Question and answer website, a clone of StackOverflow.

Team size: 2

2007 - 2010

Debugging

on http://freelancer.com/

php javascript

Did more than 20 jobs about debugging. Most of the time, those bugs cannot be solved by their current engineering team. So it requires me to quickly understand their code and detect where the bug should be, after that I fix those bug using their coding style so that they can easily understand and change when needed.

Team size: 1

2007 - 2010

Web crawler

on http://freelancer.com/

php python

Developed about 30 applications for collecting data in some special websites.

Most of those websites require logged in to get information. Some of them are webmails, which is required about 10 steps in right order to log in.

Some websites (.NET, Oracle, configurated Apache) cannot be scrawledusing cURL extension, so I must write a low-level code using fsockopen to request and take the response from those web server.

Some automation applications based on web crawling for vBullentin, cPanel.

Team size: 1

Bang Dao©2015 Web Developer