Apa itu pengkodean. Bagaimana dan di mana belajar coding? Bagaimana memilih arah dan bahasa

Dan saya akan menjelaskan alasannya.

Lima belas tahun yang lalu, saya disarankan untuk menjadi seorang programmer karena fakta bahwa saya adalah orang yang introvert dan pemalu, dan juga memiliki pikiran analitis dan sama sekali tidak memiliki kehidupan sosial, tetapi saya hanya tertawa dan memecat penasihat tersebut. Kemudian saya masih remaja, dan dalam pikiran remaja saya programmer selalu tinggal di ruang bawah tanah rumah orang tua saya, berjerawat dan memakai kacamata jelek, dia tidak pernah punya pacar, tetapi fantasi tentang Putri Leia terbayar (dan cukup sering). Cara hidup ini tidak sesuai dengan keinginan saya. Apalagi saat itu saya sudah punya pacar, dan lumayan cantik.

Maju cepat enam tahun: Saya sedang duduk di bandara Budapest membaca buku tentang HTML ...

Enam tahun kemudian, saya dipekerjakan oleh perusahaan start-up Irlandia Utara sebagai generalis. Ya, sepertinya butuh waktu. Tapi berapa tepatnya? Saya tidak bisa mengatakan dengan tepat. Tapi banyak. Mitos 10 ribu jam? Tidak. Jika saya diminta untuk memberikan angka perkiraan, saya akan mengatakan bahwa pada hari itu saya telah "mengkodekan" sekitar 8 ribu jam. Secara teknis, jika aturan 10.000 jam dapat dipercaya, maka dalam 2.000 jam saya akan menjadi ahli di bidang ini.

Tapi akankah saya?

Inilah yang berhasil saya capai dalam 8 ribu jam. Buat diri Anda nyaman karena cerita saya akan panjang. Saya telah membuat kode dalam bahasa berikut: C, HTML, CSS, JavaScript, Java (Android), Swift, PHP, Ruby, Python, Chuck, SQL, bekerja dengan kerangka kerja berikut: Node, Angular, Bootstrap, Foundation, React, Rails , CodeIgniter, Ionic dan telah membuat Halaman Arahan, Situs Wordpress, Solusi E-niaga, Konten eLearning, Situs Moodle dan Totara, Situs Mahara, Paket Cartridge dan SCORM Umum, Aplikasi Android dan iOS, Aplikasi Hybrid, Aplikasi Web Internal, e-book, majalah , permainan, dan aplikasi tambahan untuk permainan papan. Jadi kemana tujuan saya?

Saya ingin mengatakan bahwa tidak ada bidang seperti itu, jadi tugas menjadi ahli di dalamnya tidak mungkin tercapai. Coding bukanlah sebuah area. Ilmu komputer - ya, tapi sama sekali berbeda.

Pengkodean adalah apa yang dilakukan oleh presiden, guru, dan orang tua kepada generasi muda, seolah-olah memimpin domba ke ladang peluang emas.

Janji ini adalah mimpi, propaganda yang dibuat dan diungkapkan dengan sangat baik (sekarang bahkan tidak diungkapkan dengan kata-kata) yang secara tidak masuk akal disederhanakan menjadi gambar sehingga balita merangkak yang lucu akan mengerti bahwa pemikiran logis lebih penting daripada keinginan untuk memberi makan diri sendiri (tolong perhatikan sarkasme) ...

15 tahun kemudian, pengkodean telah menjadi versi pemrograman budaya pop, dan sekarang populasi memiliki harapan besar untuk pasukan pembuat kode masa depan, berkat itu kami akan memiliki rumah yang dikendalikan AI, lalu lintas, ritel, hiburan, dan revolusi dalam kedokteran , industri dan seks - hanya rumah sakit jiwa, tidak ada kata lain. Dan semua karena pemrograman terbuka untuk pengkodean, dan, secara teori, mudah dipelajari... Tapi ini sangat jauh dari kebenaran ...

Sumber: LifeHacker

Mari kita cari tahu. Mitos bahwa siapa pun dapat mempelajari salah satu bahasa pemrograman hanya dalam beberapa jam, dianggap sebagai "fakta", hanya berlaku sampai titik tertentu, dan momen ini datang pada tahap awal pembelajaran. Memang, suatu bahasa dapat dipelajari dalam satu hari. Secara umum, jika Anda menetapkan tujuan untuk menjadi poliglot dalam pemrograman dalam sebulan, sambil memiliki pekerjaan, Anda dapat menguasai 8-10 bahasa jika Anda belajar di akhir pekan. Tapi inilah hasil tangkapannya. Setiap bahasa pemrograman memiliki perpustakaannya sendiri, serta fitur sintaksis, dan semua ini tidak dapat dipelajari dengan mudah atau cepat atau selama akhir pekan. Sebenarnya di dunia nyata, bahasa pemrograman tidak akan menjadi masalah utama.

Hanya karena Anda berbicara bahasa Inggris tidak berarti Anda dapat menulis novel atau bahkan cerita pendek. Hal yang sama dapat dikatakan tentang pengkodean.

Hanya karena Anda telah belajar bahasa tidak berarti Anda tahu cara menulis program. Tambahkan ke berbagai kerangka kerja, plugin, pustaka, praprosesor, pascaprosesor, standar pengkodean, standar industri, pengembangan yang digerakkan oleh tes (TDD), pengembangan yang didorong oleh perilaku (BDD), sistem manajemen konten, versi file, integrasi berkelanjutan (CI), rilis dan penerapan, debugging, tiket, model air terjun - dan metode scrum dan kombinasinya, dan saya tidak yakin harus menyebutkan apa lagi. Intinya adalah bahwa konsep "coder" mencakup hampir semua yang disebutkan di atas. Pemrograman hanya mempengaruhi sebagian kecil. Penting, tapi masih kecil.

Namun, pemrograman terus disederhanakan ...

Apple meluncurkan Playgrounds, MIT meluncurkan Scratch, dan Lego sedang mempersiapkan Boost, dan semua orang mencoba menjual coding kepada generasi yang lebih muda dan lebih muda, seolah-olah mereka ingin mengisi pekerjaan programmer baru di tahun 2020-an.

