Bagaimana menjadi pemaju React dalam 5 bulan

Kisah bagaimana saya beralih dari pembangun React bukan teknikal untuk mengupah.

Ketika berusia 29 tahun, saya beralih dari pengekod hobi kepada pemaju profesional profesional. Peralihan ini adalah salah satu perkara paling baik yang pernah saya lakukan, baik secara peribadi dan profesional.

Secara peribadi, ini memberi saya keyakinan bahawa saya dapat belajar apa sahaja yang saya mahukan, dan secara profesional, ia sangat penting bagi karier saya. Hari ini, saya adalah pengasas bersama Scrimba, platform pembelajaran yang mengajar lebih daripada 100 ribu orang untuk membuat kod setiap bulan. Saya tidak mungkin mempunyai peranan ini jika saya tidak tahu bagaimana membuat kod.

Melihat betapa pentingnya peralihan ini bagi saya, saya ingin mendorong lebih banyak orang untuk menempuh jalan yang sama. Jadi dalam artikel ini, saya akan menerangkan dengan tepat bagaimana saya melakukannya. Saya akan membentangkan setiap kursus yang saya ambil dan projek yang saya bina. Mudah-mudahan, ini dapat memberi inspirasi kepada anda untuk mempertimbangkan untuk melakukan perkara yang sama.

Tetapi ketahuilah bahawa jalan yang saya ambil tidak semestinya yang paling efisien, kerana ia melibatkan bootcamp pengekodan. Ini boleh menjadi mahal, dan anda akan mendapat gaji untuk tempoh ini.

Pada ketika ini, saya akan berani menyarankan intro percuma kami kursus Bertindak balas dan kursus lanjutan yang akan datang bagi anda yang sedang mencari yang benar-benar cara paling cepat. Tujuannya adalah untuk membawa anda ke tahap yang diinginkan secepat mungkin, dan saya secara peribadi telah memeriksa kurikulum.

Tetapi jika anda terbuka untuk melakukan bootcamp pengekodan, sila baca terus.

Menutup permulaan saya yang terdahulu

Pada akhir tahun 2014, kedua-dua pengasas bersama saya dan saya memutuskan untuk menutup permulaan aplikasi anak-anak kami - Propell - kerana kami telah kehilangan motivasi dan tidak melihat bagaimana kami boleh menjadi menguntungkan. Pada mulanya ia bermula sebagai projek sampingan semasa saya memperoleh ijazah ekonomi, tetapi tidak lama kemudian berkembang menjadi pekerjaan sepenuh masa dengan empat orang bekerja di syarikat itu di puncaknya.

Walaupun sudah pasti menyerah, ini juga memberi saya kesempatan untuk melakukan apa yang saya ingin lakukan sejak sekitar tahun 2011, iaitu belajar dengan betul cara membuat kod.

Pengekodan sebenarnya menjadi hobi saya beberapa tahun kebelakangan ini, kerana saya mengikuti kursus pada waktu malam, hujung minggu dan percutian, jadi saya tahu sedikit pengaturcaraan, tetapi saya masih menganggap diri saya bukan teknikal, dan jauh dari tahap profesional.

Kursus yang saya mulakan ialah Pengenalan Sains Komputer dan Pengkodan untuk Pengusaha Udacity di Udemy. Mereka berdua hebat, walaupun saya tidak menyelesaikannya.

Bagaimanapun, meneruskan pembelajaran dalam talian saya sendiri bukanlah pilihan. Saya mahukan kursus intensif secara langsung, kerana saya tahu itu akan meningkatkan peluang saya untuk dapat melakukan peralihan. Saya mahukan persekitaran di mana saya dapat menghabiskan 100% masa saya membuat kod bersama dengan orang lain. Oleh itu, saya menggali semua bootcamp pengekodan yang dapat saya temui dan digunakan pada yang berikut:

  • Dev Bootcamp
  • Gunung Dev
  • Sekolah Flatiron
  • Pengasas dan Pengekod (FAC)
  • HackerShip
  • Reaktor Hack
  • PembuatSquare
  • Pusat Recurse

Saya diterima semua kecuali Hack Reactor and Recurse Center. Sekiranya anda mempertimbangkan untuk melakukan bootcamp pengekodan sendiri, saya akan mengesyorkan anda melakukan perkara yang sama. Memohon untuk semua sekolah yang kelihatan menarik bagi anda, dan kemudian mulakan tapisan. Dengan bercakap dengan orang-orang yang bekerja di sana dan mengalami proses permohonan, anda akan dapat memahami kualiti dan falsafah sekolah, yang mana kedua-duanya sangat penting.

