Karir Software Developer

Pada era sekarang ini, dimana pekerjaan dalam bidang IT, seperti Software Developer, DevOPS sudah tidak menjadi rebutan. Artinya merekalah pemilik usaha yang mencari Anda untuk mau bekerja dengan mereka. Tapi, tidak semua Orang yang bahkan yang mengambil jurusan IT akan menjadi seorang Programmer atau bahkan beberapa dari mereka tidak menjadi apapun dan berakhir yang penting dapat kerja. Ini yang kebanyakan terjadi kalau berfikir kuliah di IT bakal gampang cari pekerjaan di dunia IT.
Well, hal itu mungkin akan menunjang Anda dari segi background study anda. Kenyataanya banyak sekali teman-teman penulis yang lulusan SMA/SMK menjadi bagian penting pada perusahaan dibagian departemen IT. Kenapa bisa gitu?
Di dunia IT, kita bukan dituntut untuk berdebat tentang apa yang sudah kita pelajari pada masa lampau, tetapi lebih solusi apa yang akan kita berikan kepada perusahaan tempat kita bekerja. Semakin bisa memecahkan masalah-masalah yang spesifik untuk perusahaan, maka disitulah grade anda akan naik, seperti konsep dagang Supply and Demand. Maka tidak heran, banyak teman-teman penulis yang lulusan SMA/SMK bisa menjadi bagian penting, karena di dunia IT itu, Never Ending Learning.
Sepertinya keren ya membaca penjelasana diatas. Masih minat untuk bekerja di dunia IT?, jika jawaban anda "Ya" maka penulis akan melanjutkan pembahasannya. Penulis akan mengangkat jabatan apa saja yang bisa anda raih pada umumnya diawali dengan karir anda menjadi Programmer/Software Engineer. Secara umum jabatan yang bisa anda raih dengan diawali karir menjadi seorang Programmer, penulis urutkan berdasarkan level dan penjelasana

  1. Programmer/Software Engineer
    Lebih seperti translastor yang menejemahkan solusi yang sudah ada kedalam bahasa yang dapat dimengerti oleh mesin. Cuman ga usah takut, sekarang programmer pada umumnya cukup mengerti high level language. Betul sekali, bahasa yang dapat manusia pahami, karena kebanyakan penulisan menggunakan Bahasa Inggris.
  2. Software Developer
    Pada umumnya orang mengira Programmer dan Software Developer adalah sama. Well, anggapan itu juga tidak salah. Dalam kenyataannya adalah yang membedakan adalah level pengetahuan dan experience. Ketika Anda sudah menjadi seorang Software Developer, maka anda juga ditutunt agar bisa memecahkan masalah secara umum dan membuat sebuah rangkaian solusi yang kemudian anda terjemahkan ke bahasa mesin.
  3. Tech Lead
    Menjadi seorang Tech Lead mewajibkan anda tidak hanya memahami hal secara teknis saja, namun anda sudah mulai memikirkan tim yang Anda pimpin. Dari seberapa berat tugas yang akan mereka kerjakan, estimasti waktu yang dibutuhkan untuk menyelesaikan suatu pekerjaan, juga tools yang dipakai. Pada tingkatan ini, anda tidak hanya memahami sebuah tools hanya dari cara pakai saja, melainkan Anda harus memahami dari konsep, tujuan, pros & cons, scaling up/down terhadap project anda, support.
  4. Software Architect
    Menjadi seorang software architect seperti halnya seorang arsitek pada umumnya. Tidak hanya sebatas menggambar sebuah konsep, namun apa yang dibuthkan untuk membangunnya, dari kebutuhan resources (yang mengerjakan, server, management aplikasi, scalling up/down) dan hal-hal spesifik yang lain. Anda juga harus bisa memberikan estimasi waktu penyelesaian terhadap suatu projek.
  5. Engineering Manager
    Pada umumnya ketika Anda sudah mencapai level ini, hal-hal teknis yang anda selesaikan akan berkurang, tetapi juga tidak menutup kemungkinan anda akan terjun untuk menyelesaikan hal-hal teknis, jika para TechLead & Software Architect tidak mampu untuk menyelesaikan masalahnya. Anda juga harus melihat tim anda secara Eagle View, seperti memindahkan satu orang yang sudah kompeten untuk diberikan challege yang lebih besar akan mereka berkembang, juga melibatkan orang-orang senior untuk membantu junior, dan hal-hal lain yang berkaitan dengan management tim.
  6. VP Engineer or SVP Engineer
    The master.