Saya melihatnya seperti ini: "Jangan khawatir tentang kodenya, ambil potongan puzzle virtual ini dan hanya itu, Anda dapat memprogramnya." Jika itu benar. Inilah yang perlu Anda ketahui tentang pemrograman: berbasis teks. Itu selalu dan akan selama bertahun-tahun yang akan datang. Anak-anak yang bermain Lego Boost, Playgrounds, atau Scratch tidak akan menjadi programmer yang lebih berpengalaman pada usia 22 tahun dibandingkan mereka yang memulai pemrograman pada usia 16 tahun dan bekerja dengan bahasa pemrograman yang sebenarnya. Sebenarnya, dari mana datangnya ekspektasi seperti itu? Saya tidak berpikir bahwa anak saya akan belajar mencari nafkah sendiri sampai dia berusia 22 tahun. Tapi jika dia belajar coding selama 6 tahun, maka saya jamin dia akan cepat mendapatkan pekerjaan.

Taman bermain dari Apple.

Pengkodean dapat menjadi bagian tersulit dari proses pengembangan perangkat lunak. Jika Anda tidak mengatur semuanya dari awal (terutama untuk proyek besar), pengkodean dan debugging setelah itu tidak hanya akan memakan waktu yang sangat lama, tetapi juga akan membawa banyak sakit kepala.

Kode yang baik terpelihara dengan baik, dapat digunakan kembali, dan dapat diuji. Langkah-langkah berikut akan menunjukkan kepada Anda dan / atau tim pengembangan Anda cara menangani tugas pemrograman yang berbeda dan menjaga semuanya sebaik mungkin. Saya akan memperkenalkan Anda pada "praktik terbaik" untuk membantu Anda menulis kode yang baik dan membantu Anda dan tim Anda menjadi bahagia dan efisien.

1. Gunakan standar pengkodean

Sangat mudah untuk menulis kode yang buruk dan tidak teratur, tetapi sulit untuk mempertahankannya. Kode yang baik biasanya mempertahankan semacam standar untuk penamaan variabel, pemformatan, dan banyak lagi. Standar semacam itu berguna karena membuat segala sesuatunya bersyarat bagi mereka yang membaca kode setelahnya, termasuk Anda.

Anda dapat membuat standar pengkodean Anda sendiri, tetapi lebih baik menggunakan standar yang banyak digunakan. Dengan menggunakan Zend Framework Coding Standard, atau PSR-1 Coding Style, akan lebih mudah bagi orang lain untuk beradaptasi.

2. Gunakan komentar

Komentar sangat dibutuhkan. Anda tidak belajar untuk menghargai mereka sampai Anda menulis kode ukuran seribu baris dan meninggalkannya selama beberapa hari, dan kemudian kembali mencoba untuk mencari tahu. Komentar yang berguna membuat hidup lebih mudah bagi mereka yang akan bekerja dengan kode setelah Anda.

Tulis komentar satu baris yang jelas untuk bagian kode yang tidak dapat dipahami; tulis deskripsi lengkap tentang parameter dan fungsionalitas fungsi dan metode; untuk blok logika kompleks, jelaskan logika di depannya sesuai kebutuhan. Jangan lupa untuk memperbarui komentar Anda!

3. Pemfaktoran Ulang

Pemfaktoran ulang kode juga merupakan kebiasaan yang baik bagi pengembang yang produktif. Percaya atau tidak, Anda harus memfaktorkan ulang kode Anda setiap hari, jika tidak, ada yang salah dengannya! Refactoring menjaga kode Anda dalam kondisi yang baik, tetapi apa yang harus Anda refactor dan bagaimana caranya?

Anda harus memfaktorkan ulang semuanya mulai dari arsitektur hingga metode dan fungsi, nama variabel, jumlah argumen yang diteruskan ke metode, dan sejenisnya.

Refactoring lebih merupakan seni daripada sains, tetapi ada beberapa aturan bagus yang dapat menjelaskan hal ini:

  • Jika fungsi atau metode Anda lebih panjang dari 20-25 baris, kemungkinan besar ada terlalu banyak logika di sana, dan Anda dapat membaginya menjadi dua atau lebih fungsi/metode yang lebih kecil.
  • Jika nama fungsi atau metode Anda lebih dari 20 karakter, ada baiknya merevisi namanya, atau merevisi seluruh fungsi / metode menggunakan aturan pertama.
  • Jika Anda memiliki banyak loop bersarang, Anda menggunakan terlalu banyak sumber daya tanpa menyadarinya. Secara umum, Anda harus memikirkan kembali logika Anda jika Anda telah membuat lebih dari dua loop. Tiga loop bersarang sangat buruk!
  • Pertimbangkan apakah ada pola desain yang cocok yang dapat Anda gunakan. Anda tidak boleh menggunakan pola hanya demi menggunakan pola, tetapi pola menawarkan solusi terbukti yang mungkin tepat.

4. Hindari kode global

Global dan loop dapat menambah masalah saat kode Anda bertambah hingga jutaan baris. Mereka mempengaruhi kode di tempat-tempat yang sulit dilihat, atau menyebabkan masalah dengan nama variabel, objek, dan hal lainnya. Pikirkan dua kali sebelum mencemari namespace global dengan variabel, fungsi, loop, dan banyak lagi.

Idealnya, Anda tidak boleh mendefinisikan blok apa pun secara global. Pernyataan switch, try-catch, loop foreach, while loop, dan sejenisnya harus dijelaskan dalam suatu metode atau fungsi. Metode harus dijelaskan di dalam kelas, dan kelas serta fungsi di dalam ruang nama.

5. Gunakan nama yang bermakna

Jangan pernah menggunakan nama seperti $k, $m dan $test untuk variabel Anda. Bagaimana kode seperti itu bisa dibaca di masa depan? Dalam kode yang baik, nama-nama variabel, metode / fungsi, kelas; harus membawa beban semantik. Beberapa nama variabel yang bagus adalah $ request, $ dbResult dan $ tempFile (Tergantung pada gaya pengkodean Anda).

6. Gunakan struktur yang bermakna

Penataan aplikasi Anda adalah penting; jangan gunakan struktur yang rumit, selalu tetap sederhana. Saat memberi nama direktori dan file, gunakan konvensi penamaan yang Anda setujui dengan tim, atau yang mengikuti standar pengkodean. Selalu pisahkan empat bagian aplikasi PHP satu sama lain - CSS, Template HTML, JavaScript, kode PHP - dan untuk masing-masing, coba pisahkan pustaka dari logika bisnis. Ini juga merupakan ide yang baik untuk menjaga hierarki direktori sekecil mungkin, sehingga akan lebih mudah bagi Anda untuk mencari bagian dari kode dan menavigasi struktur.

7. Gunakan sistem kontrol versi

Di masa lalu, tim pengembangan yang baik memercayai CVS. Sekarang, kami memiliki variasi solusi yang tersedia. Manajemen perubahan dan revisi harus sederhana namun efektif, jadi pilih sistem kontrol versi mana pun yang paling sesuai dengan alur tim pengembangan Anda. Saya lebih suka menggunakan sistem kontrol versi terdistribusi seperti Git atau Mercurial; baik gratis / open source dan sangat kuat. Jika Anda tidak tahu apa itu kontrol versi, saya sarankan Anda memeriksa seri Pengantar Git Sean Gudgston.

