Sebagai seorang anak, Anastasia Birillo bermimpi menjadi guru bahasa dan sastra Rusia. Hari ini dia adalah seorang peneliti di JetBrains Research, seorang metodologi dan guru di Digital Banana, dan juga seorang pengembang dari startupnya sendiri. "Humanis itu bukan hukuman," klaim Nastya. Pada konferensi bulan November kami, "
Contenting, " ia berbicara tentang cara mempelajari pemrograman sendiri, arah apa yang harus dipilih untuk pengembang pemula, di mana mencari proyek, kesulitan apa yang mungkin ditemui di jalur perokok dan bagaimana mengatasinya.

Di bawah cut - decoding laporannya.
Dua cara pemrograman
Orang sering berpikir bahwa pemrograman itu sangat sulit. Ketika Anda tidak dapat menulis bahkan beberapa baris kode, tampaknya programmer adalah semacam dewa yang melakukan hal-hal yang sangat kompleks. Bahkan, tidak ada yang seperti itu.

Anda dapat datang ke profesi ini dengan dua cara. Jalur klasik cukup standar, melalui pendidikan di universitas teknis. Saya melewatinya, itu keren, keren. Anda punya banyak waktu karena Anda seorang pelajar. Anda masih muda, Anda memiliki banyak kekuatan dan energi. Sekitar - komunitas Anda, Anda selalu dapat mengajukan pertanyaan kepada guru atau teman sekelas. Selain itu, Anda menerima diploma teknis, yang memberi Anda banyak prospek, termasuk yang terkait dengan bekerja di luar negeri.

Tetapi kita akan berbicara tentang cara lain, tentang apa yang disebut "jalan perokok". Ini adalah ketika Anda sudah menerima beberapa ijazah pertama, Anda bekerja di suatu tempat di PR, misalnya, - dan tiba-tiba Anda memiliki keinginan untuk menjadi seorang programmer. Cara ini memiliki beberapa kelemahan. Pertama, Anda punya sedikit waktu, setelah bekerja, Anda duduk untuk membaca buku teks alih-alih pergi ke bar atau menonton film bersama teman-teman. Kedua, kemungkinan besar, Anda tidak akan menerima pendidikan dan Anda tidak akan memiliki ijazah. Tetapi dengan ketekunan, Anda akan mengejutkan teman-teman Anda, Anda akan menjadi "programmer dewa" yang sangat banyak tentang siapa yang mereka pikirkan: "Tuhan, ini sangat sulit." Dan sekarang Anda tahu caranya!

Langkah pertama, kesulitan pertama dan kesuksesan
Masuk ke pemrograman, menurut saya, lebih mudah dari web. Pada awalnya itu bahkan tidak akan pemrograman sama sekali, tetapi Anda bisa mulai dengan tata letak: struktur halaman, warnai menggunakan gaya. Dengan uji tuntas, segera Anda akan bisa mendapatkan uang baik untuk ini, mengumpulkan pesanan secara freelance. Kemudian Anda mempelajari JavaScript, HTML, CSS ... Anda berpikir bahwa Anda sudah memahami segalanya - dan, tentu saja, Anda salah.
Ini adalah kutipan nyata dari VKontakte publik yang cukup populer. Orang-orang berpikir: "Saya menguasai bagian depan, saya seorang programmer web yang sangat keren, sekarang saya harus pergi ke backend." Sebenarnya tidak demikian.

Frontend adalah area yang sangat dingin. Sangat sering orang berpikir bahwa tidak ada yang menarik di sana, Anda hanya perlu duduk dan tata letak halaman. Seperti, bahkan jika saya menguasainya, itu akan menjadi sangat membosankan. Mereka tidak mengerti bahwa ada banyak logika di front-end ini. Anda menerapkan pola pemrograman yang digunakan dalam pengembangan konvensional, memahami algoritma dan struktur data - dan ini cukup sulit.

