Peluang - Peluang Menjadi Java Developer

Ridwan Fajar 3 Januari 2017

Peluang - Peluang Menjadi Java Developer

Java sebagai bahasa pemrograman yang cukup banyak diminati oleh insan pemrograman di Indonesia dikenal sebagai bahasa pemrograman yang berorientasi objek atau object oriented programming. Dengan motto write once anywhere, bahasa pemrograman ini diminati karena dapat digunakan untuk membuat berbagai aplikasi mulai dari mobile, desktop, hingga web. Bahasa pemrograman yang diciptakan oleh James Gosling saat masih berada di Sun Microsystem ini, masih eksis hingga sekarang setelah dua dekade dari tahun 1990-an.

Bahkan salah satu landasannya yaitu Java Virtual Machine, menjadi wadah bagi bahasa pemrograman lain seperti Scala, Groovy, Clojure, dan lainnya. Kemudian kenapa kita harus belajar Java? mungkin pertanyaan ini sering ditanyakan oleh teman - teman yang dulu pernah masuk pertama kali kuliah di jurusan informatika, teknik atau sains.

Salah satu bahasa favorit untuk tugas akhir

Tugas akhir, bagi mahasiswa jurusan informatika, teknik, atau sains yang mengusung topik komputasi biasanya harus menggunakan salah satu bahasa pemrograman sebagai alat dalam merealisasikan tugas akhirnya. Ada yang membuat aplikasi mobile untuk Android, ada yang membuat aplikasi web, ada yang membuat aplikasi dekstop, ada juga yang membuat aplikasi robotika dengan menggunakan Java.

Di beberapa jurusan informatika sendiri sudah lumrah bila Java menjadi salah satu bahasa pemrograman yang wajib digunakan untuk memenuhi tugas akhir mulai dari tema data mining, kecerdasan buatan, pemodelan, grafika komputer, dan lainnya. Karena tutorial yang dapat ditemukan cukup banyak, Java menjadi salah satu solusi untuk digunakan sebagai alat untuk tugas akhir. Selain itu pertimbangan lainnya adalah diharapkan bila lulus dari jurusan informatika tersebut, mahasiswa dapat menggunakan kemampuan pemrograman Java yang dimilikinya untuk berkarir.

Baca juga: Belajar Bahasa Pemrograman Java Secara Interaktif dalam Bahasa Indonesia

Masih populer di peringkat 10 besar

Walaupun bukan tolak ukur resmi, kamu dapat melihat popularitas Java di tiga tempat. Ketiga tempat yang bisa menjadi patokan popularitasnya sebuah bahasa pemrograman antara lain Github, Stackoverflow, dan TIOBE Index. Untuk tahun 2016, di TIOBE Index Java menempati posisi pertama.

[caption id="attachment_14257" align="aligncenter" width="700"]TIOBE Indeks 2016 TIOBE Indeks 2016[/caption]

Sedangkan untuk jumlah repositori aktif berbahasa Java di Github, Java menempati posisi kedua dibawah Javascript yang memang kian hari Javascript semakin banyak digandrungi.

[caption id="attachment_14258" align="aligncenter" width="700"]Githut Githut[/caption]

Sedangkan di Stackoverflow, pertanyaan seputar backend yang paling sering ditanyakan tentang Java berada pada posisi ke - 3 setelah SQL dan Javascript.

[caption id="attachment_14259" align="aligncenter" width="700"]Stackoverflow Survey 2016 Stackoverflow Survey 2016[/caption]

Mobile, Desktop, dan Web semua ada

Bila kamu menguasai saja Java SE, bukan hal yang tidak mungkin bila suatu saat kamu harus terjun ke Java EE atau Android bukan hal yang sulit dan tidak membutuhkan usaha yang banyak. Karena kamu sudah punya modal yang sama yaitu Java. Bila kamu harus berawal dari bahasa pemrograman lain, tentu akan menjadi keuntungan tersendiri jika suatu saat ada proyek atau lowongan kerja yang mengharuskan menggunakan salah satu teknologi Java.