8. Gunakan alat pembuatan otomatis

9. Gunakan dokumentor kode

Untuk aplikasi besar yang mencakup beberapa kelas dan ruang nama, Anda harus memiliki dokumentasi API yang dibuat secara otomatis. Ini sangat membantu dan semua orang di tim akan tahu apa itu. Dan jika Anda mengerjakan beberapa proyek secara bersamaan, Anda akan menemukan dokumentasi ini sebagai berkah, karena Anda mungkin akan melupakan kekhasan struktur dan perbedaan lain di antara proyek. Salah satu film dokumenter yang mungkin ingin Anda pertimbangkan adalah DocBlox.

10. Gunakan Pengujian

Ada banyak alat yang sangat saya hargai, tetapi satu yang jelas saya hargai adalah kerangka kerja yang membantu mengotomatiskan proses pengujian. Pengujian (yaitu pengujian sistematis) sangat penting untuk setiap bagian dari aplikasi jutaan dolar Anda. Alat pengujian yang baik adalah PHPUnit dan SimpleTest untuk menguji unit Kelas PHP Anda. Untuk pengujian GUI, saya merekomendasikan alat SeleniumHQ.

Hasil

Dalam artikel ini, Anda telah melihat ikhtisar tentang praktik terbaik untuk menulis kode yang lebih baik, mulai dari penggunaan standar pengkodean hingga pemformatan secara keseluruhan, pentingnya pemfaktoran ulang dan cara menguasainya, menggunakan alat profesional seperti kerangka pengujian, dokumentor kode, dan kontrol versi untuk membantu mengelola basis kode. Jika Anda belum mengikuti langkah-langkah ini sejauh ini, Anda harus melatih diri Anda dan tim Anda untuk melakukannya.

Sebagian besar pengembang perangkat lunak gratis bekerja di Linux atau Mac, tetapi dukungan Windows biasanya diterapkan berdasarkan sisa. Ini berfungsi - yah, itu tidak berhasil - biarkan orang yang membutuhkannya melakukan port. Pada artikel ini, saya akan menunjukkan kepada Anda cara membuat executable Windows asli tanpa memiliki sistem ini.

Rilis Python 2.7 terbaru diumumkan tahun ini, setelah itu Python Software Foundation tidak lagi mendukung cabang 2.7. Banyak perpustakaan dan kerangka kerja populer juga menghentikan dukungan resmi untuk Python 2, dan sejumlah distribusi Linux tidak lagi menyertakannya dalam paket default mereka.

Anda mungkin telah menggunakan layanan virustotal.com lebih dari sekali untuk memeriksa apakah binari mengandung fungsi berbahaya, atau untuk menguji perkembangan Anda sendiri. Layanan ini memiliki API gratis, yang akan kita bahas dengan Python di artikel ini.

Setiap peluang untuk mengakses dunia luar tanpa terlihat dari host di dalam jaringan aman adalah penemuan berharga bagi penguji penetrasi. Salah satu jalur terakhir yang tersedia adalah NTP, protokol sinkronisasi jam. Lalu lintasnya diizinkan hampir di mana-mana, jadi ini akan menjadi transportasi data yang sangat baik. Saya akan menunjukkan cara mengimplementasikan klien dan server dasar di C #.

Anda mungkin pernah mendengar bahwa jaringan saraf baru-baru ini menjadi sangat bagus dalam mengenali objek dalam gambar. Tugas kita adalah mempelajari cara menggunakan jaringan saraf ini, karena kekuatannya dapat berguna dalam berbagai kasus. Dalam artikel ini, saya akan menunjukkan cara menggunakannya menggunakan alat yang paling umum: Python dan perpustakaan Tensorflow dan Keras.

Anda mungkin sudah menemukan identifikasi suara. Ini digunakan di bank untuk identifikasi telepon, untuk memverifikasi identitas di titik kontrol dan asisten suara rumah tangga yang dapat mengenali pemiliknya. Apakah Anda tahu cara kerjanya? Saya memutuskan untuk masuk ke detail dan membuat implementasi saya sendiri.

Sebelumnya, captcha dengan angka adalah cara yang bagus untuk menyingkirkan bot, tetapi sekarang jenis ini hampir tidak pernah ditemukan. Saya pikir Anda sendiri menebak apa masalahnya: jaringan saraf telah belajar mengenali captcha seperti itu lebih baik daripada kita. Dalam artikel ini, kita akan melihat cara kerja jaringan saraf dan cara menggunakan Keras dan Tensorflow untuk menerapkan pengenalan digit.

Dua tahun lalu, pengembang platform streaming Twitch memperkenalkan cara baru interaksi antara streamer dan pemirsa - Twitch Extensions. Sistem ini memungkinkan pengembang untuk melengkapi dan meningkatkan antarmuka situs dan aplikasi seluler, menciptakan berbagai elemen interaktif. Saya akan menunjukkan kepada Anda bagaimana ekstensi ini bekerja dan bagaimana Anda dapat membuatnya sendiri jika diinginkan.

Trojan perbankan menyebabkan kerusakan jutaan dolar setiap tahun. Virmakers mencoba untuk menjaga segala sesuatu yang berhubungan dengan masakan internal para bankir dalam kerahasiaan terdalam. Oleh karena itu, kami tidak dapat melewatkan peristiwa unik - mendapatkan kode sumber trojan perbankan Carbanak di publik - dan mulai menyelidiki strukturnya dari dalam.

Julia adalah bahasa pemrograman muda yang dirancang terutama untuk komputasi ilmiah. Penciptanya menginginkannya untuk mengisi ceruk yang sebelumnya ditempati oleh Matlab, klonnya, dan R. Pembuatnya mencoba memecahkan apa yang disebut masalah dua bahasa: menggabungkan kenyamanan R dan Python dan kinerja C. Mari kita lihat apa yang mereka lakukan .

Forth digunakan di berbagai bidang, termasuk chipset PCI dan pesawat ruang angkasa, dan Pavel Durov akan menggunakan bahasa serupa dalam kontrak pintar cryptocurrency TON. Tanpa mengalami perubahan besar, salah satu bahasa pemrograman tertua memungkinkan banyak paradigma modern untuk diwujudkan. Jadi apa sebenarnya Forth yang samar ini?