Yup, diatas adalah sedikit jenjang karir yang bisa Anda dapatkan kalau bekerja sebagai seorang Software Developer. Dan katanya gajinya lumayan :)

Thanks, for reading.

What Does it Take to be a Mobile Designer Today?

Sebagai calon desainer mobile yang bagus kita harus benar-benar memahami how people use their device, robust toolkit, dan The flexibility to adapt to new technology. Jelas saja kita perlu tau siapa orang yang akan pakai dari desain yang kita buat. Jangan sampai salah desain karena kita tidak mengikuti terhadap perkembangan desain dari tahun ke tahun. Dibawah ini menggambarkan tentang desain yang diambil dari berbagai jenis ukuran smartphone yang sudah beredar di pasaran. Kita sebagai desain harus memahami terhadap perkembangan ini. Fungsinya?, agar developer ketika mengimplementasikan desain anda tidak terlalu susah karena ukurannya sudah fixs dan tertuju pada device-device yang ditargetkan. Hal ini akan menjadikan desain kita berkualitas dari segi pixelnya dan juga tampilannya.


OS Fragmentation 



Being a good designer harus tau perkembangan Operating System yang berkembang pada pasar global. Yaitu Android OS, i-OS,Windows Phone. juga harus memahami dari masing-masing operating sistem, tau perkembangan teknologi desain pada suatu concern yang memang mau kita jadikan acuan untuk pembuatan desain. Misalkan Android, maka kita juga harus ikut perkembangan desain yang menggunakan Material Desain. Karena desain yang kita buat juga akan mempengaruhi peforma juga kenyamanan pengguna untuk lebih betah menggunakan aplikasi kita nanti. Karena pasti, penyedia layanan OS melakukan perubahan terhadap desain yang baru juga sudah melalui riset dan pengujian terhadap user. 

Development and Cost Constraints

Jangan sampai desain kita membebani developer dalam mengimplementasikan menjadi aplikasi yang digunakan oleh user. Nah, kita sebagai calon desainer juga harus tau, bahwa seberapa mana kemampuan programmer kita. Apakah sudah bisa mengimplementasikan desain yang kita inginkan atau belum. Karena kalau dalam hal ini ada missunderstanding akan mengakibatkan deadline kita tidak tercapai. Dan mungkin yang terjadi adalah, akan dikembalikan ke desain yang awal. Intinya, kalau mau mengimplementasikan sebuah desain baru, obrolkan dulu dengan programmer apakah sudah siap. Kalau belum berikan waktu untuk research dulu terhadap teknologi apa yang dipakai untuk mengimplementasikan desain tersebut. Right?

Put your Designer ego Aside

Untuk menjadi desainer kita gak perlu harus menjadi yang unik atau yang beda dengan yang lain. Memanfaatkan resource yang sudah ada dan sudah terbukti digunakan tidaklah salah, karena mengembangkan yang sudah ada malah akan membuat desain kita bagus. Jadi arti Ego disini jelas, bahwa kita ga perlu yang beda. 

For inspiration, real apps are better than designer portofolio sites


Walaupun menjadi desainer kita juga perlu menggunakan aplikasi yang sudah ada jadi kita bisa melakukan compare terhadap aplikasi yang sudah ada. Ini juga dapat memberikan inspirasi terhadap kita untuk membuat sebuah desain dari aplikasi. Kalau di asia kita juga tau, ATM (Amati Tiru Modifikasi), hal ini gak sepenuhnya salah kok. Cuman jangan terpaku aja, tetep harus update terhadap informasi seputar desain yang terbaru dari berbagai penyedia Mobile OS.

Know The Platformn & Bolf Of Mobile Technologies


