Saya mendapat kesempatan untuk berbincang-bincang dengan salah satu engineer di startup ecommerce ternama di tanah air, Tokopedia! Perbincangan kami layak untuk disimak buat kamu yang penasaran dengan apa sih yang dilakukan seorang engineer di Tokopedia termasuk pengalaman pribadi terkati teknologi.

Bisa diperkenalkan Mas ini siapa?
Nama, pengalaman, posisi saat ini, background dll

Saya Ihsan Satriawan, biasa dipanggil Ihsan. Anak Jakarta yang lama di Bandung tapi tetep tidak lancar bahasa sunda haha. Kuliah di Bandung kurang lebih dari 2008 - 2016.

Background pendidikan sebenarnya dari matematika namun peminatan komputasi, jadi suka ulik angka dan program. Selama di Bandung banyak bantu proyek teman dan dosen di kampus.

Karena background awalnya matematika, lanjut kuliah juga tentang analisa data di bisnis intelijen ITB. Namun jalan rezeki yang terbuka banyak dari software engineer. Jadi sekarang kerja di Tokopedia sebagai software engineer mobile web, handle mobile browser dari Tokopedia.

Menarik nih backgroundya bukan IT.
Ceritanya bisa masuk ke IT gimana Mas?

Jadi dulu pas kuliah saya merasa ketipu sih sebenarnya haha. Jadi masuk ke jurusan matematika karena suka mainin angka. Namun ternyata saat masuk kuliah banyakan simbol-simbol ga jelas. Jadilah nyari peminatan yang lebih 'kongkret' yakni komputasi.

Dan saat kuliah juga ikutan asisten lab komputer, dari situ ah petualangan IT saya dimulai hehe.

Bisa lebih detail diceritakan gimana dulu mulainya?

Mulai awal nya banget sih dari kuliah. Pada umumnya mata kuliah pemrograman dasar dan struktur data menggunakan C++ dan pascal. Namun awal mulai real project saat penerimaan asisten lab, di situ diminta bikin semacam web dan sistem informasi untuk keperluan asistensi dengan berbagai macam tipe role user nya dalam waktu 3 bulan. Dimulai dari situ lah masuk ke dunia 'semi profesional' programmer nya ??

Dulu belajarnya gimana tuh

Selain C++ dan pascal, semua nya otodidak sih.
Baca-baca dan coba-coba sendiri. Cuma mindset dari matematika nya kepake banget buat logika-logika yang ada di dalam pemrograman.

Pakai studi kasus gitu gak belajarnya?
Misal sambil bikin sesuatu

Sebelum penerimaan aslab ga pakai studi kasus. Setelahnya memang based on mau bikin apa jadinya.

Seringnya bikin apa? Atau ide mau bikin apa untuk belajar itu datangnya dari mana?

Dulu seringnya bikin semacam sistem informasi. Datangnya dari kebutuhan sekeliling

Real project berarti bukan project main-main?

Banyak yg main-main sih sebenarnya. Real project-nya ada tapi ga banyak. Main-main project buat coba-cobanya sebenarnya.

Paling efektif memang sambil bikin project.
Biasanya sampai selesai bikin project main-mainnya? atau berhenti di tengah jalan haha

Iya krna jelas apa yang mau dicapai Mas.

Project mainnya banyak yang terbengkalai sih Hahha. Tapi biasanya kalau teknologi yang mau dicobanya udah bisa dipasang haha

Flash back nih, dulu bahasa pemgrogaman web yang pertama dipelajari apa?
Let me guess, PHP!

Betooll haha
PHP entry point orang ke Web dev deh haha

Terus saya tebak lagi nih, pertama kenal mvc dari codeigniter?

Mvc iya, baca dari sana tapi hands on-nya banget baru di Rails

Bisa ceritakan pengalman dengan Ruby on Rails-nya?

Jadi first time pakai Rails itu saat ikutan sebagai kepanitiaan suatu forum pemuda di Indonesia, di situ saya sebagai IT yang ngurus sistem informasi pendaftaran. Sebelum saya masuk, mas Levi (CTO Hijup) yang membangun fondasi sistemnya menggunakan Rails. n]Nah saat saya masuk, sistem sudah jadi, hanya perlu dimaintain dan diimprove sesuai requirement.