Setelah JavaScript, HTML, dan CSS, Anda dapat mulai mempelajari kerangka kerja front-end. Setelah 3-4 bulan, Anda sudah dapat menulis aplikasi sederhana dalam Angular atau React. Sebelumnya, melihat banyak kesalahan di konsol, Anda takut: "Ya Tuhan, apa ini ?!" Sekarang Anda melihatnya dengan tenang, Anda mulai mencari di google dan mencari tahu, apa alasannya. Saat menyebut Github, Anda tidak akan kehabisan keringat dingin: Anda tahu bahwa ini adalah kucing yang imut, hal yang cukup nyaman bagi semua programmer. Mungkin Anda sudah terkekeh manis pada seorang teman humaniora yang tiba-tiba juga ingin belajar cara memprogram. Dia tidak berhasil, dia duduk dan tidak mengerti apa yang terjadi padanya. Dan Anda melihat bahwa dia lupa braket di suatu tempat.
Programmer - sebagai seorang seniman
Sekarang Anda telah menguasai pemrograman dengan baik dan dapat pergi ke Rekayasa Perangkat Lunak. Orang-orang yang sama tinggal di sana yang menulis segala macam hal rumit di Jawa, C #, C ++, Python dan sebagainya. Dan ini tidak terlalu sulit: pada saat ini Anda sudah mengerti bahwa seorang programmer seperti seorang seniman. Dia hanya belajar berpikir seperti komputer dan mentransfernya ke kode - dengan aturan ketat tertentu. Seniman tidak memiliki kerangka kerja yang kaku, tetapi mereka dalam pemrograman. Tapi Anda sudah mengerti: pada prinsipnya, tidak begitu sulit, saya bisa mengatasinya.

Bahasa apa untuk memulai
Banyak jalur dan bahasa pemrograman dibuka untuk Anda. Misalnya, Anda bisa mulai dengan Python. Ini adalah bahasa yang cukup sederhana, dibuat untuk tujuan akademis, untuk anak-anak. Jika Anda tahu bahasa Inggris, Anda dapat memahami kode Python, bahkan jika Anda tidak pernah memprogramnya. Servachki ditulis dengan Python - ini adalah logika di semua situs. Dan jika Anda tiba-tiba menemukan bakat untuk matematika dalam diri Anda dan menemukan banyak waktu, Anda dapat pergi ke Ilmu Data paling hype dan mendapatkan 300 ribu per detik di sana. Tetapi ada kesulitan di bidang ini.

Kotlin atau Java lebih sulit dipelajari daripada Python. Ada lebih banyak seluk-beluk dan sintaks yang agak rumit. Tetapi mendapatkan pekerjaan, terutama di awal perjalanan, akan jauh lebih mudah: lowongan Pengembang Java Junior lebih dari lowongan untuk programmer Python pemula. Ada juga banyak peluang. Anda cukup tinggal di Rekayasa Perangkat Lunak sebagai Pengembang Java, Anda dapat pergi ke pengembangan seluler atau menulis layanan yang sama, hanya di Jawa atau Kotlin.

Dan jika Anda melihat banyak kekuatan dalam diri Anda, Anda merasa seperti penguasa alam semesta, kemudian pelajari C ++ atau Rust. Ini adalah cara orang-orang yang magang di Google, menulis aplikasi yang sangat rumit, terus-menerus berbicara tentang beberapa kebocoran memori atau bahwa mereka dapat menembak sendiri. Tetapi jika Anda benar-benar ingin melakukannya, saya yakin Anda tidak akan menyerah apa pun yang Anda bisa - mengapa tidak?

Skala kesejukan

Saya menyebutkan hal itu sebagai Pengembang Java Junior. Di dunia IT, ada yang disebut "skala kesejukan" dari Junior ke Senior. Ketika Anda masih Junior, Anda seperti anak kecil: Anda melihat beberapa kesalahan dan duduk dengan panik, tidak mengerti apa yang sedang terjadi. Anda hanya menangis dan meminta bantuan pahlawan super ini: dia datang dan menyelesaikan masalah Anda, di mana Anda bisa duduk selama beberapa jam atau hari, secara harfiah dalam satu menit. Ini bukan sihir, kemampuan menumpuk dari waktu ke waktu: pengalaman diperoleh dan basis pengetahuan tumbuh.
Apa yang harus dilatih

