IntroductionJanuary 16, 2021 -
Hello! This is the first post in my blog and I'm gonna tell you about how I started programming.
My Programming Journey
I started programming when I was still in college--which is located in Bandung city. My major was actually associate's degree in telecommunications engineering which deals with signals, antenna designs etc so I did not actually learn programming that much in college, but my curiosity was there anyway.
So out of curiosity I started looking for programming clubs around my college to find a community and learning partner. I found one which is kind of officially backed up by my college, but I failed their test. There were 3 steps if I recall correctly, but I failed in the last test--which is the interview test. I was kind of bummed honestly and went sad for the next few days, but I took it like a champ! 😞
My first language was C++, which was taught in a class by my professor--which ended up becoming my research team's leader. During my time with his research team, I learned not only programming and various programming languages like Python whcih I frequently use for research, but I also learned about mechanical stuff and embedded systems, like 3D printers, Raspberry Pis, GPS/sensor modules, Arduino, MQTT protocol, etc. I also learned a lot about FOSS (Free and Open Source Software), which led to my love with the Linux operating system--which becomes my day-to-day operating system for my computer till now.
Those times at college were really a stepping stone for me and kind of shaped my way of thinking till now. I made a lot of things, such as GPS tracker for bus, weather station, etc. Unfortunately, I did not know about Git during that time--well I did, but I didn't know how to utilize it properly. So my codes got lost in history due to countless disk wipes and OS reinstalls. 😅
I learned how to write a C/C++ library (specifically for the Arduino platform) and also the LoRaWAN protocol during my time as an intern at Antares IoT Platform. I also worked as an intern for a smart farming startup called Habibi Garden, and my PCB designing skills were put into test there. Unfortunately because I was also doing my final university project (a.k.a. thesis) during my time there, I feel like I did not perform very well back then, I feel like I could have done better. Well, best of luck to the Antares and Habibi Garden team! 🙏 wish you all the best for the future of tech and IoT industry in Indonesia! 🇲🇨
So I went back to Tangerang city after my graduation. I attended the IoT developer training called Digitalent which is hosted by Kominfo (Indonesia Ministry of Communication and Informatics) and learned some neat stuff about the cloud services and ecosystems. After the training, I decided to apply for jobs here and after some interviews, thankfully I landed into a job which suits my skillset. And here I am now, a web developer which mainly deals with full-stack web development involving Typescript, React, Kotlin, and Spring Boot. I also still deal with embedded systems here, but not that often.
Coding for Sport
Other than work, I still code for hobby and fun.
My current favorite programming languages for my personal projects' core engines are Rust, Golang, Elm, and Dart/Flutter.
I really like a programming language which:
- is predictable
- is strongly, statically typed
- is hard to break
- if not common, has decent interoperability with common languages
- has nice community
...and these languages just happened to fit the criteria, so I'm loving them so far. 🧡
I run a youtube channel here. I currently run a Python tutorial series for beginner web developers, and after that I'm planning to do a Golang tutorial.
In the web and mobile part, I made a Point of Sales system in order to help my pals manage their sales, BOM list calculator which is originally meant for calculating my PC build information but can be used for practically anything, and monthly subscription calculator. If you have any ideas, hit me up and I'll see if I can make it! I also plan to learn Flutter and remake the BOM list calculator for the mobile platform, and add cloud data synchronization.
For IoT and embedded devices, I am currently doing the TWIoT (Third World IoT) bundle for automatic watering/gardening system and also energy consumption monitor, which utilises a cheap small computer for gateway and ESP microcontrollers to be put around my house and monitor/control things.
I think that's all for now. Thank you for reading this far and please consider following my social media in the about page. See ya! 👋😉