Karena berasal dari PHP lalu masuk ke Rails (di mana ini bahasanya Ruby) sangat amaze sih haha. Banyak fungsi dan semacam 'shortcut' yang disediakan oleh Ruby atau Rails itu sendiri yang sangat membantu.

Ya kalau dikatakan Ruby sebagai 'Programmer Best Friend', ya itu bener banget sih. Dari bahasanya udah enak, ditambah Rails-nya makin enak. Walau sekarang uda lama ga megang Rails tapi tetep nganggap Rails ini sebagai FW paling enak (kl ngomongin performance itu beda lagi ya).

Shortcut ini contohnya gimana?

Saya paling suka Active Record-nya Rails dan Migration-nya, ya walau di PHP ada Laravel yang terinspirasi dari Rails, ada juga di sana tapi di Rails paling enak. So simple.

Kalau pernah menggunakan Java atau Golang, akses query ke DB itu biasanya define interface di sana sini, kalau di Rails sudah dibuatkan, karena menganut Convention over Configuration, ini sangat membantu banget.

Ngomongin Active Record Rails dan bahasa backend ini jadi kangen ngoding backend hahaha karena 6 bulan terakhir saya kerjanya cuma ngoding frontend, pakai React, NodeJS, GraphQL dan API call tim lain di kantor XD

Bisa diceritakan teknologi apa aja yang pernah dipakai Mas?

selama ini pernah make
- Codeigniter
- Rails
- Python
- ReactJS
- GraphQL
- Docker
- Webpack
- NodeJS

Wiih banyak teknologi yang kids jaman now ya kayak docker, react, graphql dan nodejs. Itu memang karena kantornya pakai itu?
Termasuk beruntung berarti bisa explore itu semua dikerjaan.

Haha kids jaman now
Sekarang sih ga main docker, di kantor lama iya Mas. Banyaknya karena kerjaan di kantor memang

Kalau dikerjaan, programmer itu kerjanya gimana sih?

Inti nya programmer itu problem solver. Coding itu step terakhir dari beresin task. Sebelum coding itu biasanya ada step memahami problem, analisa masalah, coba coret-coret di kertas gimana solving-nya. Raru deh ke coding

Menurut Mas Ihsan, mungkin ga kalau tanpa kuliah kita bisa jadi programmer?

Bisa banget sebenarnya

Kuliah itu semacam nutrisi menurut saya, 'hanya' mempercepat tapi ujung-ujungnya balik ke usaha kita. Kalau nutrisinya bagus tapi usaha kita kurang ya sama aja

Betul betul, apa lagi jaman sekarang ya Mas, online course banyak, tutorial banyak, meetup banyak, udah banyak fasilitasnya ga kayak jaman kita dulu haha

Nah itu!! Duh iri banget sih sama anak kuliah sekarang, tutorial banyak, meet up-meet up bertebaran. Rugi banget kalau ga ikutan.

Kalau posisi Mas Ihsan adalah kids jaman now, teknologi apa yang ingin dipelajari dan dikuasai?

Saya kids jaman now sih haha. Pasti Javascript. Javascript Everywhere haha. Hype banget sekarang. Tapi kalau pribadi ingin menguasai Machine Learning juag sih sebenarnya.

Tools, yang digunain apa aja?

biasa nya:
- VS Code
- iTerm2
- Tmux
- ohmyzsh
- Macbook Pro
- Insomnia (ini buat testing API call dan GraphQL, more better than Postman )

Ada alasan khusus kenapa pakai vscode?

Awalnya stay di sublime. Lama-lama vscode nawarin solusi yg lebih seperti go to definition (ntah di sublime ada atau ga hehe), banyak plugin yang berguna kaya rainbow chain, support sintaks gql, dll

Saran untuk yang sedang belajar programming apa

Jangan mudah menyerah aja. Sekarang banyak banget resource-nya bahkan saya pun saat stuck, buka google, eh ada jawabannya.