Software-Engineer-2

Tren Software Development di Tahun 2019

Mengutip dari pendapat Bill Gates, kita cenderung melebih-lebihkan laju perubahan selama periode 2 tahun, tetapi meremehkan perubahan selama satu dekade.

Menurut Gall Richard, jika Anda melihat 10 tahun yang lalu, perubahan pada tipe aplikasi dan situs web yang dibuat, dan juga cara membuatnya, itu mengherankan. Sekarang kita berada di era dimana aplikasi sangat membantu dalam banyak hal termasuk perekonomian. Dan di tahun ini yang tetap menjadi prioritas utama dalam agenda pengembangan yaitu progressive web apps (PWA), artificial intelligence (AI), dan pengembangan aplikasi native.

Apa artinya menjadi web developer pada tahun 2019?

Ketika aplikasi menjadi semakin ringan karena adanya libraries dan frameworks seperti React dan Vue, data menjadi lebih optimal, berbagai layanan yang menjadi dasar aplikasi dan situs web, kini para developer perlu memperluas fokus keahlian.

tren-software-development-2019-1

Image by Packt Hub on Medium

Jika Anda ingin mempelajari tentang microservices dan pengembangan aplikasi native, Anda dapat mebaca buku yang berjudul Modern JavaScript Web Development Cookbook

Penyederhanaan di banyak aspek development, memaksa developer untuk melihat lebih jeli bagaimana hal-hal itu bisa bergabung bersama menjadi satu. Karena ini bukan lagi sekedar menulis kode yang diperlukan untuk membuat sesuatu itu berjalan pada bagian spesifik dari aplikasi yang sedang Anda kerjakan, tapi ini lebih pada memahami bagaimana berbagai bagian dari backend hingga front end bisa saling berhubungan.

Itu artinya, pada tahun 2019, Anda perlu mengenal dan mempelajari lebih dalam tentang sistem perangkat lunak.Buat diri Anda nyaman dengan backend. Mulai dengan mempelajari teknologi layanan cloud dan microservices. Atau Anda ingin mempelajari kembali bahasa pemrograman yang sudah Anda pahami.

Kenali infrastruktur Anda: mengatasi tantangan pengembangan API

Ketika stack mulai berkurang dan tanggung jawab developers bergeser, kini memahami komponen arsitektur dalam perangkat lunak yang dibuat dan dikembangkan menjadi sesuatu yang sangat penting.

Pada dasarnya, DevOps membuat developers bertanggung jawab atas bagaimana kode mereka berjalan ketika mencapai tahap produksi. Karena perubahan penting ini, keterampilan yang diperlukan dan juga tool untuk modern developer juga berkembang.

tren-software-development-2019-2

Image by Packt Hub on Medium

Ada berbagai cara untuk mempelajari arsitektur perangkat lunak, tetapi Anda bisa memulai dengan menjelajahi desain API. Hands on RESTful API Design menawarkan cara secara praktik dalam topik ini.

Meskipun REST adalah standar untuk desain API, adanya tools dan pendekatan yang beragam, GraphQL, bahasa permintaan yang dikembangkan oleh Facebook dikatakan telah membunuh REST. Sementara Redux dan Relay, dua libraries untuk mengelola data dalam aplikasi React, terlihat memiliki banyak peminat selama 12 bulan terakhir sebagai dua tools utama untuk bekerja dengan API.

tren-software-development-2019-3

Image by Packt Hub on Medium

Microservices: bertanggung jawab atas infrastruktur Anda

Terdapat alasan kenapa banyak tools yang menawarkan cara mengelola API adalah karena microservices menjadi mode arsitektur yang dominan. Hal ini perlu menjadi perhatian bagi developer. Ini bukan berarti Anda perlu mengimplementasikan microservices sekarang, mungkin ada banyak alasan untuk tidak mengimplementasikannya. Tetapi jika Anda ingin membangun software dalam waktu 5 tahun, Anda dapat memahami prinsip-prinsip di balik microservices dan tools yang dapat membantu Anda untuk menggunakannya.

Mungkin salah satu teknologi utama yang menggerakkan microservices adalah containers. Anda dapat menjalankan microservices di virtual machine, tetapi karena hal itu lebih sulit untuk di-scale dibandingkan containers, Anda mungkin tidak akan melihat manfaat yang Anda harapkan dari arsitektur microservices.

Ini menandakan bahwa memahami teknologi inti dari containers sangatlah penting.

Anda bisa memulainya dengan belajar tentang Docker. Ada beberapa tingkatan yang perlu Anda pahami. Meskipun Anda tidak berpikir Anda akan segera menggunakannya, hal tersebut dapat memberi Anda pengetahuan dasar yang bagus tentang teknologi containers.

tren-software-development-2019-4

Image by Packt Hub on Medium

Di luar Docker, Kubernetes adalah tool untuk Anda mengukur dan mengatur containers. Hal ini memberi Anda kendali untuk mengukur layanan aplikasi dengan cara yang mungkin tidak dapat Anda bayangkan satu dekade lalu.

Sudah waktunya bagi para developer untuk beralih ke cloud