Di ranah mobile development kita semua tentu tahu dengan dominasi Android di perangkat smartphone yang cukup menjadi magnet bagi orang yang ingin menjadi mobile application developer dan tentunya bermodalkan Java. Walaupun menggunakan Dalvik Virtual Machine, toh tetap saja bahasa pemrograman yang digunakannya adalah Java. Belum lagi library - library pendukung yang bermunculan membuat seseorang menjadi developer aplikasi Android bukan lagi hal yang sulit karena sumber daya belajar gratis sangat bertebaran.

Untuk pengembangan aplikasi desktop, kamu dapat menggunakan Java Swing yang menjadi default bagi programmer Java untuk membangun aplikasi desktop. Atau menggunakan library lain seperti Qt. Kebutuhan akan pembangunan aplikasi desktop sendiri cukup banyak peminat. Tentunya bila kamu bekerja untuk suatu perusahaan software biasanya memerlukan tenaga untuk membangun aplikasi native dengan menggunakan Java Swing untuk membangun aplikasi point of sale, atau membangun simulasi perang untuk militer.

Sedangkan di dunia web development, sudah banyak yang menggunakan Java sebagai backend untuk penyokong bisnis suatu perusahaan. Java EE, Spring, Apache Tomcat, Netty, dan lainnya mungkin bukan barang yang aneh bagi seorang web developer yang menggunakan Java. Bahkan kamu dapat membangun RESTful API ataupun aplikasi web dengan menggunakan Spring saja, misalnya.

Dukungan terhadap bahasa pemrograman lain

Belum semua orang mengetahui bahwa JVM menjadi salah satu landasan bagi bahasa pemrograman lain. Beberapa bahasa pemrograman yang dibangun diatas JVM selain Java antara lain:
  • Scala
  • Clojure
  • Groovy
  • Fantom
  • Ceylon
  • Fortress
  • Golo
  • Joy
  • Kotlin
  • dan lainnya
Sedangkan bahasa pemrograman yang sudah ada namun diimplementasikan diatas JVM antara lain:
  • JGNAT (ADA)
  • CFML (Coldfusion)
  • CLforJava (Common Lisp)
  • Rhino (Javascript)
  • Rakudo (Perl)
  • Quercus (PHP)
  • JlProlog (Prolog)
  • Jython (Jython)
  • Renjin (R)
  • NetRexx (REXX)
  • JRuby (Ruby)
Bisa jadi kamu suatu hari akan ikut mengembangkan salah satu bahasa pemrograman diatas setelah menguasai bahasa pemrograman Java.

Dukungan untuk teknologi big data

Kamu ingin terjun di dunia big data? jangan harap kamu akan menemukan hal yang mudah disini. Umumnya teknologi berbasis Java masih mendominasi ranah big data dari segala lini. Banyak produk - produk untuk membangun infrastruktur big data yang ditulis menggunakan bahasa Java, diantaranya:
  • Apache Hadoop
  • Apache Hive
  • Apache Pig
  • Apache Spark
  • Apache SparkSQL
  • Apache Spark MLlib
  • Elasticsearch
  • Apache Cassandra
  • dan masih banyak lainnya
Hadoop dan derivat produknya masih banyak digunakan untuk membangun infrastruktur big data, teknologi diatasnya pun dapat mempermudah kita untuk membangun gudang data yang sangat masif dan terstruktur. Sebagai contoh, kamu dapat menyimpan berton - ton file CSV yang nantinya dapat di-query menggunakan Apache Hive. Kemudian kamu juga dapat menggunakan Apache Spark MLlib untuk membangun infrastruktur machine learning. Dan Java masih menjadi salah satu alat yang bisa kamu andalkan untuk lingkungan ini.

Lowongan Kerja Potensial