Kalau jadi desainer untuk web kita biasanya perlu tau tentang HTML/CSS only. Tapi hal ini sangat berbeda kalau kita mau menjadi desainer mobile. Kita sebagai desainer Mobile Phone harus memahmi tentang stukture dari mobile apps juga, dan hal ini sangat berbeda dengan web pages. Maka pemahaman terhadap platform sangatlah berguna. Caranya?, buka dokumentasi dari masing-masing platformn yang akan menjadi concern kita dalam membuat sebuah desain. Selain itu kita juga dituntut untuk bisa mengetahui teknologi apa saja yang sudah include pada sebuah perangkat. Sehingga kita dapat menggunakan teknologi itu dalam mendesain sebuah perangkat. Jangan sampai, untuk geolocation saja, pengguna harus melakukan input secara manual terhadap koordinatnya. Ya seperti penggunaan kamera,eyes detection dll

Some Extra Tips for Mobile Web


Be responsible with responsive, web apps harus bisa mengandung fitur ini. Karena ini menjadi point, karena sekarang banyak gadget yang ukurnya berbeda-beda dengan fungsi dari masing-masing. konsep desain ini seperti air. ketika air yang akan memenuhi sesuai dengan bejanannya. Banyak sekali yang bisa kita pelajari untuk menginplementasikan untuk hal ini, bootstrap adalah salah satu yang biasa dipakai untuk menghandle masalah ini



Pentingnya Security untuk development Aplikasi

Security pada aplikasi sangat penting sekali. Namun pada kenyataanya faktor keamanan ini sering dikesampingkan karena banyaknya deadline yang mengharuskan kita untuk menyelesaikan suatu development yang kompleks dan membutuhkan waktu yang sangat cepat. Banyak aplikasi-aplikasi besar yang mempunyai user banyak, namun belum sepenuhnya dapat menjaga keamanan user, ini akan sangat disayangkan karena investasi terbesar company adalah data. Kalau karena faktor dari kelalaian mengesampingkan keamanan akan sangat disayangkan.

Data menyebutkan "More than 600 IT professionals responded to Dzone's 2015 Applicatoin Security Survey"
Bahwa developer lah yang mempunyai peran besar terhadap faktor keamanan pada waktu suatu software/aplikasi. Bagi kita developer, harus memahami betul mana-mana saja yang ditampilkan pada "Front End" yang langsung berhubungan dengan user, maupun data yang seharusnya hanya disimpan pada bagian "Back End", seperti data diri pelanggan password, transaksi dll. Developer harus memahami betul terhadap hal itu. banyak sekali perusahaan yang tercuri datanya karena masalah sederhana ini. 

Penetration Testing Is The Most Common Security Test, Why?

Dari datas diatas jelas sekali bahwa developer kurang mementingkan terhadap aspek keamanan sistem saat sistem itu dibuat. Developer lebih mementingkan tentang fungsi dari sebuah aplikasi itu digunakan, right?, kebanyakan karena deadline yang mencekik haha. Tapi tidak bisa dipungkiri sekarang itu udah jamanya Teknologi Data, apa-apa harus pake data, kayak orang No pic Hoax. Dari bagian testing lebih mementingkan untuk test Penetration dari luar dari pada mereview dari code yang kita bangun. Kesimpulannya, developer harus mementingkan terhadap aspek keamanan dengan diimbangi dengan aspek performance dari aplikasi.

