4 Skill Untuk Menjadi Developer Handal

Google+ Pinterest LinkedIn Tumblr +

Ada banyak sekali lowongan pekerjaan, tapi persaingan dalam mencari pekerjaan juga semakin ketat. Semua itu disebabkan oleh pekerja di zaman ini, bukan hanya bersaing dengan sesama manusia, tapi juga harus bersaing dengan teknologi.

Eits, jangan sedih, jangan minder! Karena kamu harus meningkatkan kualitas diri agar tidak kalah saing. Tengok saja wawancara eksklusif TechForID bersama Norman Santoso, Co-founder dan Chief Technology Officer bizzy Indonesia. Pak Norman membeberkan skill-skill utama yang dicari perusahaan-perusahaan masa kini, khususnya yang terjun di dunia teknologi.

Skill apa yang paling dicari di tim sekarang? Skill yang lagi dibutuhin banget

Kalau berbicara soal developers dan software engineering, skill set yang dibutuhin bener-bener adalah skill set coding. Jadi, dia bener-bener bisa coding, in a particular language, terus he is very efficient and proficient in algorithms, familiar with a lot of libraries, a lot of tools, a lot of technologies. Ini skill set nya. Contohnya di my team, I’m looking for someone yang skill nya ada di Node JS, familiar with serverless LAMDA dari AWS, familiar with MySQL, familiar with MongoDB, famiiar with micro services architecture and all these things. But all these skills, itu kayak teknologi, datang dan pergi. Sekarang mungkin nge-tren, tapi 1 atau 2 tahun mendatang akan ada hal baru yang lebih efisien dan better dari yang kita punya sekarang. Jadi what you know today, mungkin 3 tahun mendatang akan irrelevant dan useless, you have to learn something new lagi.

So, the very fundamental capabilities that I’m looking for adalah 2 hal, yang pertama the raw smart ini menyangkut ke how smart you are. Yang kedua menyangkut cognitive skills, how fast can you learn new things. Itu lebih penting daripada what you already know today. Raw smart itu saya definisikan kayak Bu Inge, pembina Olimpiade Komputer Indonesia, dia menyebutnya sebagai computational thinking, jadi your capabilities of doing abstraction, pattern recognition, decomposition jadi memecah-mecah problem, dan problem solving algorithmically, nah itu yang paling penting. This is the foundation, this is the core, jadi if you’re strong in that, you can learn everything fast, termasuk programming language atau coding.

Apa saja cognitive skills itu? Bisa dijelaskan lebih detail satu per satu?

Pertama abstraction itu artinya kita bisa bikin mental model dari suatu problem untuk take what is important, terus really work on that model, jadi kita bisa bikin analogi satu ke yang lain, jadi kita bisa liat satu persamaan dengan hal yang lain jadi menghasilkan sesuatu yang totally beda. Contohnya, kita ketemu problem, kita liat problem atau domain lain yang udah ada solusinya, kita liat analoginya, oh di sini works solusinya, berarti kita bisa apply juga di problem baru ini.

Pattern recognition itu kemampuan kita untuk melihat, oh problem ini ada pattern seperti ini, terus kita bisa cluster the pattern yang sejenis. Jadi kita bisa find one thing yang bisa separate  a group of problems.

Decomposition itu kita harus bisa memecah-mecah problem jadi smaller problem yang bisa di solve individually dan independently.

Algorithmic thinking adalah very sistematic things on doing things or solving the problems. Jadi kita bisa mengerjakannya bener-bener step by step.

Kalau orang punya 4 kemampuan itu, berarti dia bisa learning fast?

Iya. Once you can learn fast, mau belajar JS, mau belajar Java, Go language, swift, and whatever tidak akan ada masalah. Pada saat dia belajar Swift, tapi dia sebelumnya udah pernah belajar programming language misalnya sea sharp. Pada saat belajar swift ini, dia bisa take analogies di programming language ini if statement kayak gini, switch statement kayak gini, tapi di language yang baru dipelajari ini it’s a bit different ya. Tapi you can see similarities and make analogies, and you can use this analogy when you learn this language.

Atau misalnya ada sesuatu yang totally different. Kita belajar satu programming language baru, misalnya functional programming. Oh, ternyata ini beda banget dari objective oriented. Jadi kita bisa recognize oh ada sekelompok problems yang disebut functional programming, ada sekelompok problems yang disebut objective oriented programming. And this fundamentally different. And this will be useful for certain problems. Jadi kalau saya menghadapi problem ini, instead of using this approach, I better use this approach. That is the capabilities of very important.

Share.

About Author

Techfor Id

Tanya Sesuatu Pada Narasumber & Komentar