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. 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. How to develop: 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: 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: 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: 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. 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: 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 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: 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 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: 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.Kerjasama tim (Teamwork)
Keyword: Kerja Sama Tim, Agile, Scrum, HW-SW codesignKecerdasan Bisnis (Business Intelligence)
Keamanan Informasi (information security)
UI/UX Design
Pengembang Perangkat (Mobile Development)
How to develop:Interaksi Perangkat keras (Hardware Interfacing)
IP Networking
Automasi (Automation)
Merancang untuk Data (Design for Data)
How to develop:Machine Learning and AI