Berkarir menggunakan bahasa pemrograman Java? tentu bisa jadi berkah tersendiri bila kamu menguasai bahasa pemrograman Java. Kita tidak perlu melihat keluar negeri terlebih dahulu. Di beberapa kota besar Indonesia, lowongan kerja untuk programmer Java cukup banyak bertebaran dari tingkat junior, senior, hingga principal. Memang dominasi pekerjaan yang menggunakan bahasa pemrograman Java, masih dikuasai Android tentunya sebagai mobile apps developer. Namun tidak sedikit lowongan kerja yang dapat kamu temukan dispesifikasikan untuk membangun aplikasi web dengan menggunakan bahasa pemrograman Java.

Misal, bila kamu sedikit rajin mencari lowongan kerja yang memerlukan tenaga programmer Java, kamu akan mendapati lowongan seperti berikut:

Requirements:
·  Bachelor degree majoring Computer Science/Informatics Engineering or other related field
·  Have 1-2 years experience as Software Developer in Java Programming, especially JEE
·  Has strong interest and passion in Information Technology especially software programming
·  Good understanding of Object Oriented Programming is a must
·  Has knowledge and experience in JAVA Framework (Spring, Hibernate, MyBatis, ZK) and Database (Oracle/Postgre/SQL Server/MySQL).
·  Knowledge in AngularJS, Grails, Web Design, Linux, and HTML 5 is advantage 
·  Knowledge in JSP, Mobile,  XML, HTML, is additional points
You are an experienced senior developer and have been working with Java for 5 years or more.
You also have a sound knowledge of the following:

    Excellent English communication skills
    Java technologies, such as Spring, Hibernate, jQuery, JavaScript and SQL
    Relevant Degree (Associate Degree and/or Bachelor Degree)

Requirements

- Minimum degree in informatics engineering, computer science, information system, or related field.
- Good teamwork
- Can work under pressure.
- Good knowledge of HTTP concepts (session, cookie, content delivery, HTTP methods, etc.).
- Have experience in using Java (SE/EE) and any related frameworks (JSF, CDI, JPA, Google Guice, etc.).
- Have experience in using web client technology such as, HTML, CSS, Javascript and any related frameworks (JQuery, KnockoutJS, BackboneJS, AngularJS, etc).
- Have experience in using SQL and DBMS (PostgreSQL, MySQL, or Oracle).

Bila kamu menyempatkan diri untuk membuat kurasi lowongan pekerjaan yang berbasis Java, kamu akan menempukan bahwa beberapa teknologi Java yang biasa diperlukan antara lain Spring dan Hibernate, Java EE, dan lainnya. Walaupun contoh lowongan diatas ditulis dalam bahasa Inggris sebenarnya lowongan tersebut berasal dari beberapa perusahaan IT di Indonesia. Silahkan cari lowongan diatas di portal pencari loker :D.

Baca juga: 7 Layanan yang Bikin Programmer Lebih Produktif

Berkarir sebagai Android Developer

Walaupun tidak mewakili semua developer Android yang ada di Indonesia. Seseorang yang terjun ke Android mempunyai alasan karena sangat mudah untuk memulai menjadi seorang developer Android. Hal ini dikarenakan seseorang tidak perlu membayar lisensi untuk mendapatkan alat pengembang aplikasi untuk Android. Pembayaran hanya akan terjadi ketika ingin menerbitkan aplikasi di Google Play. Sehingga dengan modal laptop yang cukup besar sumber dayanya, dan juga Android Studio serta kemauan tinggi untuk mengikuti tutorial. Kamu dapat memulai karir menjadi developer Android.

Tidak hanya membuat aplikasi Android, kamu pun dapat berkarir sebagai pembangun SDK untuk aplikasi lain yang ingin bergabung dengan sistem yang kita bangun. Ataupun melakukan testing hingga ke level kode. Berikut adalah contoh lowongan pekerjaan yang membutuhkan keahlian Android:

Keahlian :