Nine Step to Securing Your software

  1. Protect Your Database From SQL Injection
    Udah dari jaman nenek moyang kali SQL injection ini. terutama ini ketika kita developing pakai php+html, akan sangat harus diperhatikan terhadap sql ini. jangan sampe bocor, karena id kita pampangkan pada url address. 
  2. Encode Data Before Using It
    Ini masalah yang sangat serius. Pernah nonton film hacker, yang nyadap telpon dari telpon kabel?. Nah mungkin seperti itu hampir sama. maka sebelum data kita simpan. kita harus encode dulu menggunakan Algoritma tertentu atau menggunakan metode kriptografi menggunakan key dan sebagainya. Intinya jangan membiarkan value penting yang keluar masuk itu telanjang tanpa adanya enkripsi.
  3. Validate Input Data Before You use It Or Store It
    Old School, ini nih. Biasanya karena dari form yang kita tidak kasih exception untuk mengecek suatu file yang akan dimasukkan. bisa dijadikan celah untuk dimasukkan file yang biasa digunakan sebagai shell, yang digunakan untuk mengupload file-file tertentu yang digunakan untuk mengambil data-data penting dari database kita. Ngeri kan?, makanya validasi ini sangat berperan penting terhadap web apps.
  4. Access Control - Deny By Default
    Pemetaan user berdasarkan Role mereka. ini akan sangat menjadi prioritas dan memudahkan kita untuk mengaudit data, karena user sudah terkontrol berdasarkan Role.
  5. Establish Identity Upfront
    Email & password user adalah data terbesar yang kita punya kalau kita bergerak pada web apps service. Yang menjadikan user sebagai sasaran terhadap visi dari web kita. Maka sudah seharusnya kita developer harus benar-benar mengamakan 2 value ini. karena orang jahat banyak mengincar email user yang kita punya dan digunakan untuk tujuan lain. 
  6. Logging And Instruction Detection
    Log selalu proses-proses penting. karena ini akan memudahkan kita untuk mengatasi ketika ada masalah. Untuk mengimplementasikan hal ini. Kita bisa pakai framework SLF4J dengan Logback atau Apache Log4j/Log4j2
  7. Dont Roll Your own Security Code
    Dan menyerahkan pada aplikasi semata untuk masalah Keamanan kita harus benar-benar paham dan memahami terhadap apa yang kita gunakan.
  8. Handle Errors And Exception Correctly
    Error Handler sangatlah penting untuk mengatasi user keluar dari url yang telah kita sediakan. Dalam kasus ini seperti SQL injection, ketika orang mencoba untuk memasukan url dan bermaksud untuk menyuntikkan data maka Error Handler ini akan bekerja dan mencegah untuk masuk kepada url yang dituju.
  9. Build Security Testing into Development
    Pengecekan keamanan tidak hanya dilakukan menggunakan penetration testing ketika aplikasi selesai di develop. Tapi harus berkala sampai aplikasi jadi. Jadi kita sebagai developer dapat memastikan bahwa setiap kode yang kita tulis sudah memenuhi pada standar keamanan terhadap software/aplikasi yang kita develop. 


Aplikasi Android Pengendali Robot

Android dengan Robotik?, Apakah Bisa?

Bagi anda yang mungkin tidak menggeluti bidan informatika, terutama pada bidang robotika. Bisa jadi tidak terbayangkan bahwa handphone android yang selama ini anda pakai dapat digunakan untuk mengendalikan robot. Memang diakui dengan muncul teknologi android banyak invasion-invasion yang bermunculan pada abad ke-21 ini. Salah satunya yaitu android yang dikombinasikan dengan robot, dimana android bertugas untuk memberikan alur pikir pada mesin robot dan kemudian memberikan aksi kepada robot. Yaitu, Seseorang ahli robotik yang bernama Mike Dobston, berhasil membuat robot yang dapat menyelesaikan rubik 3x3 hanya dalam hitungan detik saja, tidak lebih dari 10 detik. Wow, bukankah itu sangat cepat?. 

Video Cube Stormer (Pemecah Rubik Otomatis)



Dalam berdurasi singkat diatas menggambarkan bagaimana robot yang dikombinasikan dengan perangkat android ini dapat menyelesaikan rubik 3x3 dalam waktu yang sangat singkat. Nah, Dari pemanfaat teknologi android ini membuka pikiran kita, bahwa android dapat digunakan dihampir semua jenis permasalahan yang ada pada dunia ini. Dan bagi kalian yang mungkin lagi menyelesaikan tugas akhir dapat memanfaatkan teknologi android ini pada jenis permasalahan yang dapat diatasi. Penulis sendiri dalam menyelesaikan Tugas Akhirnya memanfaatkan Teknologi android dengan Augmented Realtiy. Semoga artike singkat ini dapat membuka wawasan anda terhadap dunia teknologi dan pemanfaatan teknologi dan tidak melulu menggunakan teknolgi yang keren ini hanya untuk facebookan dan twitteran doang. hehe. Tapi kalau bisa jadiin Sosial media sebagai tools berarti anda sangat beruntung :D

