Dengan semakin banyaknya konsumen yang menanti-nanti the next big things, perusahaan pun berlomba-lomba memenuhi tuntutan itu. Tentu, perusahaan pun semakin ingin memiliki talent-talent yang tepat dari pengembang perangkat lunak dengan keahlian yang diperlukan.

Generasi pengembang perangkat lunak berikutnya harus lebih dari sekadar coders – mereka harus menjadi pemecah masalah intuitif yang dapat melihat gambaran besar, yang mengakui bahwa lanskap terus berubah, dan yang menyadari itu adalah tanggung jawab mereka.

Berikut merupakan ringkasan keterampilan yang dibutuhkan bagi developer. Yuk, baca artikel lengkapnya agar kamu juga tahu bagaimana cara melakukannya.

  1. Kerjasama tim (Teamwork)

    Dalam membangun sistem IoT kerjasama tim dibutuhkan. Tim dasar IOT mencakup masing-masing seorang electrical engineer, mechanical engineer, industrial engineer, embedded systems designer, back-end developer, front-end developer, dan product manager. Semakin banyak pengetahuan yang dimiliki masing-masing anggota tim terkait peranan setiap anggota tim lainnya, tujuan sistem, dan pengguna akhir sistem, semakin baik fungsi keseluruhan sistem.
    Keyword: Kerja Sama Tim, Agile, Scrum, HW-SW codesign

    How to develop:

    • Pergi dan cobalah berbicara dengan seseorang anggota tim dari divisi berbeda, misalnya, dari divisi perangkat keras untuk belajar tentang korelasi konsumsi daya CPU dan frekuensi operasi jamnya.
    • Pergi dan cobalah berbicara dengan seseorang dari tim pengembangan aplikasi cloud untuk belajar tentang manfaat dari database di memori.
  2. Kecerdasan Bisnis (Business Intelligence)

    Wait, mengapa seorang pengembang harus paham akan Business Intelligence? Kedengaran tidak masuk akal kan? Tapi ayo coba mundur selangkah, lihat lebih dalam terkait cakupan masalah IoT. IoT terkait pengumpulan, penyimpanan, dan analisis aliran data dari perangkat pintar. Jika kamu tidak memahami nilai data, bagaimana kamu akan bisa memahaminya? Perangkat keterampilan yang diperlukan termasuk analisis data sensor, manajemen pusat data, analitik prediktif, dan pemrograman dalam Hadoop dan NoSQL.

    Keywords: Streaming Analytics, Analisis Prediktif, Hadoop, PowerBI, Tableau, Pembelajaran mesin, Elastic Stack

    How to develop:

    • Ikuti kursus dasar seperti Introduction to Data Science.
    • Pelajari tentang bagaimana analitik prediktif dapat membantu pabrik meningkatkan output mereka sekaligus mengurangi biaya.
    • Pergi dan cobala berbicara dengan Industri skala kecil di sekitar untuk mencari tahu parameter apa yang harus diukur untuk meningkatkan output.
  3. Keamanan Informasi (information security)

    Internet of Things sudah mengalami beberapa serangan seperti DDOS, botnet. Keamanan tidak boleh dijadikan opsi dalam mengembangkan perangkat IoT, kemanan merupakan hal wajib. Keinginan untuk menjaga keamanan informasi berarti bahwa pengembang yang terbiasa dengan vulnerability assessment, public key infrastructure (PKI) security, ethical hacking, and wireless network security will be key players.

    Keywords: Kriptografi, Otentikasi, Non-penolakan, Enkripsi, Ciphers, Infrastruktur Kunci Publik, Kriptografi Kurva Elliptical, AES, RSA, SSL, TLS, DTLS dan VPN dll.

    How to develop:

    • Ikuti kursus Cybersecurity Specialization atau Cybersecurity Essentials.
    • Pelajari cara melakukan serangan brute force dan cara meningkatkan kekuatan kata sandi dan Captcha untuk bertahan.
    • Cari tahu protokol yang digunakan untuk mendaftarkan sertifikat digital ke perangkat IoT jarak jauh
  4. UI/UX Design

    Merupakan pengetahuan umum, jika konsumen tidak akan membeli produk yang tidak bisa mereka gunakan. Antarmuka antara alat dan yang konsumen gunakan haruslah efektif dan mudah ramah pengguna. Responsive Web Design (dengan visual yang dinamis merespon ukuran layer, platform dan orientasi) and Service Design (memastikan bahwa ujung produk adalah user) merupakan skill yang sangat diutuhkan pada aspek ini.

    Keywords: Mobile UI, UX vs UI, Material design, Angular2, Front End, Javascript, CSS, Bootstrap, Basic colors.

    How to develop:

    • Ikuti kursus terkait Product Design atau pun UI/UX
    • Pahami dan pelajari perbedaan UI dan UX dan cobalah menjelaskannya pada orang tuamu, (ya, orang tua karena kemudaian kamu akan belajar menjelaskannya secara sederhana)
    • Pelajari tools design basic seperti Photoshop
  5. Pengembang Perangkat (Mobile Development)

    Mengontrol 90% pasar, Android dan Apple iOS membutuhkan pengembang. Utamanya terkait perangkat IoT yang nantinya akan dikelola melalui smartphone. Kemampuan khusus yang akan lebih dicari ialah untuk mengembangkan aplikasi yang daoat berkomunikasi dengan perangkat keras dan sensor eksternal.

    Keywords: Android, IoS, Cordova, Meteor, BLE, Java.

    How to develop:

    1. Ikuti kursus terkait Android App Development.
    2. Pelajari kerangka kerja modern dari pengembangan aplikasi.
  6. Interaksi Perangkat keras (Hardware Interfacing)

    Pemrograman perangkat keras penting jika kamu ingin menjadi embedded engineer. Mempelajari bagaimana interface program seperti GPIO, I2C berjalan penting untuk mendukung kesuksesanmu. Mengetahui setidaknya satu sistem operasi seperti Linux dan satu sistem tertanam (embedded system) seperti Contiki akan sangat menyenangkan jika memilikinya.

    Keywords: Raspberry Pi, Arduino, GPIO, USB, I2C, LEDs, FPGA, ASICs, SoC, Bluetooth, LoRaWAN, Mircocontrollers, ARM Cortex.

    How to develop:

    1. Ikuti kursus dari spesialisasi ini misalnya Create Your Own Internet of Things (IoT) Device.
    2. Pelajari perintah Basic Linux shell dan bagaimana cara membaca GPIO via sysfs.
    3. Coba ekplor IoTIFY virtual lab dan bangun aplikasi IoT pertamamu.
  7. IP Networking

    Dalam IoT, sensor-sensor yang tertanam berinterksi dengan lingkungan di sekitarnya. Informasi yang dikumpulkan dikirim untuk dianalisa. Jaringan dimana informasi mengalis harus didesain agar lancar meski pada lalu lintas yag besar, harus aman, serta dapat diandalkan. Pengembang harus mengetahui dasar-dasar OSI, bagaimana protokol konektivitas bekerja dan apa standar terbaru dalam komunikasi IoT.

    Keywords: Routing, Switching, VPN, MQTT, CoAP, AMQP, HTTP, SSL, DTLS, HTTPS, Nginx, Mosquitto, Load Balancing

    How to develop

    1. Ikuti kursus terkait Computer Networking, yang online misalnya dari Stanford University, berjudul Introduction to Computer Networking.
    2. Cobalah tulis artikel terkait apa yang terjadi pada jaringan komunikasi saat kamu membuka https://itlearningcenter.id di browsermu, ataau apapun yang lain.
    3. Coba simulasikan perangkat pintar yang kamu miliki, misalnya kendaraan, dengan panduan yang dapat kamu lakukan di Network Simulator.
  8. Automasi (Automation)

    Sebuah survei di McKinsey menemukan bahwa 40% dari nilai IOT berada dalam operabilitasnya. Diberikan dengan sejumlah besar data dan antarmuka, pengembang yang tahu bagaimana menghubungkan pengujian API otomatis dengan pengujian manual akan menjadi orang-orang yang benar-benar membawa produk mereka ke pasar.

    Keywords: Test Automation, Unit Test, CPPUnit, JUnit, SOAPUI, Mocha, Regression, JMeter

    How to develop:

    • Ikuti kursus terkait Agile!
    • Pelajari cara mengotomasi web testing dengan Selenium
  9. Merancang untuk Data (Design for Data)

    Big data memacu IoT, dan pekerjaan dari oftware engineers, network engineers, and UX engineers adalah memastikan bahwa data bekerja dengan mulus bagi pengguna. Kota-kota mulai membuka big data mereka dengan tujuan agar pengembang memecahkan masalah infrastruktur dan memberikan solusi-solusi inofatif. Kemampuan membaca dan menafsirkan data dengan cara yang berarti akan paling dicari.

    Keywords: Big Data, MongoDB, Apache Cassandra, Spark, Elastic Stack

    How to develop:

    • Ikuti kurus data science.
    • Ikuti kompetisi atau eksplor beragam datasets tersedia di Kaggle
  10. Machine Learning and AI

    Mengumpulkan dan menganalisis sejumlah besar data hanya akan masuk akal jika kita mampu menguraikan pola dan akhirnya memprediksi hasilnya. Ketika IoT menjadi lebih kompleks dan ada di mana-mana, AI akan dipanggil untuk menangani lebih banyak tugas dan membuat keputusan otonom.

    Keywords: Machine Learning, Deep Learning, AI, Neural Networks, TensorFlow

    How to develop:

    • Ikuti kursus Machine Learning.
    • Baca buku-buku online gratis terkait neural networks dan deep learning.

 

TREN PENGEMBANGAN APLIKASI IOT (ADT)

Pengembang harus dapat membawa objek dunia nyata bersama-sama dengan kode dunia nyata melalui eksperimen dan pengujian langsung. Pada akhirnya, IoT adalah tentang konsumen. Ini membutuhkan desain dengan tujuan, estetika dan fungsi dalam pikiran. Objek yang sulit digunakan hanya berakhir di tempat sampah.

Pengembang harus tetap mengikuti perubahan dalam bahasa pemrograman dan platform perangkat keras yang berkembang. Mereka harus menyadari alat dan metodologi yang keluar dari komunitas open source. Mereka harus menjembatani kesenjangan antara dunia digital dan fisik dengan menulis kode, kemudian secara fisik menggunakan perangkat itu sendiri.

Kamu dapat mengontak Hera untuk menanyakan lebih lanjut terkait penjelasan ini. Beragam training telah kami sedikan agar kamu bisa jadi pengembang IoT yang andal. Tunggu apa lagi untuk meningktkan kompetensi mu?

Leave a Reply

Your email address will not be published.

Fill out this field
Fill out this field
Please enter a valid email address.
You need to agree with the terms to proceed

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Menu