Jika tren umum sekarang ini adalah ke arah full stack, developer tidak bisa mengabaikan cloud. Karena solusi yang ditawarkan dari layanan cloud sendiri memberikan layanan dan sistem yang terintegrasi yang dapat membuat banyak hal dalam proses pengembangan suatu aplikasi menjadi lebih mudah.

Masalah seputar scale, hardware, setup, dan maintenance hampir tidak ada ketika Anda menggunalan layanan cloud. Bukan berarti platform cloud tidak membawa tantangan tersendiri. Namun yang lebih penting adalah hal itu membuka peluang baru. Serverless menjadi suatu yang memungkinkan, yang memberikan Anda kemudahan untuk men-scale dengan sangat cepat dengan menjalankan aplikasi yang Anda buat dan kembangkan di layanan cloud.

Jika Anda ingin belajar tentang serverless dan hal-hal yang berhubungan dengan teknologi tersebut Anda dapat membaca buku JavaScript Cloud Native Development Cookbook. Terdapat juga video tutorialnya di Packtpub yang berjudul Serverless Computing with Azure untuk memudahkan Anda belajar tentang teknologi itu.

tren-software-development-2019-5

Image by Packt Hub on Medium

Ketika Anda menggunakan sebuah layanan cloud, Anda dapat menggunakan fitur-fitur canggih seperti kecerdasan buatan (AI) ke dalam aplikasi yang sedang Anda kembangkan. Amazon Web Services atau biasanya sering disebut AWS merupakan layanan cloud dari Amazon yang memiliki produk berupa machine learning tools. Produknya yang ditawarkan yaitu AWS Lex, yang mana produk ini dapat membantu Anda membangun sebuah aplikasi dengan fitur conversational interface. AWS Polly dapat membuat aplikasi yang sedang Anda kembangkan dapat memiliki fitur untuk mengubah teks menjadi ucapan. Sementara Azure dari Microsoft memiliki produk Azure Cognitive Services yang memiliki beragam fitur untuk vision, speech, language, dan pencarian.

Layanan cloud ini mempermudah developer dalam mengembangkan aplikasi ketika menambah fitur maupun optimasi. Dengan menggunakan layanan cloud dari AWS dan Azure, Anda dapat melakukan hal-hal lain yang sebelumnya mungkin sulit untuk dilakukan. Dengan memanfaatkan AWS dan Azure, Anda dapat melakukan lebih dari yang Anda sadari sebelumnya.

Kembali ke prinsip masing-masing

Selalu bersiap terhadap hal-hal baru adalah nasihat yang bijak untuk Anda di dunia di mana hal-hal baru maupun yang akan datang tidak dapat diprediksi, baik di kehidupan Anda maupun ketika Anda mengembangkan sistem perangkat lunak.

Dengan segala kompleksitas yang ada ketika mengembangkan sebuah perangkat lunak, terdapat sebuah argumen yang menyatakan bahwa pemahaman yang lebih mendalam tentang bagaimana sesuatu itu dapat bekerja, apa yang bisa didapatkan dari proses itu dapat membuat Anda menjadi seorang developer yang lebih baik.

Anda memiliki dua pilihan dan keduanya dapat Anda pertimbangkan. Yang pertama Anda dapat mengembangkan aplikasi dengan bahasa pemrograman yang sudah Anda pahami atau Anda dapat mempelajari bahasa pemrograman baru dari awal. Pilihan ada di tangan Anda.

Jika Anda memilih untuk mempelajari bahasa permrograman baru dari awal, Anda bisa mempelajarinya dari buku dari Packtpub yang berjudul Kotlin Quick Start Guide, Hands-On Go Programming, Mastering Go dan yang lainnya.

tren-software-development-2019-6

Image by Packt Hub on Medium

Anda juga dapat meng-explore tentang paradigma baru dalam bahasa pemrograman, ada beberapa buku yang dapat Anda pelajari. Diantaranya yaitu buku yang berjudul Mastering Functional Programming, Hands-On Functional Programming in RUST, Hands-On Object-Oriented Programming with Kotlin dan yang lainnya.

tren-software-development-2019-7

Pengembangan software pada tahun 2019 akan terlihat sama dengan yang terjadi pada tahun sebelumnya. Dalam hitungan tahun, akan ada banyak teknologi baru yang bermunculan yang berhubungan dengan software development. Yang hari ini teknologi itu baru sekarang akan menjadi hal yang biasa di tahun-tahun berikutnya. Anda tidak perlu takut akan banyaknya yang menanyakan tentang pekerjaan full stack developer, permintaannya sangat beragam. Kemampuan beradaptasi merupakan skill yang jelas sangat berharga baik untuk proyek dalam software development maupun untuk prospek karier Anda di masa depan. Karena tuntutannya sangat beragam, sehingga kemampuan beradaptasi jelas sangat berharga untuk proyek Anda dan prospek karier masa depan.

Dengan semakin berkembangnya teknologi software development di tahun 2019, fokuskan diri untuk mengembangkan diri dan mengasah keahlian Anda.

Reference

Gall, Richard. 2018. Key trends in software development in 2019: cloud native and the shrinking stack. [Online] Available at :https://medium.com/packt-hub/key-trends-in-software-development-in-2019-cloud-native-and-the-shrinking-stack-9223b7dfdac [Accessed January 11, 2019]

Leave a comment

Your email address will not be published. Required fields are marked *

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