Sekian dulu, semoga bermanfaat bagi anda. 

Aplikasi Android Penambah Memori

Android Anda Lemot?

Kejadian ini sering dialami oleh mereka termasuk saya pribadi yang hanya mempunyai sekitar 512MB kapasitas RAM pada device androidnya. Dan masalah datang ketika kita suka membuka banyak aplikasi pada handphone kita, dan setelah itu tiba-tiba perangkat android kita jadi lemot dan panas. Dan kita mulai malas untuk menggunakannya lagi sampai menunggu handphone adem kembali baru digunakan. Sebenarnya untuk mencegah hal itu terjadi ada aplikasi yang saya sendiri pakai dan manjur sekali untuk digunakan, disamping itu Aplikasi Android dapat melakukan penghapusan pada file junk yang ada di Perangkat android kita. Apa itu junk file?, yaitu file-file yang kurang berguna,biasanya file ini didapat ketika kita menggunakan aplikasi-aplikasi yang mencari konten-konten sebagai newsfeednya seperti facebook,twitter,IG dll. Setelah kita membuka aplikasi yang berjenis sosial media tadi, maka akan secara otomatis akan memakan memori yang ada pada handphone kita. Dan apa yang terjadi, perangkat android kita jadi lemot dan sukar untuk digunakan,dan yang tentunya panas.

Aplikasi Menghapus Memori Tak Terpakai

Mungkin sebagain dari anda ada yang pernah melihat Aplikasi untuk menghapus memori ini tampil ketika anda melakukan browsing diinternet ataupun pernah tampil pada layar android anda ketika sedang browsing atau menggunakan aplikasi. Memang awalnya saya juga tidak begitu percaya dengan aplikasi ini, tapi setelah banyak yang menyarankan ketika masalah lemot datang. Akhirnya saya mencoba untuk mendownload dan menggunakan ketika android saya lemot. Dan, boom, junk file yang ada pada handphone saya hilang. Dan RAM kembali normal. Akhirnya pada dua perangkat saya terinstall aplikasi ini hehe. Saya kira sangat disayangkan kalau hal ini tidak dibagikan ke temen-temen semua :). Banyak juga fitur yang dapat digunakan pada aplikasi ini selain untuk menghapus file-file yang kurang berguna

Fitur Pada Aplikasi Clean Master(Speed Booster)

  • AppLock
    Bagi sebagian orang yang handphone pribadinya kadang dipinjem oleh temen, pasti akan merasa risih kalau aplikasi-aplikasi seperti sosmsed atau bbmnya dibuka sama temen. Apalagi temen yang usil yang suka bajak BBM. fitur ini bisa anda gunakan untuk mengunci aplikasi-aplikasi yang sekiranya menurut anda bersifat pribadi
  • Duplicate Photo Remover
    Yang suka selfie banyak foto-foto yang hampir sama, dari raut muka, manyun dan lain-lain bisa memanfaatkan fitur ini untuk menghapus foto yang hampir sama
  • Junk file cleaning
    Ini yang menurut saya paling bagus. Aplikasi ini bisa memilah-milah file-file mana saja yang tidak terpakai dan layak untuk dihapus. Tapi saran saya kalau ingin menghapus bisa dilihat dulu, apakah file tersebut masih anda pakai atau tidak.
  • Memory Boost
    Siapa sih yang gak kepengen Handphone kelas bawah speed kelas menengah. Fitur ini bisa anda gunakan
Sebenarnya masih banyak fitur yang dapat anda gunakan pada Aplikasi keren ini. Apalagi aplikasi Penambah Memori dan multi fungsi ini bisa anda dapatkan secara gratis tanpa dipungut biaya. Anda dapat mengunjungi secara langsung di google playstore dengan memasukkan keyword/kata kunci "Clean Master" atau juga dapat mengunjungi Link ini : Clean Master

Sekian dulu ya, semoga postingan ini membantu temen-temen yang kepengen hapenya lebih stabil. Catatan, work disemua device tablet ataupun handpone. Jadi tunggu apalagi :)