Mode gamma, berbeda dengan mode penggantian sederhana, memungkinkan enkripsi pesan dengan panjang sewenang-wenang tanpa menggunakan operasi padding. Hari ini kita akan berbicara tentang bagaimana rezim seperti itu diterapkan dan menulis semua fungsi yang diperlukan untuk implementasinya.

Ketika jumlah baris kode dalam program Anda mencapai jutaan, menemukan kesalahan menjadi ribuan kali lipat lebih sulit. Untungnya, hari ini dimungkinkan untuk mengotomatiskan pengujian menggunakan fuzzers. Bagaimana mereka bekerja, mengapa mereka harus digunakan dan apa yang mereka mampu - Anda akan mengetahuinya di artikel hari ini.

Abstraksi adalah dasar dari pemrograman. Kami menggunakan banyak hal tanpa memikirkan internal mereka, dan mereka bekerja dengan baik. Semua orang tahu bahwa program pengguna berinteraksi dengan kernel melalui panggilan sistem, tetapi pernahkah Anda bertanya-tanya bagaimana ini terjadi pada mesin Anda?

Peretas mengembangkan cheat, gamer membelinya, perusahaan mempekerjakan insinyur untuk mengembangkan pertahanan baru. Peretas menemukan celah lagi, dan lingkaran itu selesai. Pada artikel ini kita akan melihat bagaimana metode pertahanan yang berbeda bekerja (dan jika mereka berhasil!) Dan mencoba untuk membuat sistem anti-kecurangan kita sendiri.

Di Linux, seperti yang Anda ketahui, banyak hal diimplementasikan sebagai file di sistem file. Dan jika tidak diimplementasikan, maka Anda dapat mengimplementasikannya sendiri menggunakan FUSE. Di Windows, ini kurang diterima, tetapi jika Anda masih benar-benar ingin memasang sesuatu sebagai sistem file, maka itu mungkin. Saya akan menunjukkan kepada Anda bagaimana mencapai ini menggunakan C # dan perpustakaan Dokan.

Target paling menarik bagi penyerang adalah perbankan online, dan botnet memainkan peran penting dalam keberhasilan serangan virus terhadapnya. Tetapi untuk mengekstrak informasi berharga dari data yang dicegat dengan bantuan mereka, penyerang harus bekerja keras. Hari ini saya akan memberi tahu Anda cara mempersulit bot dan melindungi aplikasi Anda dari serangan.

Hal yang hebat tentang permainan komputer adalah bahwa hadiah untuk kesuksesan adalah kesenangan yang nyata, dan biaya kegagalannya rendah. Tetapi terkadang, untuk membuka kemampuan baru atau hanya mempercepat gameplay, Anda tidak menggunakan metode yang paling jujur. Dan jika Anda tidak dapat mengubah aturan dunia, Anda dapat mencoba membengkokkannya. Ya, itu benar, kita akan berbicara tentang cheat.

Memerangi keylogger dengan banyak fitur dan perlindungan terhadap deteksi dapat menghabiskan biaya puluhan, bahkan ratusan dolar. Tetapi keylogger bukanlah hal yang rumit, dan jika Anda mau, Anda dapat membuatnya sendiri dan bahkan tidak terdeteksi oleh antivirus. Pada artikel ini saya akan menunjukkan kepada Anda bagaimana melakukan ini, dan pada saat yang sama kita akan berlatih mengembangkan program dalam C #.

Dalam C ++, ada yang namanya identifikasi tipe data dinamis (RTTI). Ini adalah mekanisme yang memungkinkan Anda untuk menentukan jenis variabel atau objek saat runtime. Untuk membuat file yang dapat dieksekusi lebih kecil, RTTI dinonaktifkan di banyak proyek, yang membuat dynamic_cast dan typeid berhenti bekerja. Tetapi masih ada cara untuk memeriksa apakah turunan suatu objek diturunkan dari beberapa kelas dasar.

Bahasa yang diketik secara statis biasanya memaksa Anda untuk menulis tipe variabel dengan alasan apa pun. Namun hal ini tidak selalu terjadi: teori dan praktik bahasa pemrograman telah maju secara signifikan, hanya saja pencapaian tersebut tidak serta merta diterima oleh industri. Hari ini kita akan melihat bahasa OCaml dan melihat bahwa pengetikan statis tidak selalu merepotkan.

Ada banyak solusi keamanan yang mendefinisikan pekerjaan di dalam lingkungan sandbox, bekerja dengan teknik anti-debugging, memantau integritas kode mereka, dan mengenkripsi data mereka secara dinamis dalam memori terhadap dump. Teknik keamanan kuat lainnya adalah virtualisasi kode. Pada artikel ini, saya akan menunjukkan cara kerjanya.

Yang terbaik adalah mempelajari bahasa di proyek nyata, jadi ketika saya memutuskan untuk bereksperimen dengan neraka, saya menetapkan sendiri tugas yang nyata dan menarik: untuk menulis utilitas untuk mendeteksi pekerjaan di hypervisor. Ini sendiri lucu, dan bahasa pemrograman baru akan membawa hiburan ke tingkat berikutnya.

Anda telah menemukan protokol yang berbeda dalam hidup Anda lebih dari sekali - Anda menggunakan beberapa, yang lain, mungkin, terbalik. Beberapa mudah dibaca, yang lain tidak dapat ditemukan tanpa hex editor. Pada artikel ini, saya akan menunjukkan cara membuat protokol Anda sendiri yang akan berjalan di atas TCP/IP. Kami akan mengembangkan struktur data kami sendiri dan mengimplementasikan server di C #.

Jika Anda menulis dengan Python, maka Anda mungkin melihat definisi metode yang dibungkus dengan garis bawah ganda di pustaka standar. Metode "ajaib" ini membentuk banyak antarmuka berguna yang Anda gunakan sepanjang waktu — misalnya, saat Anda mendapatkan nilai berdasarkan nomor elemen, atau mencetak sesuatu. Sekarang saya akan menunjukkan kepada Anda bagaimana menggunakan metode ini dalam program Anda juga.

Saat menulis perangkat lunak yang berinteraksi dengan aplikasi lain, terkadang eksekusi proses pihak ketiga perlu dihentikan. Ada beberapa metode yang dapat membantu dalam hal ini: beberapa didokumentasikan dengan baik, yang lain mencoba menyelesaikan proses yang diperlukan dengan cara yang lebih kaku, memprovokasi sistem operasi untuk membantingnya dengan paksa. Saya akan menunjukkan beberapa cara untuk menghentikan dan menghancurkan proses di Windows.