Sekarang Anda mungkin berpikir: "Saya akan memilih bidang, saya akan belajar Python atau pergi ke web, mendaftar untuk segunung kursus, membaca banyak buku dan menjadi programmer yang keren." Sebenarnya, itu tidak berhasil. Yang paling penting adalah latihan. Saya tidak berbicara tentang proyek sepele yang ditanyakan dalam kursus, dari kategori "hapus 10 angka Fibonacci pertama" atau "tukar dua variabel dalam array." Selesaikan tugas yang sangat menarik, lakukan yang Anda suka.
Tulis versi aplikasi yang Anda gunakan setiap hari, coba saja. Mengapa Adalah satu hal untuk membaca teori: "Ya, enkapsulasi, semacam kata menyeramkan ... well, saya mengerti kira-kira untuk apa ..." Hal lain adalah menghadapi ini dalam praktik: Anda akan segera melihat semua celah yang mungkin tidak cukup nanti, ketika Anda akan mendapat pekerjaan.

Dalam wawancara, kami sering menemukan lelucon yang berbicara tentang buku yang kami baca dan tentang kursus. Anda bertanya: "Apa yang kamu lakukan?" Dia: "Yah, saya memutuskan ada beberapa insinyur proyek pelatihan yang ada di Stepik." Jauh lebih keren untuk berbicara tentang aplikasi saya sendiri: "Saya melakukan arsitektur ini ... saya tidak berhasil, saya mereduksinya, saya mengalami masalah ini dan itu, menyelesaikannya seperti ini dan seperti itu ..." HR melihatnya, dan ini merupakan tambahan yang cukup keren di karma. Saat melamar pekerjaan - ya, mereka melihat pengetahuan secara umum. Tetapi bagi seorang junior penting bahwa ia dapat belajar dan bahwa sebelum ia tidak hanya membaca teorinya, tetapi juga terlibat dalam beberapa jenis latihan.
Di mana mencari proyek

Mencari proyek itu mudah. Misalnya, Anda memutuskan untuk terlibat dalam tata letak. Kita semua duduk di Internet, Anda mungkin memiliki sumber daya favorit - Habr, Picabu, semacam situs web dengan gambar. Anda mengambil situs ini dan melakukan hal yang sama. Ya, itu tidak akan digunakan, tidak ada yang akan membelinya. Tetapi sementara Anda akan terlibat dalam proyek ini, Anda akan menemukan banyak masalah - dan Anda akan belajar bagaimana menyelesaikannya: Anda akan mencoba melakukan sesuatu, pertama itu tidak akan berhasil, dan kemudian Anda akan memperbaikinya.

Jika Anda ingin menulis semacam logika - misalnya, untuk aplikasi web di bagian depan atau di bagian belakang, maka Anda cukup mencari sumber daya yang serupa di Internet dan mengimplementasikannya ... Secara umum, Anda dapat menulis kode untuk apa saja. Temukan tutorial sepele di Internet - cara membuat daftar hal yang harus dilakukan. Inilah yang disarankan banyak orang - daftar pekerjaan yang harus Anda perhatikan. Anda dapat menerapkan beberapa catur yang akan Anda mainkan dengan teman yang juga memutuskan untuk belajar. Anda bahkan dapat berkumpul dan menulis proyek bersama.
Cara melakukan segalanya dan mendapatkan uang untuk hobi

