I’d like to take you behind the scenes of the BSD software development team. Did you know that BSD’s Online platform is built in Bangkok? Our team is actually a multicultural and international group of developers, data scientists and designers from Thailand, Scotland, England, France, the US and Myanmar! We work closely together but also spend a lot of time collaborating with our colleagues in the United States and Hong Kong.
Our software developers divide into two “agile teams”. This means that they work on a process of building, testing and adjusting to feedback to create solutions that are finely tuned by the time they are in front of our users. When we give our users access to what we have created, this is called a release. Building upon Amazon Web Services we have created a release process that allows us to deploy at any time of day, even when the platform is being actively used, and reducing the need for down-time or maintenance. Everyone in the team works really hard because the focus is always on building a high quality experience. The way we work could be summarized as:
Work hard. Work smart. Learn. Improve. Deliver quality.
It’s not all work on our primary product all the time. Our focus on education is not just in the product we’re building. Technology is forever changing and so it’s essential that our team has the time to explore what is up and coming or new to them so they can create the best possible technology through their work. You could say we focus on education in our product and ourselves. We are always trying to learn and improve. To give us some structure we do a monthly “Code Jam”. Everyone in the team chooses their own initiative to work on. This can be learning new technologies, prototyping an idea for a new feature on the platform, or creating a new lesson on the platform. Often people choose to work with colleagues to build something together.
You might have heard that it’s really hard to hire technologists. This is definitely true. We work really hard to have a strong reputation for the quality of what we build, running a strong process in our team, the ability for team members to innovate and the opportunity to be part of a company with an international culture and unified passion for education. When hiring we always look for people who have excellent software development ability and share our passion, culture and values.
Some of you may be interested in our technology stack. These are all the ingredients that go into our technology. We use: JavaScript, TypeScript, HTML, SASS, ReactJS, Redux, RxJS, webpack, Node.js, PostgreSQL, Amazon Web Services (Elastic Beanstalk, Lambda, API Gateway, CloudFront, CloudFormation, S3, CloudWatch, ECS).
This might look like a lot of names and letters. However, I would like to point out a primary technology we use in this list, called “ReactJS”. It was developed at Facebook and then shared with the open source community worldwide after being created, so teams like ours can benefit from the work that the engineers in Facebook did. It is a really prominent feature of technologists around the world that they share their knowledge and help others benefit from what they discover. When this has happened and it is by a big organization like Facebook, it also becomes a technology that thousands of developers use and improve so it becomes really powerful, efficient to use, and a great choice for building a platform like BSD Online.
There we are – a brief introduction to the approaches and philosophy of the software development team. We all learned to programme without the benefit of a platform like BSD Online. We really want to improve the process of learning technology for those who are coming next!
Stay tuned in the coming weeks to learn more about the lives of our data scientists and designers!