First, I would like to express my gratitude. Thank you to @anomadsoul and
@guyfawkes4-20 for hosting the Sndbox quest for developers,
@legendchew for helping me to proofread this post.
You can read the rules about the sndboxquest here.
I am a student at University of Western Australia (UWA) majoring in Electronic and Electrical Engineering. Although I am still a student, I am a self-taught software developer where my field of interest revolved around Web Development, Task Automation (web testing, chatbot, web automation), Internet of things, and recently I start to work on Blockchain development projects.
Currently, I am working on a few projects on building decentralized database and also the bots creator for a few community, namely #teammalaysia, #cn-malaysia, #teamaustralia, #qurator, and #cebu.
My dream as a software developer started as I want to learn how to automate my daily task in real life. Imagine people had to do things repetitively, but if we can do it with just a few lines of codes. That will be awesome. This is also my motive to keep myself moving forward while learning how to code.
My software development journey starts in the year 2015. I started as a freshman student where I took a class known as "Introduction to C++". At that point in time, I really wanted to learn to create a program that can automate my task. However, just as I thought that my journey as a programmer or coder was about to begin, I discovered that there is not much of practical use of what I learn in school. Most of my tasks in school were as simple as creating a virtual ticket machine and mostly non-practical.
I am a hardworking person and an avid reader, I spend most of my time at the university in the library. I started picking up books around web development, and spend my leisure time reading and creating websites.
I always wanted to help my parents and that was the point where I use a lot of practical code in programming languages. I help them to develop and create websites for their business.
I will describe my field of software development into a few categories:
As an electronic and electrical student, I had been working on a few projects of Electronic projects. From working on projects, I learn also a few programming languages along the journey.
This is my first electronic project. Our project is to create a microcontroller that translates English into Braille (A language for the blind) via Bluetooth.
Me and my group mate working on the braille translator
Smart Aquarium is an internet of things project, where it will share data collected in the aquarium onto the internet.
This is the largest project I ever had made, I had been working closely with a Mechanical Engineer to ensure the boat work. It is powered by solar, and the data collected by it will publish into the Internet through WiFi.
This is one of my hobby project where I created an iOS app with Swift, and it controls a light bulb that is connected with NodeMCU.
I had been working on web development for more than 3 years, but this field is really too wide for me to explore, every day there are new technologies popping up, and I had to keep up with it.
The journey began of venturing into the realm of Ruby On Rails, a full-stack web development framework. I really learn a lot of best practices as a software developer from learning and making a web app with Ruby On Rails.
As a self-taught web developer, I always had an issue which is their portfolio, so I decided to spend time and effort to create my own personal website with what I learn. I used Ruby on Rails and try it out. After a few attempts, I had finally launched my personal website back in July 2017. You can check it out at https://www.wenghan.me. Please take note that I did not update it since January 2018.
On October 2017, I found a chance for me to work the front end web on Open Dota, a statistical site for Dota 2. I managed to enhance the mobile web user experience by introducing Progressive Web App concept into the project.
The merged pull request:
On December 2017, I decided to step up my software development journey by starting to share about what I know in a meetup.
I would say that December 2017 is the turning point of my life. I gave my first talk on "Progressive Web App, add to home screen and push notification" at the Kuala Lumpur JavaScript (KLJS) meetup at Mind Valley. Then, "Push Notification with Ruby On Rails" for Ruby Tuesday. Lastly, "Progressive Web App" on BarCamp KL.
On January, I made a pull request onto steemit/condenser where I fix the bug on the add to home screen feature on Google Chrome, where the steemit icon does not show out. I made a pull request to steemit/condenser and got the feature into production.
This is the field that are close to my heart. The field are the reason I started coding and keep doing it. It started to solve my own problems, and also others.
This was a project requested by my friend. This script will help you to accept matches on Dota 2.
With the help of this script, Dota player does not have to waste their time in front of their computers, and can instead spend their time on other matters while waiting for a game, because this script help to accept the game.
During my half-year break, I start to work at a company for a few months mainly working on Web Testing and Front End Web Development.
I have written a web testing script (with Python Selenium) to test out the website when it is on bidding.
I build multiple bots with Steem Blockchain, integrated with Telegram and also Discord.
I am a member and developer of #cn-malaysia community. As our team suspects, there is a lot of non-mandarin content being posted using #cn-malaysia without any consent. Therefore, I have created a bot to remind them not to use #cn-malaysia tag. It is meant for Chinese languages and Malaysian Steemit user only. This bot will comment on the post that uses the tag #cn-malaysia without fulfilling the requirement. (At the moment, the requirement of the content must have at least 20% of Chinese words)
statBot is a utility bot on Discord which helps Steemit user with a few tools.
Current function:
Stephard is a discord bot being used by the #teammalaysia community. This bot will carry out post a quality check and reward the author with an upvote and comment on their post. A certain post related to sensitive tag will be redirected to another channel and pending for a moderator to verify it before the rewards and comment to be carried out manually.
Currently, this bot still being developed to improve code quality and fight against abuse.
contestBot is a bot that checks for the latest post on steem blockchain when someone posted with #teammalaysia alongside with #contest, #raffle, and #upfundme, in order for the users to join the contest ASAP.
Currently, I am working on a few enterprise projects for creating a decentralized database with blockchain technology.
I am working on a video tutorial series on how to create a proof of work blockchain from scratch.
The playlist is on Youtube.
The end project (one of the end product of my project) look something like this:
Currently, I am working on private blockchain project to create a decentralized database by setting up private Ethereum network using Proof of Authority.
I also did Ethereum Smart Contract analysis, so far I had a post written analyzed Mithril token.
Smart Contract Analysis #1: Mithril (ERC20 tokens)
In a nutshell, I started coding with my interest in task automation, along the journey I learnt a lot from web development and electronic projects, which lead me into the field of blockchain development.
I am indeed very lucky to have came across Steemit in my journey as a programmer/coder. With Steem, I finally had a place where I can put my practical skills into good use! I am really glad that my skill are able to help not just myself, but also many people in the community.