Bahasa, yang dikembangkan atas perintah Departemen Pertahanan AS dan dinamai programmer pertama di dunia Ada Lovelace, secara aktif digunakan untuk mengendalikan pesawat terbang, kereta api, pesawat ruang angkasa, dan hal-hal menarik lainnya. Mari kita lihat bahasa tanpa prisma mitos dan lihat bagaimana kita dapat mengambil manfaat darinya, bahkan jika kita belum pergi ke luar angkasa.

Anda mungkin pernah menemukan emulator konsol game dan, mungkin, bahkan menggunakannya selama lebih dari satu jam. Tapi pernahkah Anda bertanya-tanya bagaimana cara kerjanya? Menggunakan contoh NES, yang dikenal di Rusia sebagai Dendy, saya akan menunjukkan cara membuat emulator Anda sendiri. Dan pada saat yang sama kita akan berurusan dengan arsitektur licik dari konsol ini, yang menghasilkan gambar yang luar biasa bagus untuk zamannya dan harganya yang murah.

Anda mungkin pernah mendengar tentang kelas aplikasi berbahaya seperti pencuri. Tugas mereka adalah mengekstrak data berharga dari sistem korban, pertama-tama, kata sandi. Pada artikel ini, saya akan menjelaskan dengan tepat bagaimana mereka melakukannya, menggunakan contoh mengekstrak kata sandi dari browser Chrome dan Firefox dan menunjukkan contoh kode C++.

Pertanyaan wawancara seperti "mengapa penutup lubang got itu bulat?" - ini aneh. Lembaran kode C yang harus Anda kompilasi di kepala Anda membosankan. Tugas yang paling menarik adalah untuk pemikiran teknis dan logis umum. Dan hari ini rekan-rekan dari perusahaan Abbyy melemparkan kami begitu saja!

Kemampuan memprogram adalah salah satu keterampilan paling berharga yang dibutuhkan di dunia modern. Dan praktis tidak masalah apa sebenarnya yang membuat seseorang membuat kode: minat yang tulus, pertimbangan keuangan atau karier - mereka yang tahu cara memprogram tidak akan dibiarkan diam. Pengkodean sangat mirip dengan berkomunikasi dalam bahasa asing, sehingga pada tahap awal belajar pemrograman, pemula sering mengalami kesulitan. Pada saat yang sama, banyak yang mengalami ketidaknyamanan yang parah, tetapi seiring waktu semuanya menjadi lebih baik dan seseorang mulai membuat kode dengan mudah, tanpa biaya mental yang kuat. Hari ini Anda dapat menemukan banyak buku dan sumber daya online yang dapat digunakan untuk belajar kode, tetapi setiap belajar mandiri dikaitkan dengan stres dan emosi negatif - ini harus selalu diingat ketika mulai menguasai bahasa pemrograman. Hal terpenting bagi seorang pembuat kode pemula adalah jangan menyerah untuk belajar bahasa di tengah jalan, kehilangan minat dalam pekerjaan ini. Jadi apa yang perlu diketahui oleh programmer masa depan? Kesulitan apa yang menunggunya dalam perjalanan untuk menguasai keterampilan yang berguna?

Bahasa pemrograman

Pertama, Anda perlu memutuskan bahasa pemrograman yang ingin dipelajari oleh seorang pemula. Ini tidak mudah - ada banyak bahasa dan masing-masing bagus dengan caranya sendiri. Sangat penting untuk memilih bahasa secara sadar - lagi pula, banyak waktu dan upaya akan diinvestasikan dalam pengembangannya. Tetapi bagaimanapun juga, seorang pembuat kode pemula perlu tahu bahwa tidak ada bahasa pemrograman yang baik atau buruk, tetapi ada bahasa yang ramah bagi orang baru. Oleh karena itu, semakin mudah dan lebih dimengerti bahasa pemrogramannya, semakin baik - di awal jalan lebih baik beralih dari kesuksesan ke kesuksesan, dari tugas sederhana ke tugas yang lebih kompleks. Selanjutnya akan lebih mudah, setelah pemula belajar coding dalam bahasa pemrograman pertamanya, bahasa lain akan diberikan kepadanya dengan lebih mudah.

Juga sangat penting untuk segera menentukan untuk apa Anda perlu mengetahui bahasa tersebut. Karena pengkodeannya sangat berbeda. Jika seseorang ingin menjadi pengembang perangkat lunak, maka Anda dapat melihat ke Java, dan dalam hal membuat aplikasi untuk iOS, bahasa Swift lebih baik.

Metode pengajaran yang cocok

Ada banyak cara untuk belajar, jadi dalam hal bahasa pemrograman, Anda perlu menemukan metodologi yang sesuai. Pada saat yang sama, akan bijaksana untuk memilih metode utama dan melengkapinya dengan metode pengajaran sekunder. Semuanya di sini sangat individual: jika seorang pemula visual atau memahami informasi dengan baik dengan telinga, maka ia dapat belajar coding dengan menonton video di YouTube, dan mendapatkan pengetahuan lain dari buku. Berikut adalah beberapa tutorial sederhana namun efektif:

Kursus pengkodean online. Beberapa orang bekerja lebih efisien ketika mereka diberitahu apa yang harus dilakukan dan kinerja mereka diperiksa secara teratur. Dan ada banyak orang seperti itu. Oleh karena itu, jika seorang pemula merasa bahwa dia memiliki masalah dengan disiplin diri, maka dia harus memilih kursus di mana dia akan terus-menerus termotivasi oleh cek. Itu ide yang bagus - begitu banyak orang berhenti belajar pemrograman, mengandalkan kemauan dan antusiasme mereka. Belajar coding sendiri bukan untuk semua orang, ini harus selalu diingat.

Video Youtube. Hari ini, Anda dapat mengetahui segalanya tentang segalanya hanya dengan menonton video di YouTube. Pembuat kode yang lebih berpengalaman akan menunjukkan kepada Anda apa yang harus dilakukan, jadi materi ini sangat membantu. Ini adalah cara sederhana, efektif, dan yang terpenting gratis untuk mempelajari cara membuat kode. Jika Anda memiliki akses Internet, Anda dapat duduk, menonton, ulangi setidaknya sepanjang hari sampai menjadi jelas.

Buku... Ini adalah cara belajar bahasa pemrograman yang sedikit kuno akhir-akhir ini, tetapi faktanya tetap bahwa selama bertahun-tahun coding tidak banyak berubah dan apa yang diceritakan di YouTube tidak jauh berbeda dengan apa yang dikatakan dalam sebuah makalah. buku. Tetapi buku memiliki kelebihan yang tidak dapat disangkal - buku membuatnya lebih mudah untuk memahami logika bahasa, dan ini sangat penting. Pertama-tama, karena dalam hal pelatihan praktis, tidak ada yang ingin melakukan apa yang tidak dapat dipahami atau tidak mungkin dilakukan. Agar tidak menyerah di tengah jalan, sangat penting untuk membaca buku pemrograman.