Sebilangan sekolah kelihatan terlalu bersemangat untuk menerima saya, yang membuat saya ragu-ragu. Sepertinya mengumpulkan tuisyen sebanyak mungkin lebih penting daripada mendapatkan calon terbaik.

Saya pernah mendengar cerita tentang pengekodan bootcamp yang pada dasarnya adalah penipuan, jadi berhati-hatilah dan pilih-pilih semasa anda memilihnya!

Sekiranya anda ingin 100% yakin bahawa bootcamp itu serius, anda harus mempertimbangkan salah satu yang mempunyai pilihan Pay Later, seperti V School. Maka anda dijamin bahawa tujuannya selaras dengan tujuan anda.

Bagaimanapun, setelah berulang-alik, diikuti dengan perbualan yang meyakinkan dengan ketua Pengasas dan Pengkoder yang cemerlang, Dan Sofer, saya akhirnya memutuskan untuk berpindah ke London dan menyertai FAC.

Falsafah Pengasas dan Pengkod

FAC tidak seperti bootcamp lain. Pertama sekali, ia adalah percuma. Ini bererti saya mampu membelinya tanpa mengambil pinjaman, yang tidak akan berlaku untuk bootcamps yang lain, kerana tuisyen mereka kebanyakannya berkisar antara sepuluh hingga lima belas ribu USD. Kedua, FAC sepenuhnya berasaskan projek, yang saya suka, kerana saya selalu belajar lebih banyak daripada mempraktikkan sesuatu daripada membaca tentangnya.

Kekurangan tuisyen bermaksud mereka tidak dapat mengambil guru sepenuh masa, jadi ini berdasarkan pembelajaran rakan sebaya, di mana anda kebanyakannya belajar perkara dari rakan sekelas dan anda sendiri. Anda juga mendapat pertolongan dari kumpulan sebelumnya, kerana mereka terus berusaha dan membantu pelajar baru sambil mengerjakan pertunjukan perundingan mereka sendiri. FAC juga mempunyai dua mentor hebat Nelson Correia dan Ines Teles yang memberikan pertolongan yang tidak ternilai kepada pelajar dan organisasi.

Secara keseluruhan, ini mewujudkan persekitaran yang mengagumkan - komuniti orang yang lapar akan pengetahuan untuk berkongsi kemahiran mereka antara satu sama lain.

Walau bagaimanapun, ini bukan kaedah termudah untuk belajar bagaimana membuat kod. Anda tidak boleh hanya mengangkat tangan dan mendapatkan jawapan daripada guru setiap kali anda terjebak, yang saya anggap anda boleh lakukan pada bootcamp 10-15K USD. Di FAC anda mesti menyiasatnya sendiri dan bersama rakan sebaya, yang memerlukan banyak disiplin diri.

Tetapi ini juga mempunyai kenaikan yang besar; anda akan mempertingkatkan kemahiran menyelesaikan masalah anda dan belajar bagaimana mengajar diri anda apa sahaja yang anda mahukan. Ini adalah salah satu kemahiran terpenting yang dapat anda miliki sebagai pembangun.

Oleh itu, jika anda melalui FAC, anda tidak akan takut untuk menghadapi cabaran teknikal lagi. Tambahan, anda akan mendapat banyak rakan baru.

Melalui FAC kemungkinan besar akan mengubah hidup anda menjadi lebih baik.

Bahagian 1 - Lapan projek

Pada hari pertama kelas dikumpulkan dalam pasukan untuk empat orang. Pasukan ini akan terdiri dari dua bulan akan datang. Setiap hari Isnin kami akan mendapat projek baru yang perlu kami bina dan dipersembahkan untuk kelas pada hari Jumaat berikutnya. Di dalam pasukan, kami akan berputar di antara empat peranan yang berbeza - dev ops, pustakawan, penguji dan pemilik repo - untuk memastikan bahawa setiap ahli mempelajari semua bahagian membina aplikasi web.

Selain itu, kami menghadapi cabaran pengekodan setiap pagi, di mana kami mempraktikkan kemahiran inti Javascript.

Semua dilakukan dengan sumber terbuka, jadi saya telah menghubungkan ke semua projek mingguan kami di bawah. Melihat kembali projek, saya tidak dapat mengatakan secara langsung bahawa saya bangga dengan mereka. Tetapi saya pasti bangga dengan semua yang saya pelajari semasa membina mereka.

