It has been two weeks since I started working in Automattic. Overall, it has been a great journey so far, and I am looking forward to the opportunities that I will experience in the upcoming days, weeks, and months.
Home Office Upgrade
One of the nice perks that I utilized is that the company gives an allowance for us to set up our personal home office. Since I and my wife moved to our new house, we haven’t really got a chance to set up a proper home office for us to use for our daily working activities (both I and my wife are working from home most of the time).
My previous working setup consists of putting anything to be used as a working table. Most of the time I utilized an empty box (from a food processor that we have) and put a laptop on top of it. Sometimes, I also use my wife’s breastfeeding pillow (surprisingly, the pillow feels nice).
I can finally say that the new working space that we have is proper enough to support our daily working activities. The full setup that I and my wife use are mostly covered by the allowance that Automattic gives (it mostly covers my working equipment). By the way, a suggestion, if you folks have enough money to buy it, a Herman Miller chair is a game-changer (I use a Mirra 2 chair).
Every new joiner at Automattic, regardless of the role, will start their first two weeks in a Support Rotation. In the Support Rotation, we are effectively acting as a Happiness Engineer, helping customers from all around the world with their problems.
In the day-to-day activities of being in the Support Rotation, we either answer support tickets that the customers send out or being standby to answer them in live chat settings. One good thing that I’m glad that Automattic has is that the documentation that they have is rock solid, it effectively helps me in doing my role in the support rotation.
In my opinion, the Support Rotation is acting as a unique onboarding experience for the new joiner in the company. Not only does it allow us to have a full two weeks to gather as much information related to the products that Automattic has, but also it acts as a tool for us to understand the customer’s frustrations and pain points when using the said products.
I’m very excited to announce that starting this January 2022, I’ll be a part of a fully distributed team as a Software Engineer at Automattic – The company behind WordPress.com (yay, this blog 🎉), WooCommerce, Tumblr, and more!
As a major contributor to the Open Source community (WordPress powers ~43% of the web), Automattic allows me to explore areas that I’ve been looking for to contribute to the Open Source community (and, of course, getting paid from it). Joining Automattic also made me reflect on my earlier day back in the University when I was tinkering with WordPress, making side projects out of it, both paid and volunteer.
Initial Call with a Recruiter
My experience started when I got an email from one of the recruiters in Automattic. I received several emails and LinkedIn chats related to the new opportunities, but this email captured my interest. Not only because the company is familiar to me, but also because the email mentioned that Automattic is a fully distributed company. At that time, I had no idea that Automattic was operating in a fully distributed way.
The recruiter asked me to fill in a calendar schedule to have a short video call session, and I did. The call was brief and enjoyable. The recruiter explained what they were currently looking for. She also asked me about my previous working experience and my view related to the Open Source community in general. The call was concluded with a step-by-step explanation of the Interview process.
TIP: it is a good idea to do a research of the company before the initial call with the recruiter, also prepare some questions that could be asked at the end of the initial call session
Code Test Phase
After the initial call with the recruiter, Automattic invited me to their Slack (as a guess account, of course). Over there, I was invited into a private channel and all stakeholders related to my recruitment. One of the Automattic members then explains related to the code test phase.
In the code test phase, I was invited to a Github repository. Over there, the detail of the task is highlighted. One nice thing about the code test phase is that the test environment is already created for us (basically, Automattic gave me a virtual environment along with already installed tools and also cloud IDE to work on). I was asked to make an improvement to a WordPress plugin.
TIP: this is where both of your coding style and communication style is being judged. You don’t need any familiarity in PHP or WordPress at all, as everything is easily researched. Communicate all blockers / questions in the Slack channel (they will happily unblock you on that). Make a good commits, and think about the tests on the code.
This was by far the most unique phase in terms of recruitment from a company that I have ever experienced. After passing the code test phase, Automattic will send you an offer for a trial phase. In this phase, Automattic pays you USD25 / hour to finish a 25-40 hours trial project.
One special thing about the trial phase, and the one that I appreciate, is that Automattic expects you to manage the time you take to finish the project yourself. You can spend weekends only for example, or on workdays, after you finish your actual job, it’s entirely up to you. They also allow you to take a break if you have a personal or a professional responsibility that you need to take care, as for myself, I took a 2-week break in the trial phase because my wife was giving birth to my newborn son (in a sense, a parental leave break). I approximately finish the project in around two months’ time.
As for the project itself, it was about utilizing one WordPress plugin library and building integration with one of Google’s services. The integration involves building an OAuth2 authentication and authorization and understanding the API contract of the aforementioned Google’s service. Also, it is required to have a good approach in terms of the performance of the integration that is created.
TIP: in this phase, they take a deeper look into your coding style and your communication style. Also in my opinion, they also take a look into how you manage your time in doing the project. It is a good idea to communicate your plan to approach the project and your blocker to the Slack channel
And that’s it! after the trial phase is finished, the last phase is the offering. As for the offering, I had a chat with someone from the Developer Experience team. We discussed my aspiration and my preferences in the team. After a few days, they gave me a team and the related documentation related to the team and asked me whether I’m okay with the team mentioned. So in a sense, I know what team I’ll be joining even before joining the company (which is a good thing!)
After the team is decided, then I have another chat with the HR representative related to the benefit, and the detail of the contract. In the end, they send me a contract and I reviewed and signed it.
Waiting For the First Day
What’s left is to wait for the first day, and welcome to Automattic 😊
“The art of war teaches us to rely not on the likelihood of the enemy’s not coming, but on our own readiness to receive him; not on the chance of his not attacking, but rather on the fact that we have made our position unassailable”, This quote from The Art of War by Sun Tzu, as written on one of my Cryptography and Network Security text book, is what made me interested in this particular subject, Cryptography. As a computer scientist, we tend to measure a lot of things, and prepare of one consequences, using a worst case scenario approach. For example: how long a particular algorithm will run, what’s the likelihood of a cloud service failing, what happen when someone read my secret messages. Using worst case scenario mindset, that quote from Sun Tzu is just so in place of thinking on how to prepare from enemies’ attack, or in Cryptography term, Adversaries. We shouldn’t assume that our secret information will stay safe wherever they are, we should take precaution measures to protect them. Because of those motivations I am applying to TU Delft, choosing Master of Science in Computer Science, Software and Technology Track. To this very reason also I am choosing Cryptography and Information Security specialization.
In the last year of my Bachelor’s program, I finished a thesis titled “Gentry’s Fully Homomorphic Encryption Scheme over Integer and Its Implementation Using the Python Programming Language”. Finishing this in a semester of four months with total credit of 6, I received a perfect score of “A” for both the thesis and the defense. This thesis was about an implementation of currently developed encryption scheme based on a 2009 Ph.D. dissertation of Craig Gentry from Stanford University. In his dissertation, Gentry bring up a scheme of a long awaited idea in the world of Cryptography, Fully Homomorphism in Encryption. This idea firstly posed by Rivest, Adleman and Dertouzous in 1978 yet have not find an implementation, allows us to delegate our data processing to a third party without granting them any of information regarding the data being processed, eliminating the need of fully trusting any third party that process our data. In my thesis, I implemented an integer version of Gentry’s scheme using Python programming language. I chose to use Python because of its availability in any platform, its support in multi paradigm of object oriented and functional programming, and also its features and libraries that ease me in code implementation. I also created some test cases to test the scheme’s performance in variable plaintext and key sizes.
While browsing to the web pages of Computer Science School in TU Delft, it piqued my curiosity that in TU Delft you have several Special Interest Groups that does research on a lot of interesting subjects, one of the group that make me interested is the one that called Cyber Security Group where one of the research topic there is about Homomorphic Encryption. I got excited because not only it is quite similar with what I studied for my undergraduate thesis, but also this particular group is relatively new group in TU Delft, as new as January 2014, yet it has a lot of promising research topic there, for example: research about Secure Information Sharing, Lightweight Cryptography, and application of Quantum Information Theory. This special interest group focusing on Information Security and especially Cryptography is one of the thing that I hardly find in my previous university or even my country Indonesia, it was uncommon for a student to be interested in Information Security, let alone having special research group that do focused research on that particular subject. I also interested in the fact that in TU Delft you can expand your knowledge by taking a subjects that are not taught as part of our study program by following electives or minors. This is great because I would like to take elective course in Project Management, having worked in a small and new startup company in Jakarta allows me to have a deep knowledge in how a Software projects are done from start until finish, a course in Project Management will help me to re-evaluate my knowledge I gained from work experience and to find out more about other industry related Project Management.
Information Security, particularly Cryptography, offers broad range of topics that still open for research. Personally, I would choose a topic in Quantum Information Theory. From what I read, Quantum Information Theory differs significantly from classical Information Theory in the term of unit that is used to store the information. In Quantum Information Theory, a qubit, i.e. quantum bit is used as a unit of storing information instead of a bit, this allows the information to be stored as a superposition state and continuous-valued instead of a discrete value of one-state bit. An advancement in Quantum Information Theory and Quantum Computing will also jeopardize most existing used Cryptosystems (for example, an integer factorization problem can be solved in polynomial time using Shor’s algorithm), thus researching a Cryptosystem that can survive beyond Quantum Computer and Quantum Algorithm usage will be interested. Quantum Information Theory also opens a new field in which collaboration with researchers from other discipline, especially Physics as Quantum Mechanic is one of the bleeding edge research topic in that field of expertise.
I also interested in the topic of Identity Based Encryption and its usage using a biometric data. Usually one uses an email address as the ID in Identity Based Encryption to be used as a public key in the scheme, email is used because it is unique enough in the sense of uniqueness in ownership. This approach however pose a problem because it requires a receiver of a message to have a working email address so that they can derive a public key out of it, in the developing country for example, an access to create and use email address is bounded by internet speed, availability, and also people ability. What if we can use biometric data to uniquely identify each person and thus use it instead as a public key? For example we can use fingerprint scans, retina scans, or even DNA sample from a people and use it as a public key. One of the application of this idea is to be used as a way for a government to store its people data in secret, also enabling them and possibly another person to send a secret information to the people, e.g.: medical histories, tax reports, personal announcement, etc.
To sum up, a prospect to study in TU Delft will grant me an excellent research opportunity with best of people in the world, allowing me to improve my knowledge and deepen my ability in solving real world problem. It will also give me one chance in a lifetime to bring back knowledge that I attained there to Indonesia, where research in the field of Cryptography and Information Security is still in its early days. Personally, I’m that people who believe in order to change the future we need to take an active part in it, applying to TU Delft is one of my first active parts in changing the future, to be accepted and studying for Master in there are the next steps.
Malam minggu yang indah, tiba-tiba Saya teringat ada janji (ke diri sendiri) untuk nulis apa aja yang telah dilakukan setidaknya setahun ini untuk melanjutkan studi. Dan saking banyaknya yang belum ditulis, jadi kayaknya mau nulis jadi beberapa bagian blogpost deh :p. Kali ini mau berbagi tentang tes Bahasa Inggris yang biasanya diminta oleh sekolah, TOEFL iBT dan IELTS.
TOEFL iBT dan IELTS, dua jenis tes kemampuan Bahasa Inggris yang nampaknya sudah nggak asing lagi di telinga kita (well, at least di telinga para pencari sekolah dan pemburu beasiswa). Gimana nggak, untuk mendaftar sekolah setidaknya kita perlu untuk mengambil salah satu dari tes tersebut, walaupun masing-masing sekolah mempunyai preferensinya masing-masing untuk menggunakan jenis tes yang mana, dan berapa skor minimum yang dibutuhkan.
Saya termasuk orang yang beruntung karena pernah mengambil kedua jenis tes tersebut. Untuk tes iBT, Saya mengambilnya pada bulan September 2013 dan Alhamdulillah disponsori oleh kampus Saya semasa S1 dahulu, Fakultas Ilmu Komputer UI. Sedangkan untuk tes IELTS, Saya mengambilnya pada bulan Desember 2014 yang Alhamdulillahnya lagi disponsori oleh kantor tempat Saya bekerja, Errai Pasifik, menggunakan allowance untuk pendidikan.
Ini pendapat pribadi, menurut Saya IELTS lebih enjoyable dibandingkan dengan iBT, bukan berarti lebih mudah loh yaa. Baik iBT maupun IELTS mengetes kemampuan kita baik dari segi listening, reading, writing, dan speaking dengan tingkat kesukaran yang relatif sama. Tetapi ada beberapa perbedaan di kedua tes tersebut. Oh iya, untuk IELTS Saya mengambil yang jenis Academic (bukan yang General Training), jadi apa yang Saya tulis ini berdasarkan hal tersebut.
TOEFL iBT lebih mengetes kemampuan kita dari segi bagaimana kita menggabungkan kemampuan listening, reading, writing dan speaking kita. Maksudnya? Jadi dalam iBT, jenis tesnya tidak hanya eksklusif untuk satu jenis tes saja tiap waktu. Misalnya dalam sesi writing, tidak hanya kita diberikan tema dan kita diminta untuk menulis tentang tema tersebut, tetapi bisa saja ada dialog yang harus kita perdengarkan terlebih dahulu dan kita harus menulis sesuatu tentang dialog tersebut (jadi tes tersebut mengetes kemampuan listening pula). Dan sesuai namanya, iBT adalah Internet Based TOEFL, sehingga pada saat tes kita mengerjakan langsung di depan layar komputer, tinggal klik-klik dan ketak-ketik serta sepik-sepik di depan layar. Satu hal yang Saya kurang menikmati dari iBT adalah pada saat sesi speaking, kita berbicara langsung didepan komputer, tanpa ada interaksi dengan manusia. Jadi bayangin aja kita bicara ke mesin penjawab telepon gitu deh, kan sedih ga bisa natap mata manusia 😦 *apasih*. Dan karena kita berada di satu ruangan bersama-sama beberapa peserta lain, jadi pada sesi speaking agak berisik dan kurang konsentrasi.
IELTS cenderung lebih konservatif dan kuno dalam pelaksanaan tes. Yes, seriously kuno, kita masih menggunakan kertas dan pensil dalam melakukan tes, beda dengan iBT yang jauh lebih high-tech pake komputer dan pake akses internet. Dan juga IELTS lebih konservatif karena mengetes kemampuan kita secara terpisah. Dalam sesi-sesi tesnya, kemampuan listening, reading, writing dan speaking kita dites secara terpisah dalam masing-masing sesi, jadi pada sesi listening ya kita bisa berharap kalo yang dites hanya kemampuan listening saja. Yang paling lelah (lelah sampe butuh pijet, bukan pijet plus-plus tapinya xD) adalah sesi writing, bayangin aja harus bacot nulis sesuatu di dua lembar kertas A4, pake pensil, dalam waktu kira-kira dua jam, pegel bro!. Tetapi sesi speaking IELTS jauh lebih menyenangkan karena kita langsung berbicara dengan manusia, dan bule. Jadi kita bisa menatap wajah dan mata sang bule tersebut :” (walaupun Saya dapet interviewer cowok, kalau cewek mungkin udah salah fokus #apasih). Si interviewer sesi speaking ini cenderung ramah dan mereka memberikan feedback tentang performa speaking kita, jadi kita tidak akan merasa seperti berbicara dengan robot seperti pada iBT.
Tetapi intinya sih bro dan sist, apapun tes yang kita ambil, baik itu iBT maupun IELTS, kita kudu belajar sebelum ambil tes tersebut. Walaupun kita tidak ikut preparation class, kita tetap bisa belajar secara mandiri, asalkan rutin dan terencana dengan baik. Menurut pengalaman pribadi Saya dan teman-teman, sesi paling susah (untuk dapat nilai yang memuaskan) adalah sesi writing dan speaking. Kita butuh teman yang membantu kita memberi feedback performa kita untuk kedua sesi tersebut, beda dengan sesi lain yang feedbacknya bisa kita dapat dari kunci jawaban buku persiapan tes.
Jika Kelas Inspirasi Depok 2 merupakan salah satu highlight kegiatan inspiratif di tahun 2014, maka di tahun ini mengikuti Persiapan Keberangkatan angkatan 31 (PK-31) Beasiswa LPDP merupakan kegiatan pertama di 2015 yang membuat Aku yakin bahwa negeri ini mempunyai orang-orang hebat di dalamnya.
Kegiatan yang berlangsung selama satu minggu dari tanggal 22 hingga 27 Maret lalu ini mempertemukan putra-putri terbaik Indonesia, dari ujung barat hingga ujung timur, dari berbagai bidang ilmu. Kami bertemu untuk saling menggali inspirasi sebelum akhirnya berpencar ke seluruh belahan dunia, menambah ilmu pengetahuan dengan satu tujuan utama: membangun masa depan Indonesia. Kegiatan ini diisi dengan beberapa narasumber, beberapa kegiatan yang fun dari para awardee sendiri, kegiatan sosial, serta outbound dan team building. Kurang tidur serta kelelahan merupakan harga yang tidak seberapa jika dibandingkan dengan apa yang Kami dapatkan.
Semoga Tuhan menjadikan satu minggu pertemuan ini cikal bakal kemajuan Indonesia untuk selamanya.
Hello 2015! this is my very first post in this year, yeah i know i’ve been slow updating this blog in previous years. Hopefully not anymore! So, one of many memorable events in 2014 (not that i have a lot of events anyway) is becoming a volunteer in Kelas Inspirasi.
What is this Kelas Inspirasi? Kelas Inspirasi is a volunteer activity from Yayasan Indonesia Mengajar where professionals teach in an elementary school for a day, sharing about their profession and motivate the children in achieving their dreams. (I took and translared this definition literally from their official site kelasinspirasi.org)
But wait, an elementary school? so you are teaching elementary school kid? Yes! Yeah i know handling even one kid in elementary school is hard, and we are talking about a class full of kids! that’ll multiply the problem even more. But hey, it turned out was not that bad! 😀 Continue reading “Kelas Inspirasi”→