Biasanya saya tidak banyak tidur. Namun secara umum, Anda bisa melukis setiap hari. Jika Anda memiliki daftar hal-hal yang ingin Anda lakukan, maka kemungkinan besar Anda akan melakukannya. Yang utama adalah tenggat waktu yang sulit. Jika Anda berkata, "Saya perlu mengajukan aplikasi pengujian, saya punya dua minggu untuk itu," itu tidak berhasil. Tetapi jika Anda perlu "menghapus aplikasi uji pada 4 Desember," maka Anda akan duduk dan melihat. Saya hanya memulai kalender di komputer saya, meletakkan semuanya untuk diri saya sendiri setiap hari dan mencoba melakukannya. Pada saat yang sama, saya menemukan waktu untuk berjalan bersama teman-teman, menari dan bahasa Inggris.

Ini hanya akan berfungsi jika Anda benar-benar menyukai pekerjaan itu. Rekan saya menjadi pengembang front-end karena dia sangat lelah bekerja di PR. Dia menyadari bahwa dia sangat menyukai tata letak situs, dan dia menghabiskan seluruh waktu luangnya untuk situs itu. Tapi dia menyukainya. Tidak heran mereka berkata: temukan yang Anda suka, dan kemudian Anda tidak akan bekerja sehari. Kedengarannya menyedihkan, tapi itu benar. Saya sangat menyukai apa yang saya lakukan sehingga saya tidak bisa menyebutnya bekerja. Ternyata saya dibayar untuk hobi saya.
Titik masuk: mengapa web lebih baik daripada game
Game juga merupakan titik masuk yang baik. Tetapi Anda perlu melakukan apa yang Anda suka. Sebagai contoh, saya benci game dan tidak bisa menjadi programmer melalui mereka, bahkan jika saya benar-benar menginginkannya. Jika Anda menggunakan Konstruksinya (itu hal yang sangat sederhana untuk membuat game 2D), maka Anda pada dasarnya tidak memprogram. Dan ketika Anda mulai mengeset, Anda masih terbiasa dengan setidaknya beberapa disiplin: Anda melihat tanda kurung ini, Anda membiasakan diri untuk tidak takut menulis kode, dan akan lebih mudah bagi Anda untuk beradaptasi dengan hal-hal yang lebih kompleks. Kemudian Anda melihat dengan tenang potongan kode yang besar: "Ya, baiklah, saya juga menulis itu, tidak apa-apa."
Yang utama jangan takut
- Anda berpikir: βYa, katanya, seolah semuanya mudah. Sebenarnya, ini semua adalah mimpi. β Tidak, tidak mudah - tetapi mungkin. Ketika saya masuk universitas dari sekolah seni liberal, saya adalah yang terburuk di lapangan. Tetapi Anda mencoba, dan bahkan jika Anda tidak berhasil, Anda mencoba lebih jauh. Saya pikir saya tidak akan pernah mengerti semua OOP, grafik, struktur data ini, dan banyak lagi. Tapi sekarang saya bekerja sebagai programmer dan mengajar pemrograman anak-anak. Ini mungkin terdengar menyedihkan, tetapi humanis itu bukan kalimat.

Jika Anda ingin pergi ke IT, yang utama - jangan takut. Anda perlu mengatasi rasa takut, jangan takut untuk menulis kode. Untuk beberapa alasan, semua orang berpikir tentang pemrograman, bahwa ini, sial, sangat, sangat sulit. Bahkan anak-anak yang saya ajar terkadang takut menjalankan program yang mereka tulis sendiri: "Sekarang akan ada kesalahan, semuanya akan jatuh, dan saya tidak akan bisa mengerti apa alasannya." Hal utama adalah mengatasi rasa takut ini. Anda bisa mulai dengan web, itu sangat sederhana. Dan ingat: latihan, latihan dan banyak, banyak latihan. Tidak ada yang akan berhasil tanpanya!
Semua laporan dari "
Contenting " - dan ini adalah informasi bermanfaat selama 16 jam, 26 pidato dan 3 diskusi tentang cara membuat konten keren tentang teknologi dan menggunakan teknologi - ada dalam format video di
sini . Diskon untuk pengguna Habr dengan kode promo habr_online_promo.
Untuk mendukung konferensi, kami berterima kasih kepada sponsor kami: