Kerja di Startup: Panduan Lengkap Menjadi Ruby Developer

SoftwareSeniTech
Published on December 3, 2018

Ruby on Rails tidak hanya sangat dicari di industri teknologi, ini adalah bahasa dan framework yang juga sangat mudah diakses oleh orang dengan berbagai keahlian dan pengalaman. Ruby on Rails bisa dibilang lebih mudah dibandingkan beberapa bahasa pemrograman lain yang menuntut banyak pengetahuan teoritis sebelum Anda bahkan menulis baris pertama kode Anda.
 

“Ruby on Rails – atau lebih tepatnya bahasa Ruby dan framework Rails – merupakan satu set lengkap tools development. Kelebihannya terletak pada kemudahan sistem kerja yang meringankan tugas developer. Para programer Ruby cenderung sangat puas dengan bahasa, sintaks, dan tools yang ada.”
 
Mark Lassoff, pendiri LearnToProgram Media

 
Itulah hal hebat tentang Ruby on Rails: dirancang untuk membuat Anda bekerja lebih cepat, sehingga Anda juga dapat melihat hasil kerja keras Anda jauh lebih cepat.
 

Apa itu Ruby On Rails?

 
Sederhananya, Ruby adalah bahasa pemrograman, sementara Ruby on Rails adalah framework yang dibangun di Ruby. Di kalangan developer, Ruby on Rails biasanya hanya disebut sebagai Rails.
 
Ruby on Rails bertujuan untuk menyederhanakan pembuatan aplikasi web. Ia melakukannya dengan membuat struktur code standar, basis data aplikasi dan halaman aplikasi web yang dikirimi untuk client-side. Ruby on Rails (RoR) berjalan di server web dan menyajikan informasi ke program klien (browser web), maka RoR dapat dikatakan sebagai aplikasi sisi-server atau back-end.
 
David Heinemeier Hanson, pencipta framework Ruby on Rails, mengatakan dalam sebuah wawancara di podcast “This Developer Life” bahwa dia memilih Ruby sebagai bahasa pemrograman karena ringkas, mudah digunakan dan didukung teknik rekayasa software high-level yang dia dibutuhkan, tidak seperti PHP yang telah dia coba sebelumnya.


 

Analogi Rak Buku IKEA
 
Cara mudah untuk memikirkan perbedaan antara Ruby dan Ruby on Rails adalah dengan membayangkan membangun rak buku. Ruby dapat diwakili oleh seseorang yang menebang pohon, menggergaji kayu, mengukir rak, memalu paku atau memasang sekrup. Ruby on Rails dapat diwakili oleh rak buku IKEA yang siap dirakit. Semua bagian telah dibuat, tugas Anda adalah merakitnya dengan benar.

 

Ruby On Rails Adalah Kerangka MVC

 
MVC (modelviewcontroller) framework adalah pola arsitektur yang digunakan untuk membuat aplikasi web dan desktop. Banyak framework web lain menggunakan pola ini, seperti AngularJS (Javascript), Django (Python) dan CakePHP (PHP). MVC menstruktur code dengan memisahkan logika aplikasi menjadi tiga bagian yang saling berhubungan.
 
Model mewakili logika aplikasi, objek data, dan kelas tingkat tinggi yang terkait dengannya.
 
View pada dasarnya adalah representasi visual dari data (file template), dan
 
Controller adalah bagian yang menghubungkan dua lainnya, menanggapi input pengguna dan mengumpulkan data dari Model untuk ditampilkan dalam View. Pola ini membersihkan logika aplikasi dan membuat aplikasi Ruby on Rails sangat fleksibel.
 

Filosofi Desain Ruby On Rails

 
Filosofi desain Ruby on Rails berpusat pada prinsip-prinsip kunci tertentu, seperti yang diuraikan dalam Doktrin Rails, terutama:

  • Prinsip The Don’t Repeat Yourself (DRY)
  • Konvensi atas konfigurasi

 
Prinsip DRY adalah konsep yang umum digunakan dalam software development. Ini mendorong developer untuk mengurangi pengulangan dalam basis code mereka dan mengisolasi fungsi dalam kecil, lebih mudah untuk mempertahankan fungsi atau file. Ini membuat kode modular, lebih mudah dipahami, dikelola, dan di debug. Ruby on Rails telah memanfaatkan salah satu fitur Ruby, yang disebut meta-programming, dalam upaya untuk menjaga code tetap DRY.
 
Prinsip “konvensi terhadap konfigurasi” adalah kunci bagaimana Ruby on Rails dapat berevolusi seiring waktu. Istilah ini diperkenalkan oleh David Heinemeier Hanson untuk menjelaskan filosofi desain yang dipilihnya ketika mengembangkan Ruby on Rails saat bekerja di Basecamp.
 
“Konvensi atas konfigurasi” adalah praktik yang digunakan oleh framework di mana mereka menetapkan “default yang masuk akal” untuk membebaskan developer dari total kontrol, sehingga membebaskan programmer dari keharusan untuk membuat keputusan tertentu, yang memungkinkan mereka untuk berkonsentrasi pada aplikasi development.
 
Namun, developer dapat mengesampingkan konvensi ini jika diperlukan agar tetap fleksibel. Developer kemudian hanya bertanggung jawab untuk konfigurasi yang berbeda dari konvensi Ruby on Rails.
 

Ruby On Rails: Langkah Pertama Dalam Karir Web Development

 
Jika Anda baru berkenalan dengan web development tetapi ingin sekali belajar, wajar jika merasa kesulitan dalam memilih bahasa apa yang harus dipelajari terlebih dahulu. Ruby on Rails adalah salah satu bahasa yang sangat direkomendasikan untuk pemula.
 
Berikut ini adalah empat keunggulan utama Ruby on Rails:
 

1. “The Rails Community”

Ruby on Rails memiliki komunitas developer yang berkembang pesat, berisi developer senior maupun , yang tidak segan berbagi pengetahuan. Komunitas ini adalah tempat di mana best practices dibagikan, diperkuat, dan bahkan dipertanyakan. Anda dapat bertanya tentang apa pun.
 
Di dalam komunitas tersebut, selalu ada orang yang akan membantu Anda saat Anda menemukan kesulitan, memberi jalan pintas ke solusi. Untuk pemula, komunitas ini juga memberi dukungan teknis umum, serta jaminan bahwa Anda tidak sendirian ketika Anda merasa buntu.
 
Komunitas ini selalu ada untuk membantu Anda memecahkan masalah apa pun yang mungkin Anda hadapi. Jika Anda mencari kontak offline, Anda dapat menghadiri pertemuan dan hackathon Ruby on Rail di kota-kota di seluruh dunia.
 

Mattan Griffel membahas nilai komunitas Ruby on Rails dalam tulisannya 10 Reasons Beginners Should Learn Ruby on Rails. Dia mengatakan:
“Selain menjadi komunitas yang berkembang, untuk beberapa alasan Ruby on Rails dan Ruby developer adalah salah satu komunitas yang paling ramah (ini murni anekdot, saya tidak punya bukti untuk ini). Saya menduga ini ada hubungannya dengan framework yang baru, sehingga hampir semua orang teringat bagaimana rasanya menjadi pemula.”

 

2. Kepuasan Lebih Cepat Didapat

Tidak seperti Ruby, Ruby on Rails pada dasarnya adalah kumpulan shortcut yang ditulis di Ruby yang memungkinkan Anda untuk membangun aplikasi web dengan sangat cepat. Karena ini, Anda akan memiliki website yang dapat Anda gunakan dan bagikan dalam jangka waktu yang jauh lebih singkat daripada jika Anda membangun semuanya dari awal.
 

Web developer Michael Healy mengatakan,
 
“Ruby on Rails memungkinkan Anda membangun aplikasi yang tangguh, yang biasanya memakan waktu berminggu-minggu atau berbulan-bulan, hanya dalam beberapa hari. Karena dengan ini jadi lebih mudah untuk memulai coding, serta membuatnya menyenangkan dan memuaskan.”

 

3. Peluang Kerja di Startup

Menemukan developer Ruby on Rails yang mahir bukan tugas yang mudah, buktinya masih banyak lowongan pekerjaan yang belum terisi. Dengan sejumlah startup hebat yang menggunakan Ruby on Rails untuk membangun website mereka, tidak dapat dipungkiri jika akhirnya startup-startup mapan maupun startup baru berburu developer Ruby on Rails untuk mengejar kesuksesan pendahulunya.
 
Di bawah ini adalah daftar hanya beberapa startup terkenal yang dibangun di Ruby on Rails:
 

    ** Basecamp, Airbnb, Bleacher Report, Scribd, Groupon, Gumroad, Hulu, Kickstarter, Pitchfork, Sendgrid, Soundcloud, Square, Yammer, Crunchbase, Slideshare, Funny or Die, Zendesk, Github, Shopify **

 
Mengapa startup menginginkan website mereka dibangun dengan Ruby? Karena, seperti yang kami sebutkan sebelumnya, ini adalah full-stack, sehingga satu developer dapat melakukan pemrograman front-end dan back-end.
 
Di startup, semakin banyak keterampilan yang Anda miliki, semakin berharga Anda bagi perusahaan. Keuntungan tambahan untuk startup adalah bahwa dengan membangun website mereka menggunakan Ruby on Rails, mereka bisa mendapatkan MVP dan beroperasi dengan sangat cepat.
 

Michael at Rails Tutorial menerbitkan nilai memiliki pengembang Ruby on Rails di kedua perusahaan rintisan dan perusahaan besar:
 
“Ruby on Rails adalah salah satu framework web development paling cakap dan populer yang tersedia, digunakan oleh website ternama seperti Twitter, GitHub, Airbnb, dan Hulu. Mempelajari Ruby on Rails akan memberi Anda tools yang Anda butuhkan untuk membuat aplikasi web Anda sendiri, selain itu juga menempatkan Anda dalam posisi yang strategis untuk bekerja di konsultan web development, startup, atau perusahaan teknologi lainnya. ”

 

4. Ruby On Rails Ramah Untuk Pemula

Aplikasi Ruby on Rails sebagian besar ditulis dalam Ruby, tetapi meskipun begitu, ada banyak fitur yang membuatnya sangat mudah bagi pemula untuk belajar.
 

Rob Dey of Coder Manual mengatakan,
 
“Mempelajari pemrograman bisa jadi hal yang sulit, tetapi para developer Ruby mendapat benefit dari sintaks yang bersih dan indah, ekosistem plugin yang kuat (gems), dan kecepatan untuk meluncurkan produk mereka.”

 
Berikut adalah beberapa contoh mengapa Ruby on Rails adalah bahasa pemrograman yang baik bagi pemula:

  • Tidak seperti Javascript dan banyak bahasa lainnya, Anda tidak perlu mengingat untuk mengakhiri garis Anda dengan titik koma (;)
  • Tidak seperti Python dan beberapa bahasa lain, spasi dan indenting tidak menjadi masalah. Seringnya, Anda dapat meninggalkan hal-hal seperti kurung () dan kurung kurawal {} dan code Anda akan tetap berfungsi.
  • Mungkin yang paling penting, Ruby sangat mudah dibaca karena menggunakan bahasa Inggris biasa. Ini membuatnya jauh lebih tidak menakutkan saat Anda berkenalan dengan code untuk pertama kalinya.

 

Adam Fortuna, developer di Code School menyimpulkan manfaat Ruby on Rails dengan sederhana:
 
“Tidak ada toolkit lain yang menawarkan produktivitas, komunitas developer dan fleksibilitas Ruby on Rails. Ini adalah salah satu daya tarik terbesar bagi saya – mampu mengubah ide menjadi kenyataan dengan cepat, untuk melihat apakah mereka akan berfungsi dan mencari tahu ke mana harus pergi selanjutnya.”

 

Jadi, bagaimana cara belajar Ruby?

 
Jika Anda tahu cara menulis kalimat sederhana dalam bahasa Inggris, mungkin akan cukup mudah bagi Anda untuk menulis beberapa baris pertama code Ruby Anda. Menjadi bahasa yang dinamis dan berorientasi objek, Ruby membawa banyak syntax sugar yang benar-benar membuat Anda berpikir Anda sedang membaca sebuah kalimat.
 
Tentu saja, mengkonsumsi terlalu banyak gula bisa berbahaya. Hal yang sama berlaku untuk tidak memahami apa yang Anda lakukan di Ruby.

  • Untuk pemula, langkah pertama yang baik adalah mencoba Ruby di dalam browser – misalnya Codecademy atau TryRuby.org.
  • Jika Anda sudah terpikat dengan Ruby, langkah selanjutnya adalah menginstal Ruby di komputer Anda sehingga Anda dapat menggunakannya secara lokal. Cobalah RubyInstaller (jika Anda menggunakan Windows) atau lanjutkan dengan Ruby versi manajer seperti rbenv dan ruby-build (jika Anda menggunakan Mac atau Linux).
  • Tutorial online sangat bagus, tetapi membaca buku tentang subjek yang dipilih jauh lebih baik. Salah satu buku terbaik tentang Ruby berjudul Programming Ruby. Bacalah!
  • Screencasts populer baik di komunitas Ruby dan Rails, dan Anda dapat menemukan screencasts yang hebat di Ruby Tapas.
  • Sementara Test Driven Development tidak benar-benar merupakan bagian dari pembelajaran bahasa pemrograman, ini terkait erat dengan Ruby dan Rails. Ada program kursus hebat yang akan mengajari Anda TDD saat memperkenalkan Ruby kepada Anda. Kunjungi rubykoans.com dan cobalah!

 

Oke, sekarang Anda sudah menguasai Ruby. Bagaimana dengan Rails?

 

  • Pemberhentian pertama Anda adalah Rails Guides. Di sini Anda dapat menemukan segalanya tentang Rails dan juga tutorial untuk menambahkan Rails ke instalasi Ruby Anda yang telah tersedia.
  • Baca Agile Web Development With Rails dari pencipta Rails, David Heinemeier Hansson.
  • Cobalah untuk membiasakan diri dengan Git dan GitHub karena ini akan membantu Anda menyebarkan aplikasi, melacak perubahan yang telah Anda buat, dan memungkinkan orang lain untuk berkolaborasi. Seluruh komunitas Ruby on Rails bekerja di GitHub, jadi bersosialisasi di sini akan berguna.
  • Anda akan ingin mencoba kreasi Anda dan menerapkannya ke server nyata. Anda dapat mencobanya dengan Heroku, sebuah cloud platform sebagai penyedia layanan yang sangat mudah digunakan.
  • Ada banyak screencasts yang tersedia di RailsCasts. Juga, Richard Schneeman, salah satu kontributor Rails, memiliki materi luar bisa dari kursus yang dia berikan di University of Texas.

 
Jika Anda merasa sangat termotivasi, cobalah untuk membaca kode sumber Rails. Anda akan belajar banyak tentang arsitektur yang mendasarinya, juga cara-cara baru dan menarik untuk menyelesaikan masalah di Ruby. Mulailah dengan membaca dokumentasi dan kemudian jelajahi lebih lanjut.
 

20 Ruby Developer Untuk di Follow Online

 
Ingin belajar dari beberapa pemikir cemerlang di komunitas Ruby? Ingin mempelajari kiat dan trik yang akan menghemat banyak waktu coding? Berikut ini, dalam urutan abjad, adalah 20 Ruby developer untuk di follow secara online.
 
1. Sarah Allen
Technical lead di Google; co-founder dari RailsBridge dan program director Bridge Foundry; developer dari After Effects, Shockwave, Flash video, dan OpenLaszlo, serta Presidential Innovation Fellow at the Smithsonian Institution pada tahun 2013.
Blog: www.ultrasaurus.com
Twitter: @ultrasaurus
GitHub: github.com/ultrasaurus
 
2. James Edward Gray II
Contract programmer, owner dari Gray Productions Software, dan member Ruby community sejak 2004; panel member dalam Ruby Rogues podcast; penulis Best of Ruby Quiz; 2008 Ruby Hero award winner.
Twitter: @JEG2
GitHub: github.com/JEG2
 
3. Avdi Grimm
Software developer; host Ruby Tapas webcasts; co-host Ruby Rogues podcast; serta penulis dari Objects on Rails; 2016 Ruby Hero award winner.
Website: www.virtuouscode.com
Twitter: @avdi
GitHub: github.com/avdi
 
4. Aman Gupta
Full-stack developer; Ruby core committer; creator of tools termasuk rbtrace, perftools.rb, stackprof, dan gctools; 2009 Ruby Hero award winner.
Twitter: @tmm1
Blog: tmm1.net
GitHub: github.com/tmm1
 
5. Eric Hodel
Software engineer di Fastly; Ruby committer; maintains RubyGems, RDoc; 2012 Ruby Hero award winner.
Twitter: @drbrain
GitHub: github.com/drbrain
 
6. Terence Lee
Senior Ruby engineer di Heroku; core team di Resque dan Bundler; kontributor untuk Rails Girls; 2013 Ruby Hero award winner.
Blog: blog.heroku.com/authors/terence-lee
Twitter: @hone02
GitHub: github.com/hone
 
7. Linda Liukas
Programmer; co-founder dari Rails Girls; penulis buku anak-anak Hello Ruby: Adventures in Coding; 2013 Ruby Hero award winner; diakui sebagai “Digital Champion of Finland” oleh European Commission di tahun 2013.
Website: lindaliukas.com
Twitter: @lindaliukas
GitHub: github.com/lindaliukas
 
8. Desi McAdam
CTO Nanno; co-founder dari DevChix, yaitu komunitas untuk developer wanita.
Twitter: @desi
GitHub: github.com/desi
 
9. Sarah Mei
 
Ruby developer; architect di Salesforce; co-founder RailsBridge dan director dari Ruby Central; 2015 Ruby Hero award winner.
Blog: www.sarahmei.com
Twitter: @sarahmei
GitHub: github.com/sarahmei
 
10. Mislav Marohnić
Developer; maintains rbenv, ruby-build, hub, gemoji, Faraday, pjax, dan will_paginate; GitHubber.
Website: mislav.net
Twitter: @mislav
GitHub: github.com/mislav
 
11. Sandi Metz
Veteran programmer; gur dan pembicara; penulis Practical Object-Oriented Design in Ruby; 2013 Ruby Hero award winner.
Website: www.sandimetz.com
Twitter: @sandimetz
GitHub: github.com/skmetz
 
12. Erik (Michaels-Ober) Berlin
CEO Breaker; 2011 Code for America Fellow; author dari beragam Ruby libraries populer; 2014 Ruby Hero award winner.
Twitter: @sferik
GitHub: github.com/sferik
 
13. Charles Nutter
Senior principal software engineer di Red Hat; core team di JRuby; memimpin open source LiteStep project pada tahun 1990-an; 2016 Ruby Hero award winner.
Blog: blog.headius.com
Twitter: @headius
GitHub: github.com/headius
 
14. Katrina Owen
Ecosystem Engineer di GitHub; author; kreator dari exercism.io; bagian dari Ruby Rogues podcast; 2014 Ruby Hero award winner.
Blog: kytrinyx.com
Twitter: @kytrinyx
GitHub: github.com/kytrinyx
 
15. Aaron Patterson
Software engineer; Ruby and Rails Maintainer di GitHub; public speaker; committer pada Nokogiri, Ruby, dan Ruby on Rails; 2010 Ruby Hero award winner.
Blog: tenderlovemaking.com
Twitter: @tenderlove
GitHub: github.com/tenderlove
 
16. Mike Perham
Open source developer; founder and CEO dari Contributed Systems, author and maintainer dari Sidekiq, Sidekiq Pro, dan Sidekiq Enterprise; 2013 Ruby Hero award winner.
Blog: www.mikeperham.com
Twitter: @mperham
GitHub: github.com/mperham
 
17. Evan Phoenix
Co-founder dan CEO dari Vektra; director dari Ruby Central; sebelumnya di Rubinius sebagai lead di Engine Yard.
Twitter: @evanphx
GitHub: github.com/evanphx
 
18. Sam Saffron
Open source developer; co-founder dari Discourse dan co-creator of Media Browser (sekarang Emby); 2015 Ruby Hero award winner.
Blog: samsaffron.com
Twitter: @samsaffron
GitHub: github.com/SamSaffron
Stack Overflow: stackoverflow.com/users/17174/sam-saffron
 
19. Koichi Sasada
Computer scientist; engineer di Cookpad; Ruby core committer dan the developer of YARV; 2016 Ruby Hero award winner.
Website: www.atdot.net/~ko1/
Twitter: @koichisasada
GitHub: github.com/ko1
 
20. Charlie Somervil
Systems engineer di GitHub; membuat eval.in dan better_errors.
Blog: charlie.bz
Twitter: @charliesome
GitHub: github.com/charliesome
 

Kesimpulan

 

“Pengalaman adalah apa yang kamu dapatkan ketika kamu tidak mendapatkan apa yang kamu inginkan.” -Randy Pausch, The Last Lecture

 
Pada akhirnya, cara terbaik untuk mempelajari apa pun adalah dengan mencobanya dan belajar dari pengalaman. Memiliki komunitas atau tim yang hebat akan sangat membantu, tetapi upaya dan dedikasi pribadi Anda adalah yang paling penting.
 
Pelajari pengetahuan dasar dan motivasi diri Anda untuk menyelesaikan proyek kecil. Jika Anda bertahan dan melakukannya meskipun ada banyak hambatan (dan percayalah, akan ada banyak), Anda akan memiliki pengetahuan dan pengalaman untuk membuat sesuatu yang lebih besar dan lebih baik. Inilah bagaimana setiap developer yang baik, dan secara umum, setiap profesional yang baik memulai karir mereka.
 
Tidak diragukan lagi mempelajari skill baru bukanlah tugas yang mudah. Butuh waktu, kerja keras dan disiplin. Jika Anda memutuskan untuk mengambil risiko dengan bekerja keras dengan hal ini, hasilnya akan sepadan.
 
Ruby On Rails tidak hanya memberi Anda banyak manfaat seperti mempercepat proses development aplikasi web, namun yang lebih penting, ini dapat membantu Anda menjadi seorang software developer yang diinginkan semua orang. Dan siapa yang tidak menginginkan itu?
 
Jika Anda jatuh cinta dengan Ruby On Rails, maka SoftwareSeni menginginkan Anda. Bergabung bersama kami dan lihat kesempatan lain di sini.
 

kerja di startup

Comment (1)

  1. rega says:

    nice article

Leave a Reply

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