Saya juga telah memperhatikan teknologi yang kami pelajari pada minggu-minggu tersebut. Tambahan, tugas mingguan dijelaskan dengan lebih terperinci dalam buku git ini, bagi mereka yang berminat untuk mengetahui lebih lanjut.

  • Minggu 1: Blog berpasukan - HTML / CSS, jQuery, Github Pages
  • Minggu 2: API Penjaga - API Web, Ajax
  • Minggu 3: Tembok sosial - Pelayan, Node.js
  • Minggu 4: InstagramFeed - Heroku, MongoDB
  • Minggu 5: StopGoContinue - D3.js
  • Minggu6: Catatan - React.js
  • Minggu 7: Blog - Penyampaian sisi pelayan, kuki
  • Minggu 8: Blog— Hapi.js

Projek-projek tersebut berkembang dengan stabil dalam tahap kerumitannya, sehingga setiap minggu melibatkan pembelajaran teknologi baru. Saya biasanya menghabiskan hujung minggu membaca dan membuat tutorial mengenai subjek yang akan disiapkan untuk minggu ini.

Sepanjang hari bekerja, saya kira rata-rata pengekodan sekitar 10 jam sehari atau belajar mengenai pengekodan, yang bermaksud saya berjumlah kurang dari 1000 jam selama empat bulan saya di London.

Mencari nisbah React saya

Seperti yang anda lihat, kami mula menggunakan React.js pada minggu ke-6. Saya segera menikmati menggunakannya dan menyukai pemikiran untuk dapat mengembangkan aplikasi mudah alih asli (React Native). Oleh itu, saya memutuskan untuk terus menggunakan React sebanyak mungkin sepanjang kursus ini.

Ini juga merupakan pilihan strategik. Sekiranya saya ingin mencapai tahap profesional, saya tahu bahawa saya perlu mengecilkan fokus saya kepada subjek yang lebih sedikit, daripada menyebarkan usaha saya pada banyak perkara yang berbeza. React menjadi pilihan semula jadi untuk digandakan. Strategi ini pasti membuahkan hasil, yang akan saya sampaikan lebih lanjut.

Minggu projek kesembilan melibatkan pembinaan produk kami sendiri, kerana FAC juga ingin memberi inspirasi kepada pelajar untuk membuat barang mereka sendiri. Pasukan saya membina alat kecil untuk menganalisis kata kunci aplikasi iOS anda yang disebut KeywordKing, yang boleh anda baca di sini.

Bahagian 2 - Membangun MVP untuk pelanggan

Minggu ini juga mempersiapkan kami untuk bahagian kedua kursus, yang melibatkan pembinaan MVP untuk pelanggan luaran. Sepanjang lapan minggu pertama, kami mendapat pesanan mingguan oleh pelanggan yang memerlukan pembangun untuk membuat prototaip idea mereka.

Ia berfungsi seperti ini: seharga £ 500, pasukan 3–5 pelajar akan membina prototaip dalam seminggu. Bagi kami, ini adalah cara untuk belajar bagaimana bekerja dengan pelanggan serta meningkatkan kemahiran pengekodan kami dengan lebih jauh, sambil menghasilkan sedikit wang. Bagi pelanggan, ini adalah peluang untuk mendapatkan MVP yang murah dengan cepat. Dan tanpa mempertaruhkan wang, kerana mereka hanya akan ditagih jika mereka berpuas hati dengan hasilnya, yang mana kebanyakan pelanggan (tetapi tidak semuanya).

Selama minggu-minggu ini, saya membina projek-projek berikut bersama dengan pelbagai pelajar lain:

  • Sir Predictalot - prototaip untuk aplikasi ramalan berita Tinder'ish
  • Troll-Olav - teka-teki kanak-kanak
  • RateMyStuff - rangkaian sosial berdasarkan penilaian gambar
  • Squish - alat pembelajaran yang diperkukuhkan untuk pelajar

Saya juga melakukan aksi pembelajaran mesin selama seminggu, yang telah saya tulis di sini, selain membuat beberapa video tutorial mengenai perkara ini (maaf tentang audio yang mengerikan).

Pada ketika ini, saya telah menghabiskan sekitar empat bulan di London, dan sudah hampir waktunya untuk kembali ke Norway, di mana sisa hidup saya ada.

Kembali di Norway

Kembali ke rumah, rancangan saya adalah untuk memasukkan pengekodan profesional secepat mungkin, kerana saya perlu mempraktikkan pengetahuan saya yang baru diperoleh agar dapat bertahan.

Saya cuba mendapatkan kerja perundingan, tetapi lebih sukar daripada yang saya fikirkan untuk meneruskannya. Saya juga mengesyaki bahawa keluk pembelajaran saya akan lebih curam sekiranya saya mendapat pekerjaan. Melompat ke pangkalan kod asing yang dibina oleh para profesional sepertinya merupakan cabaran yang sukar.