– Memahami OOP, REST API, SQL Lite
– Memahami Versioning Control ( GIT,BitBucket, dan lain-lain)
– Menguasai Java Programming
Kualifikasi :

– Familiar menggunakan Android Studio
– Sudah pernah membuat aplikasi Client Server
– Memiliki Logika Pemrograman yang kuat & Bagus
– Mampu bekerja dalam team

Job Description: 

Building Android native apps

Job Requirement:

• Min. 5 years of Experiences in Java, Android SDK
• Experience in building solid native android apps that consume HTTP API
• Understanding of web services architecture, REST interfaces and JSON parsing
• Believe in great UX as the key for apps success
• Solid foundation in computer science, with strong competencies in data structures, algorithms and software design
• Ability to communicate and collaborate
Requirement:

    Has academic background in software engineer or technical field
    Has experience in Java and Android App Development  
    Has fluency in Git and experience in Git fork workflow  
    Has interest in exploring new technologies in Android  
    Has affection to clean code  
    Be willing to help your teammates, share your knowledge with them, and learn from them 
    Please include your Github or LinkedIn profile if available  
    Fresh graduate are welcome to apply

Responsibilities:

    Design, build and maintain high performance, reusable and reliable Java code 
    Translate designs and wireframes into high quality code  
    Identify and correct bottlenecks and fix bugs  
    Writing functional and unit tests for all of your code  
    Working with product designers to manage requirements 
    Publishing your work to the Google Play Store
Requirements

    Bachelor's degree in Information Technology or related fields.
    Proficient and experienced in SDK Android.
    Have high competence in data structure, algorithm, and software design.
    Familiar with HTML, CSS, JavaScript, SOAP, REST, JSON, Java, Objective-C, or C++
    Experienced in integrating API server and social network API.
    Having portfolio / uploaded apps in play store

Sertifikasi

Salah satu kebutuhan seorang tenaga ahli adalah mencari sertifikasi untuk keahliannya. Di Indonesia sendiri sertifikasi untuk programmer Java cukup banyak penyedianya. Kamu dapat mencari penyedia sertifikasi yang sudah terkenal dan bagus layanannya disertai dengan cocoknya budget yang dimiliki. Beberapa sertifikasi Java yang cukup terkenal antara lain:
  • Google Developer Certification (Android)
  • Oracle Certified Associate
  • Oracle Certified Professional
  • Oracle Certified Expert
  • Oracle Certified Master
  • RedHat Certified JBoss Developer
  • RedHat Certified JBoss Administrator
  • dan lainnya
Mengapa perlu sertifikasi? bisa jadi suatu hari kamu tidak akan diperkerjakan lagi sebagai pekerja fulltime, tapi sebagai konsultan lepas yang memberikan solusi terpercaya menggunakan bahasa pemrograman Java dan teknologinya.

Langkah selanjutnya

Walaupun penulis bukan berlatar belakang programmer Java, dari pengamatan yang telah dilakukan dari lowongan kerja yang tersedia, Java bisa menjadi alternatif atau justru jalan hidup yang dapat membantu kamu menapaki karir sebagai programmer maupun karir lainnya di dunia IT. Tidak hanya itu, bila kamu lebih fokus, siapa tahu kamu dapat menjadi kontributor untuk salah satu teknologi yang dibangun diatas Java.

Java atau bukan tentu banyak faktor yang menentukan bahasa pemrograman yang harus digunakan. Tapi tidak ada salahnya bila kita mulai membangun niat untuk belajar Java setelah melihat potensi besar yang dapat kita raih bila menguasai Java. Apapun bahasa pemrogramannya yang penting fokus dalam menguasainya. Jangan sampai terlalu banyak menguasai bahasa pemrograman namun tidak ada sesuatu yang kita perdalam.

Oleh karena itu bila ingin menjadi Java Developer, fokuslah untuk belajar Java hingga ke tingkat pro :D.

(rfs/tiobe/oracle)