Praktik. Banyak programmer terbaik yang belajar secara otodidak. Sangat sering mereka mulai membuat kode tanpa diketahui untuk diri mereka sendiri, karena pelatihan mereka serampangan. Mereka menghadapi masalah, menyelesaikannya, menghadapi yang lain - dan menyelesaikannya juga. Secara bertahap, orang-orang otodidak seperti itu berpindah dari satu masalah ke masalah lain, lebih kompleks dan sekaligus menguasai pengkodean. Tidak patut meniru orang seperti itu, tetapi praktik tidak boleh ditinggalkan - itu adalah kunci keberhasilan dalam belajar.

Memperbaiki kesuksesan

Seorang pemula, yang baru mulai belajar bahasa pemrograman, perlu mengetahui dan bersiap menghadapi kenyataan bahwa ini akan berlangsung lama. Belajar coding adalah proses yang panjang di mana kegagalan lebih terasa daripada kesuksesan. Agar tidak meninggalkan sekolah, sangat penting untuk mencatat semua tindakan Anda. Orang sangat sering kehilangan motivasi hanya karena mereka tidak dapat merasakan kemajuan. Dan dia pasti akan melakukannya jika pemula rajin bertunangan. Hanya saja keterampilannya tumbuh tanpa terasa, pembuat kode pemula mungkin bahkan tidak menyadarinya, dengan langkah kecil seperti itu ia bergerak menuju tujuan yang diinginkan.

Inilah sebabnya mengapa Anda perlu mengingatkan diri sendiri dari waktu ke waktu seberapa jauh Anda telah melangkah dan lebih sering melihat ke belakang. Ini sangat membantu - lagi pula, melihat baris kode pertama mereka, siapa pun dapat memahami bahwa mereka sedang berkembang. Semua hal terbaik pribadi ini mungkin tampak menyenangkan. Tidak, pada kenyataannya, pencatatan keberhasilan sangat penting - ini sangat memotivasi seluruh proses pembelajaran. Oleh karena itu, untuk memulai dan tidak berhenti, sangat penting untuk menandai setiap tahap yang dilalui.

Persyaratan pelatihan yang jelas

Ketika berbicara tentang pengkodean, banyak pemula membuat kesalahan umum - mereka mencoba melakukan banyak tugas sekaligus dan biasanya menyerahkan semuanya sebelum menyelesaikannya. Mereka menjadi tertarik pada sesuatu yang lain, paling sering pada tugas-tugas lain, sehingga mereka melompat dari satu proyek ke proyek lainnya. Jangan lakukan itu. Yang terbaik adalah bergerak secara sistematis - untuk memecahkan satu masalah atau untuk memahami contoh sampai semuanya menjadi jelas. Ini prinsip yang sangat sederhana: satu per satu.

Tetapi pada saat yang sama, Anda perlu memahami bahwa bergerak maju itu perlu, jadi Anda perlu menetapkan tenggat waktu yang ketat untuk mempelajari satu atau lain aspek bahasa. Anda dapat mencoba membayangkan bahwa ujian akan segera datang dan Anda harus menunjukkan semua yang dapat Anda capai. Ini memotivasi. Ya, semua urusan pribadi ini mungkin tidak terlalu nyaman, tetapi pengkodean itu sendiri tidak menyenangkan. Disiplin yang ketat akan memungkinkan Anda untuk memperoleh keterampilan yang diperlukan, dan kepatuhan terhadap tenggat waktu hampir merupakan keterampilan yang paling penting bagi seorang programmer lepas.

Sementara pengguna biasa takut membuat kesalahan dan membencinya ketika terjadi kesalahan, programmer berada dalam posisi yang sama sekali berbeda. Kesalahan adalah bagian dari pekerjaannya, dan bagian yang sangat besar. Oleh karena itu, seorang pembuat kode pemula harus belajar sendiri cara membaca pesan kesalahan, tidak peduli betapa frustasinya itu. Pesan-pesan ini berisi banyak informasi berharga, karena mereka memberi tahu Anda apa yang sebenarnya terlewatkan dalam proses pembuatan kode. Anda perlu bersiap bahwa pesan seperti itu akan sangat sering muncul dan tidak akan kemana-mana bahkan setelah studi bahasa pemrograman selesai. Anda tidak dapat meluangkan waktu untuk memperbaiki kesalahan - ini adalah bagian terpenting dari pembelajaran. Selain itu, ini adalah praktik yang baik - begitu Anda memahami masalahnya, nantinya akan lebih mudah untuk menghindari banyak kesalahan. Pelaporan bug bukanlah hukuman; pada kenyataannya, mereka adalah teman terbaik pembuat kode yang ingin mengajarinya cara melakukan segalanya dengan benar.

Komunikasi dengan programmer lain

Komunikasi seperti itu juga akan membantu untuk memahami bahwa orang lain juga sering mengalami masalah pengkodean dan ini bukan hal yang aneh. Dan jika, sebagai tambahan, seorang pemula dapat membantu temannya, seorang programmer, maka dia akan memiliki angin kedua dan dia akan terus belajar dengan sepenuh hati. Dan Anda tidak perlu takut dengan komunikasi - programmer sebenarnya adalah orang-orang yang ramah, mereka hanya sering berada pada gelombang mereka sendiri dan seorang pemula hanya perlu masuk ke dalam resonansi.

Pendekatan benar dan salah

Pemrogram pemula sering mencoba menyalin potongan kode dari proyek lain, memecahkan masalah mereka. Mereka menganggap ini wajar, karena yang utama adalah membuat semuanya berjalan. Ini adalah pendekatan yang salah, apalagi, sangat berbahaya. Dan bukan karena penyalinan itu buruk, tetapi karena penyalinan, seorang pemula tidak akan mengerti apa sebenarnya yang dilakukan kode ini. Tentu saja, menyalin jauh lebih mudah daripada menulis semuanya sendiri.

Tetapi dalam proses pembelajaran, pendekatan seperti itu akan mengarah pada fakta bahwa kesenjangan besar dalam pengetahuan terbentuk dan seorang pembuat kode pemula suatu hari akan menyerah, tidak dapat menyelesaikan masalah yang dihadapinya. Dan itu akan meninggalkan segalanya. Mempelajari bahasa pemrograman, Anda perlu menghabiskan waktu tanpa penyesalan untuk menganalisis masalah apa pun, bahkan pada pandangan pertama. Dan jika Anda tidak dapat segera menemukan solusi, Anda tidak boleh menyerah. Anda perlu membaca, menonton video, bertanya kepada orang lain - seorang pemula harus benar-benar mengatasi kesulitan yang muncul. Meskipun dia belajar bahasa, itu tidak persis sama dengan belajar bahasa manusia biasa. Seorang pembuat kode berurusan dengan mesin, jadi penting baginya untuk memahami apa yang dia lakukan. Pengetahuan bahasa seperti itu sangat berharga ketika proses pendidikan dipraktikkan.