Oleh itu, saya menghantar tiga permohonan pekerjaan kepada syarikat yang memerlukan pemaju Javascript. Dua daripadanya menjemput saya untuk temu ramah.

Saya tidak mendapat yang pertama. Tidak pasti mengapa, tetapi saya mengesyaki mereka mahukan pembangun yang lebih senior. Yang berikutnya menghantar saya melalui dua pusingan temu ramah dan kemudian memberi saya tugas pengekodan.

Rangkaian untuk mencari pekerjaan yang sempurna

Walaupun pada masa yang sama, saya menghadiri acara permulaan yang diatur oleh seorang usahawan yang saya kenal sedikit. Dia adalah CTO syarikat permulaan yang dibiayai dengan baik bernama Xeneta, yang selama ini saya gemari selama beberapa tahun. Menurut laman web mereka, mereka mencari pembangun front-end - dan mereka sebenarnya menyebut React.js sebagai salah satu teknologi yang mereka gunakan.

Pada waktu petang dia memberitahu saya bahawa mereka baru sahaja menulis semula keseluruhan bahagian depan mereka di React.js dan mencari pembangun baru yang mengetahui perpustakaan; ini kelihatan terlalu baik untuk menjadi kenyataan. Saya memberitahunya bahawa saya berminat dengan pekerjaan itu dan kami memutuskan untuk berbual kemudian.

Minggu berikutnya saya pergi ke temu ramah pertama, dan kemudian dua pusingan temu ramah lagi. Kemudian mereka menghantar saya cabaran pengekodan.

Melakukan cabaran pengambilan pekerja

Saya tidak dapat berkongsi cabaran yang tepat dengan anda, tetapi saya rasa saya telah melakukan beberapa perkara yang boleh dipelajari.

Pertama sekali, saya menghabiskan lebih banyak masa daripada yang diharapkan. Saya diberi tugas pada akhir minggu dan diberitahu bahawa saya tidak perlu menghabiskan banyak masa untuk melakukannya. Tetapi melakukannya dengan cepat bukanlah pilihan bagi saya. Oleh itu, saya bertanya adakah saya dapat menyampaikannya pada hujung minggu, yang mana mereka baik. Kemudian saya menghabiskan sepanjang hujung minggu untuk mengusahakannya. Saya meneliti setiap baris kod untuk memastikan ia kering, senang dibaca dan bebas dari kemerosotan.

Penyelesaian saya juga mengandungi banyak ujian, walaupun itu bukan sebahagian daripada spesifikasi, dan walaupun saya rasa ujian menulis sangat membosankan.

Akhirnya, saya meminta beberapa rakan sekelas saya sebelumnya dari FAC untuk melihat penyelesaian saya dengan cepat, dan ini juga membantu. Ini mungkin agak licik, tetapi saya bertekad untuk memberikan penyelesaian yang sempurna.

Kemudian, semasa saya berada di seberang meja, saya sering melihat pemohon memberikan penyelesaian dengan kod ceroboh. Jangan buat ini!

Mendapat tawaran

Pada 26 Jun - tepat lima bulan selepas hari pertama saya di Founders and Coders - kami membuat perjanjian, dan saya disewa sebagai pembangun front end.

Ini benar-benar pekerjaan yang luar biasa dalam permulaan dengan orang yang sangat mahir menangani masalah besar di pasaran yang besar. Saya dicabar setiap hari. Oleh itu, saya tidak menyesal sesaat kerana saya menukar kerjaya.

Setelah bekerja di sana selama lebih dari setahun, pengasas bersama saya sebelumnya, Sindre Aarsæther menunjukkan kepada saya prototaip awal Scrimba dan bertanya kepada saya jika saya berminat untuk bergabung dengannya membina syarikat di sekitarnya. Saya langsung menyukai teknologi dan memanfaatkan peluang. Dan saya berhutang untuk benar-benar belajar bagaimana membuat kod dan menjadi pemaju profesional. Tanpa pengalaman itu, saya tidak akan menjadi pengasas bersama Scrimba.

Sejak itu, kami telah mengembangkan platform dari lebih dari 100 ribu pengguna aktif bulanan. Ini adalah perjalanan yang luar biasa, dan setiap hari orang memberitahu kita betapa ia membantu mereka belajar membuat kod.

Sekiranya anda berminat untuk menjadi pemaju React sendiri, sila daftar kursus intro kami di sini kursus lanjutan yang akan datang di sini, dan kami akan melakukan yang terbaik untuk membantu anda.

Semoga berjaya :)