The company is based in Vancouver, Canada, but I did the internship remotely.
From August 2019 to December 2019
About the Company
Dapper Labs is a blockchain design company. It is well-known for creating games on blockchain. On of their famous applications was CryptoKitties, which is a game built on a blockchain.
I was part of the networking layer team of the Flow Blockchain project. Our task was to develop the network layer of the Flow Blockchain, which is a smart contracts blockchain made to support the next generation of games, apps, and digital assets.
Throughout the internship period I worked with a team of other interns and experienced developers. We iterated over several roles during the internship. These roles included small scale testing, large scale testing, research, Implementation, and architecture development.
It was my first experience in a production level environment. We strictly maintained and followed the high-level coding practices. These practices and coding styles were quite different from the way we normally code in research projects and university courses.
So I can summarize the skills learned as follows:
- Real case practice of agile development style.
- Unit and integrated testing.
- Production of high quality code with extensive documentation.
- Further understanding of network protocols, such as gRPC, TCP IP.
- Learned Object Oriented design with Golang.
- Improved my software design skills.
- Better understanding of smart contracts and blockchains.
This internship was my first experience in which the code I write will be deployed to production. Therefore, much more focus and work was required to make sure that the code base is robust and error-free. It took me time since the beginning of the internship to be able to produce good quality code. Especially considering that I was using Golang for the first time.