Mempelajari bahasa pemrograman bukanlah hal yang paling mengasyikkan untuk dilakukan. Tapi semuanya bisa diperbaiki jika Anda mendekati masalah dengan fiksi. Tidak ada cara yang lebih baik untuk belajar apa pun selain dengan bermain game. Ini juga berlaku untuk pengkodean, karena Anda dapat dengan cepat belajar bahasa hanya dengan bermain dan meningkatkan keterampilan Anda secara bersamaan. Berikut adalah beberapa permainan untuk dicoba oleh pembuat kode pemula.

  • CheckiO adalah gim yang dapat Anda mainkan di peramban dan memerlukan pemecahan masalah JavaScript atau Python agar dapat maju melalui gim.
  • CodeMonkey - terutama untuk anak-anak, tetapi jika Anda seorang pemula, Anda dapat mempelajari beberapa kode dengan memainkan game ini.
  • Codewars bukan permainan nyata, melainkan solusi pemecahan masalah kolaboratif untuk programmer. Ini adalah cara yang bagus untuk menguasai pengkodean karena gim ini mendukung banyak bahasa.
  • Code Combat adalah platform online tempat Anda dapat mempelajari cara membuat kode dengan memainkan game nyata.

Ada banyak permainan lain yang dapat Anda gunakan, tergantung mana yang paling cocok untuk Anda dan bahasa yang Anda pelajari. Game ini akan membantu seorang pemula untuk mulai berpikir seperti seorang programmer, yang sangat penting di awal pembelajaran.

Kesimpulan

Beberapa orang belajar coding dengan cepat, yang lain lebih lambat, tetapi siapa pun bisa belajar coding. Dan jangan jatuh ke dalam lebih cepat jika sesuatu tidak berhasil. Anda dapat mencapai tujuan Anda dengan bergerak perlahan, dan memang belajar apa pun adalah proses yang lambat. Jika seorang pemula tidak ingin meninggalkan studi pengkodean, karena hanya menguasai dasar-dasarnya, ia perlu mengembangkan strategi perilakunya sendiri. Anda perlu memahami bahwa waktu, tenaga, dan terkadang uang diinvestasikan dalam pelatihan, jadi Anda hanya perlu berpindah dari satu tahap ke tahap lainnya. Dan jangan menyerah pada kesulitan. Ya, pemrograman bukan untuk semua orang. Tapi siapa pun bisa belajar bahasa, belajar coding. Jadi, Anda hanya perlu memutuskan dan menempuh jalan Anda sendiri.

1. Mandiri

Jika Anda memiliki tekad yang kuat dan ingin menjadi seorang programmer, maka Anda dapat mencapai tujuan Anda melalui pendidikan mandiri. Ini bukan jalan termudah dan terpendek: Anda sendiri harus memahami kekacauan informasi dan melawan penundaan. Tetapi Anda dapat belajar pada waktu yang tepat dengan uang yang relatif sedikit atau benar-benar gratis.

Tempat termudah untuk memulai adalah dengan kursus online interaktif. Ada banyak materi di web yang menjelaskan dasar-dasar pemrograman dan menetapkan arah untuk pengembangan lebih lanjut. Berikan perhatian khusus pada kursus yang mengajarkan contoh proyek nyata, yaitu, mereka memberi tahu Anda langkah demi langkah cara membuat program atau situs web tertentu.

Platform Pengembangan Web FreeCodeCamp

Ingatlah bahwa Anda tidak dapat melakukan apa pun tanpa latihan. Pelajari kursus berorientasi proyek dan coba tulis program dan situs yang dibongkar di dalamnya. Cari kuliah YouTube tentang proyek yang ingin Anda kembangkan. Pertama, salin karya orang lain dan analisis. Kemudian cobalah untuk menjauh dari yang asli, bereksperimen, ubah elemen individual hingga Anda dapat membuat sesuatu yang unik.

Selain kursus dan kuliah video, Anda akan menemukan dokumentasi resmi yang tersedia di situs web bahasa, dan. Saat Anda mendapatkan dasar-dasarnya, cari judul Praktik Terbaik terbaru untuk bahasa pemrograman Anda. Buku-buku ini berisi teknik desain terbaik.

Pastikan untuk menetapkan tujuan bagi diri Anda sendiri untuk membuat proyek Anda dan terus-menerus mengerjakannya.

Ini akan membantu mengkonsolidasikan pengetahuan yang diperoleh dan memahami informasi apa yang masih kurang. Keterampilan Anda akan berkembang seiring dengan proyek. Ketika Anda menyelesaikannya, kerjakan yang baru, yang lebih kompleks.

Jika Anda mengalami kesulitan dalam proses pembelajaran atau pengembangan, Anda selalu dapat beralih ke komunitas pemrograman seperti Toaster dan Stack Overflow untuk pertanyaan apa pun. Misalnya, mereka akan membantu Anda memecahkan masalah, memilih kursus yang bagus, atau menunjukkan kesalahan dalam kode.


Layanan tanya jawab tentang topik teknologi "Pemanggang roti"

Lebih mudah untuk mengasah keterampilan di situs khusus di mana Anda dapat bersaing dengan programmer lain dengan memecahkan berbagai masalah praktis dengan bantuan kode. Layanan ini termasuk Codewars, TopCoder, dan HackerRank.

Jika Anda merasa perkembangan Anda terhenti, atau Anda ingin mempercepat pembelajaran Anda, cobalah opsi berikut.

2. Dengan bantuan seorang mentor

Seorang mentor adalah seorang mentor pribadi yang menunjukkan kesalahan, memperingatkan jebakan, membantu membimbing kursus. Rekomendasi yang berguna, diterima pada waktu yang tepat, dapat menghemat banyak masalah dan menghemat banyak waktu. Karena itu, seorang mentor tidak akan mengganggu siapa pun.

Cari tahu apakah ada pengembang yang Anda kenal. Mungkin salah satu dari mereka ingin membantu Anda. Jika Anda tidak mengenal orang-orang seperti itu, Anda dapat mencari mereka di komunitas pemrograman. Misalnya, pada "Pemanggang Roti" yang sama. Hanya jasa mentoring yang tidak murah, dan tidak ada yang mau menghabiskan banyak waktu dengan orang asing begitu saja.

3. Di guru kursus "langsung"

Kursus jarak jauh dan tatap muka dengan instruktur yang melatih programmer dari awal telah menjadi sangat populer dalam beberapa tahun terakhir. Dalam format ini, Anda juga harus banyak bekerja sendiri. Tetapi Anda akan belajar sesuai dengan program yang disiapkan secara profesional, dan orang sungguhan akan memeriksa solusi masalah. Kerugian dari kursus termasuk biaya pelatihan yang tinggi.

Platform online populer berbahasa Rusia yang terlibat dalam pelatihan sistematis programmer: Netology, GeekBrains, dan Loftschool.

Jika Anda lebih suka belajar secara internal, Anda dapat mencari pusat pendidikan yang mengajarkan pemrograman di wilayah Anda. Sayangnya, pendirian seperti itu paling sering hanya ada di kota-kota besar. Contohnya adalah akademi komputer "STEP", yang memiliki cabang di beberapa negara.

4. Di universitas

Jika Anda memiliki banyak waktu tersisa dan Anda yakin ingin menghubungkan hidup Anda dengan pemrograman, Anda dapat belajar ilmu komputer di universitas. Tetapi perlu diingat bahwa lembaga pendidikan tradisional tertinggal dalam kemajuan, jadi Anda harus menguasai bahasa pemrograman modern dan teknologi lainnya sendiri.

Di sisi lain, universitas akan memberikan pengetahuan dasar matematika, algoritme, dan bidang lain yang akan membantu Anda menjadi programmer berkualitas tinggi. Selama bertahun-tahun belajar dengan rajin, Anda akan mengembangkan pola pikir yang benar, berkat itu Anda akan memahami segala sesuatu dengan cepat di bidang profesional.

Bagaimana memilih arah dan bahasa

Ada beberapa arah dalam industri TI, yang masing-masing menggunakan bahasanya sendiri. Mari daftar arah utama dalam urutan peningkatan kompleksitas:

  1. pengembangan web... Bahasa populer: JavaScript, PHP, Python, Ruby.
  2. Pengembangan seluler... Bahasa populer: Java, Swift.
  3. Pengembangan game dan program untuk komputer desktop... Bahasa populer: C++, C#, C.
  4. Data Besar, pembelajaran mesin... Bahasa populer: Python, R, Scala.

Apa yang harus dicari saat memilih

Untuk membuat pilihan arah yang tepat dan, khususnya, bahasa, pertimbangkan faktor-faktor berikut: kompleksitas penguasaan dan jumlah materi pelatihan di Web, preferensi pribadi Anda (apa yang sebenarnya ingin Anda kembangkan) dan permintaan untuk bahasa di pasar tenaga kerja.


Grafik permintaan bahasa di pasar tenaga kerja internasional / research.hackerrank.com

Permintaan bahasa di wilayah Anda mudah diperiksa di situs pencarian kerja. Buka saja bagian untuk pengembang perangkat lunak dan lihat jumlah lowongan yang tersedia.

Jika Anda tidak dapat memutuskan

Jika Anda bingung, lihat lebih dekat JavaScript - bahasa yang digunakan untuk menulis hampir seluruh web. Banyak organisasi dan programmer menyarankan pemula untuk memilih bahasa ini sebagai bahasa pertama mereka.

Misalnya, Quincy Larson, pendiri sumber pendidikan freeCodeCamp, adalah JavaScript untuk semua pemula. Larson membuat argumen yang sangat sederhana:

  1. JavaScript relatif mudah dipelajari. Dan untuk menulis sesuatu dan menjalankannya dalam bahasa ini, Anda hanya perlu memiliki editor kode dan browser.
  2. JavaScript adalah bahasa yang paling diminati di pasar tenaga kerja internasional dan memiliki prospek yang bagus. Perusahaan besar seperti Google, Microsoft dan Facebook berinvestasi dalam ekosistem JavaScript.
  3. JavaScript memiliki rentang aplikasi yang sangat luas: dari situs web dan game browser hingga aplikasi seluler.

Selain itu, komunitas besar pengembang telah terbentuk di sekitar bahasa ini. Minat yang tinggi pada JavaScript menyediakan sejumlah besar kursus, buku, dan konten pendidikan lainnya.

Apa lagi yang harus diketahui seorang programmer: matematika dan bahasa Inggris?

Setiap programmer akan mendapat manfaat dari pemahaman yang mendalam. Untuk hal-hal seperti grafik game atau data besar, pikiran matematis adalah suatu keharusan. Tetapi untuk pengembangan web dan membuat program sederhana, dalam banyak kasus Anda dapat melakukannya tanpa matematika. Meskipun tidak ada konsensus di antara para profesional tentang hal ini.

Tetapi memahami bahasa Inggris, setidaknya pada tingkat kelancaran membaca dokumentasi, adalah suatu keharusan bagi semua programmer. Dokumen resmi dan sebagian besar materi pendidikan muncul terutama dalam bahasa Inggris. sering ketinggalan zaman bahkan sebelum terjemahannya dirilis. Selain itu, pengetahuan bahasa Inggris membuka prospek untuk bekerja dengan seluruh dunia.

Cara mendapatkan pengalaman pertama dan pekerjaan pertama Anda

Untuk menemukan pekerjaan pertama Anda sebagai programmer, Anda harus memiliki portofolio. Ini adalah proyek yang Anda buat, atau lebih tepatnya beberapa, yang menunjukkan semua keterampilan pengembang Anda. Sebagian besar kursus mencakup pengembangan proyek yang dapat masuk ke dalam portofolio Anda.

Pengalaman kerja, terutama pengembangan tim, akan menjadi item yang sangat berharga dalam resume. Tapi di mana Anda bisa mendapatkannya jika Anda mencari pekerjaan pertama Anda?

  1. Selesaikan beberapa pesanan untuk. Bisa Freelance atau Upwork. Tawarkan layanan Anda secara gratis, maka pelanggan pertama akan datang kepada Anda.
  2. Temukan orang yang berpikiran sama dan buat proyek bersama dengan mereka. Orang-orang bersatu untuk tujuan seperti itu di hampir setiap situs pendidikan di mana ada kursus pemrograman.
  3. Pilih kursus yang dibantu oleh penyelenggara dengan pekerjaan. Misalnya, di GeekBrains, setelah pelatihan, akses magang dari berbagai perusahaan, termasuk yang berbayar, terbuka. GeekUniversity dan STEP menjamin pekerjaan bagi lulusan mereka.

Sebelumnya, jangan lupa untuk mencari Web untuk daftar tugas dan pertanyaan yang sering diajukan kepada pencari kerja.