Perkara yang perlu diketahui oleh pengaturcara tentang komputer. Apa yang anda perlu tahu selain bahasa pengaturcaraan. Tiga peringkat dalam laluan ke profesion

Anda harus memulakan laluan anda ke kerjaya sebagai pengaturcara dengan menjawab soalan, adakah anda memerlukan pengaturcaraan sama sekali? Soalan ini tidak terpakai kepada mereka yang sedang belajar atau pernah belajar dalam kepakaran yang dekat dengan pengaturcaraan. Jika anda lebih baik dalam matematik di sekolah daripada kemanusiaan, jika anda suka menghabiskan banyak masa di komputer, jika anda ingin mempelajari sesuatu yang baru, maka pengaturcaraan adalah untuk anda.

Di mana untuk bermula

Terdapat beberapa pilihan untuk pembangunan acara, akibatnya seseorang menjadi pengaturcara. Yang pertama ialah ibu bapa-pengaturcara yang mengajar anak-anak mereka segala-galanya. Anak-anak ni tak perlu masuk universiti pun. Pilihan kedua ialah profesion pengaturcara yang bergaya. Selepas sekolah, kami terpaksa memilih tempat untuk belajar, dan kami memilih bidang IT yang bergaya, yang kami sukai. Dan pilihan terakhir adalah hobi yang telah berkembang menjadi kerja.

Jika tiada perkara di atas berlaku kepada anda, maka anda mempunyai pilihan empat pilihan:

  • Pendidikan diri. Pilihan ini boleh digunakan sama ada secara bebas atau digabungkan dengan kaedah lain. Internet penuh dengan aplikasi yang membantu anda mempelajari pelbagai bahasa dan teknologi pengaturcaraan. Tetapi ini adalah jalan yang paling sukar untuk pemula.
  • Universiti. Jika anda tamat sekolah dan ingin menjadi seorang programmer, maka pergilah ke universiti. Jika bukan kerana ilmu, maka untuk kerak. Ia boleh menjadi bonus apabila memohon pekerjaan. Walaupun anda juga akan mendapat sedikit pengetahuan. Tetapi jangan lupa untuk mendidik diri sendiri. Memilih universiti harus didekati dengan sangat bertanggungjawab. Kaji program latihan dengan teliti dan pilih universiti teknikal terbaik.
  • Mentor. Ia akan menjadi sangat baik jika anda mencari orang yang bersetuju untuk membantu anda dan menunjukkan anda ke arah yang betul. Dia akan mencadangkan buku dan sumber yang sesuai, menyemak kod anda dan memberi nasihat berguna. Dengan cara ini, kami telah menulis tentang di mana anda boleh mencari mentor. Anda boleh mencari mentor dalam kalangan pengaturcara biasa, di parti dan persidangan IT, di forum dalam talian, dan sebagainya.
  • Kursus amali khusus. Cuba cari kursus di bandar anda yang akan mengajar anda beberapa bahasa pengaturcaraan atau teknologi. Saya terkejut dengan bilangan kursus sedemikian di Kyiv, termasuk yang percuma dan dengan pekerjaan seterusnya.

Bahasa, teknologi dan arah yang hendak dipilih

Apabila anda menjadi seorang pengaturcara, selepas satu atau dua tahun anda akan bebas memilih mana-mana bahasa yang anda suka. Tetapi apabila memilih bahasa pengaturcaraan pertama, seorang pemula harus mempertimbangkan kriteria berikut:

  • Ketersediaan jawatan kosong di pasaran. Matlamat utama laluan ini adalah untuk mencari pekerjaan sebagai pengaturcara. Dan ini sukar dilakukan jika tiada sesiapa yang mencari pembangun dalam bahasa pengaturcaraan anda di pasaran kerja. Semak tapak kerja, lihat siapa yang paling dicari, tulis sedozen bahasa. Dan teruskan ke kriteria seterusnya.
  • Tahap kemasukan rendah. Jika anda perlu berbelanja masa yang lama untuk mempelajari bahasa, ia mungkin tidak menggalakkan anda daripada pengaturcaraan secara umum. Baca tentang bahasa yang anda pilih di atas. Semak literatur yang perlu anda baca untuk mempelajari bahasa ini. Dan pilih yang diterangkan sebagai mudah, atau yang kelihatan mudah kepada anda. Bahasa sedemikian mungkin PHP, Ruby, Python.
  • Keseronokan proses. Jika anda tidak gemar menulis kod dalam bahasa pilihan anda, anda tidak akan menikmati proses, kerja anda atau kehidupan anda. Adakah anda memerlukannya? Buat pilihan yang betul.

Anda juga perlu membuat keputusan tentang arah pengaturcaraan. Mudah alih, desktop, permainan, web, pengaturcaraan peringkat rendah dan sebagainya. Industri yang paling popular dan agak mudah ialah pembangunan untuk pelanggan web, mudah alih dan desktop. Satu bahasa mungkin sesuai untuk setiap arah dan bukan bahasa lain sama sekali. Iaitu, apabila memilih bahasa pengaturcaraan, ia juga bernilai bermula dari faktor ini.

Sama ada cara, pelajari teknologi web. Ini ialah bahasa penanda, gaya dan yang akan menjadikan halaman anda dinamik. Dalam langkah seterusnya, teroka bahasa pelayan(Python, PHP, Ruby dan lain-lain) dan rangka kerja web yang sesuai untuknya. Kaji pangkalan data: hampir setiap kekosongan pengaturcara menyebut perkara ini.

Bagaimana untuk mendapatkan pengalaman awal

Tanpa pengalaman anda tidak akan mendapat pekerjaan. Tanpa kerja anda tidak akan mendapat pengalaman. Lingkaran ganas kehidupan sebenar. Tetapi tidak mengapa, kita akan keluar daripadanya.

Pertama, jangan tunggu sehingga anda membaca setiap buku mengenai bahasa pengaturcaraan pilihan anda. Mula menulis baris pertama kod anda selepas bab kedua buku itu. Selesaikan semua tugasan dari buku, taip semula contoh, fahaminya. Rumitkan contoh dan tugasan daripada buku dengan idea anda sendiri. Buat tugasan anda sendiri untuk bahan yang telah anda bincangkan. Selesaikan masalah ini.

Kedua, anda perlu mencari projek pertama anda. Ini mungkin yang paling banyak pilihan yang sukar, tetapi bekerja. Anda perlu mencari sendiri pesanan, memenuhinya, dan bersusah payah dengan pembayaran. Untuk pemula, ini amat sukar, tetapi kemudian semua pilihan lain akan kelihatan seperti sekeping kek. Projek yang telah siap boleh direkodkan sebagai pengalaman dan ditunjukkan kepada majikan masa depan anda. Projek sebenar adalah tambahan besar pada resume anda.

Jika anda tahu bahasa Inggeris, lebih baik mendaftar di bursa bahasa Inggeris. Pasaran lebih besar di sana. Jika anda tidak tahu bahasa Inggeris, belajarlah. Sementara itu, pertukaran bebas bahasa Rusia tersedia untuk anda. Cari projek kecil yang berada pada atau hanya di atas tahap kemahiran anda. Mohon untuk beberapa dozen pekerjaan ini. Dan bersiaplah untuk menerima lautan penolakan. Tetapi jika satu atau dua permohonan diterima, anda akan mempunyai peluang untuk mendapatkan pengalaman sebenar.

Satu lagi pilihan yang baik untuk mendapatkan pengalaman sebenar ialah sumber terbuka. Projek sedemikian sentiasa memerlukan orang baru, walaupun pemula. Anda boleh mencari pepijat dalam projek atau melihat dalam penjejak pepijat dan mencadangkan kaedah untuk menyelesaikannya. Anda boleh mencari projek sedemikian dengan mudah di GitHub atau . Jangan ragu untuk bertanya soalan di sana.

Pilihan keempat untuk mendapatkan pengalaman ialah membantu rakan pengaturcara. Minta mereka menyerahkan tugasan kecil dan mudah kepada anda. Jika sesuatu tidak berjaya, anda akan sentiasa mempunyai seseorang untuk dihubungi. Dan pada masa yang sama anda akan mengambil bahagian dalam projek sebenar.

Cara terakhir ialah projek anda sendiri, pelbagai hackathon atau bekerja di ruang kerja bersama. Sukar untuk memulakan projek anda sendiri; lebih baik mencari kenalan atau rakan.

Mengapa memilih Python

Mari kita bercakap sedikit lagi tentang memilih bahasa pengaturcaraan pertama anda. Bahasa pertama sepatutnya mudah dan popular di pasaran. Bahasa sebegitu adalah Ular sawa. Saya sangat mengesyorkan memilihnya sebagai bahasa pengaturcaraan pertama anda.

Kod program Python boleh dibaca. Anda tidak perlu menjadi pengaturcara untuk mendapatkan pemahaman asas tentang perkara yang berlaku dalam program. Kerana yang sederhana Sintaks Python anda akan memerlukan lebih sedikit masa untuk menulis program daripada, sebagai contoh, di Jawa. Pangkalan yang besar perpustakaan yang akan menjimatkan banyak usaha, saraf dan masa anda. Python ialah bahasa aras tinggi. Ini bermakna anda tidak perlu terlalu memikirkan tentang sel memori dan perkara yang perlu diletakkan di sana. Python ialah bahasa tujuan umum. Dan ia sangat mudah sehingga kanak-kanak pun boleh mempelajarinya.

Dalam keadilan, adalah wajar menyebut bahasa pengaturcaraan lain. Jawa boleh menjadi pilihan yang baik untuk pemula. Bahasa ini lebih popular daripada Python, tetapi juga sedikit lebih kompleks. Tetapi alat pembangunan jauh lebih baik dibangunkan. Seseorang hanya perlu membandingkan Eclipse dan IDLE. Selepas Java, lebih mudah untuk anda meneruskan kerja dengan bahasa pengaturcaraan peringkat rendah.

PHP- satu lagi sangat bahasa popular. Dan saya fikir ia lebih mudah daripada Python. Sangat mudah untuk mencari mentor atau penyelesaian kepada masalah di forum. Ini kerana terdapat sejumlah besar pengaturcara PHP di dunia. tahap yang berbeza. Tiada import biasa dalam PHP; terdapat banyak pilihan untuk menyelesaikan masalah yang sama. Dan ini merumitkan pembelajaran. Dan PHP direka khusus untuk web.

Bahasa C Dan C# sangat sukar untuk pemula. Ruby - pilihan yang baik sebagai bahasa kedua, tetapi bukan bahasa pertama. JavaScript- bahasa yang sangat mudah, tetapi ia tidak akan mengajar anda sesuatu yang baik. Tetapi tugas bahasa pengaturcaraan pertama masih untuk mengajar anda sesuatu yang betul, untuk menetapkan beberapa jenis logik.

Adakah bahasa Inggeris penting?

Penting! Tak tahu? ajar. Adakah awak tahu? perbaiki. Belajar membaca, menulis, mendengar dan berbahasa Inggeris. Fokus pada kesusasteraan teknikal. Dengar podcast berbahasa Inggeris. Baca buku teks pengaturcaraan bahasa Inggeris.

Apa yang anda perlu tahu selain bahasa pengaturcaraan

Sudah tentu, selain bahasa pengaturcaraan dan bahasa Inggeris, anda perlu tahu sesuatu yang lain. Tetapi apa yang bergantung pada arah yang anda pilih. Seorang pengaturcara web mesti tahu HTML, CSS, JavaScript. Pengaturcara desktop mempelajari API sistem operasi dan pelbagai rangka kerja. Pembangun aplikasi mudah alih mempelajari rangka kerja Android, iOS atau Windows Phone.

Semua orang perlu belajar algoritma. Cuba ambil kursus tentang Coursera atau cari buku tentang algoritma yang sesuai dengan anda. Selain itu, anda perlu mengetahui salah satu pangkalan data, corak pengaturcaraan dan struktur data. Ia juga bernilai menyemak repositori kod. Sekurang-kurangnya dengan satu. Pengetahuan tentang sistem kawalan versi diperlukan. Pilih Git, ia adalah yang paling popular. Anda perlu mengetahui alat yang anda gunakan, sistem pengendalian dan persekitaran pembangunan. Dan kemahiran utama seorang pengaturcara ialah dapat menggunakan Google. Anda tidak akan hidup tanpa ini.

Langkah terakhir

Anda perlu menyediakan resume. Bukan sekadar resume, tetapi . Anda tidak sepatutnya menulis di sana, tetapi anda juga tidak perlu berdiam diri tentang kemahiran anda. Sebaik sahaja anda dijemput ke temuduga, anda mesti bersedia untuknya. Semak bahan yang disenaraikan pada resume anda. Anda mesti yakin dengan pengetahuan anda. Lihat melalui projek yang telah anda kerjakan, fikirkan tentang teknologi yang anda gunakan. Dan ke hadapan - ke masa depan yang cerah dengan profesion baharu sebagai pengaturcara.

mana-mana komputer moden atau telefon bimbit strukturnya adalah peranti yang kompleks sehingga ia tidak dapat berfungsi secara bebas, seperti, katakan, seterika atau enjin pembakaran dalaman. Satu program diperlukan untuk membimbing semua ini.

Pengaturcara mencipta kod yang mengawal komputer dan peranti lain. Kod ini bukan sesuatu yang material, seperti elektronik; sebaliknya, seperti buku yang dicipta oleh seorang penulis, produk aktiviti pengaturcara adalah abstrak (ideal), tidak wujud dalam dunia nyata. Program "dilahirkan" dalam fikiran pencipta mereka (jurutera pengaturcaraan) dan kemudian "hidup" dalam ingatan komputer, yang, sebenarnya, mereka mengawal.

Program yang digunakan oleh pengguna (program tahap tinggi), bukan mengawal komputer itu sendiri, tetapi program lain ( tahap sistem), yang seterusnya boleh mengawal sepertiga ( Level rendah). Akhirnya ini rantaian hierarki akan berakhir di bahagian paling bawah pada beberapa litar perkakasan tertentu (perkakasan), yang terdiri daripada pemproses, memori, peranti input-output dan elemen lain.

Program perantaraan sedemikian dipanggil pemacu (dari pemacu bahasa Inggeris - untuk mengurus), dan kod program yang terletak di bahagian paling bawah dipanggil pengawal (dari kawalan bahasa Inggeris - untuk mengawal, dalam kes ini bahagian tertentu elektronik komputer). Program pada tahap tertinggi dipanggil diterapkan kerana ia melaksanakan tugas tertentu dalam kawasan subjek dan berinteraksi secara langsung dengan pengguna (manusia).

Pada setiap peringkat hierarki sedemikian boleh ada program yang berbeza, ditulis dalam bahasa pengaturcaraan yang berbeza, biasanya oleh pengaturcara yang berbeza. Penciptaan mana-mana kompleks perisian besar tidak melibatkan seorang pengaturcara, tetapi seluruh pasukan. Selalunya beberapa pakar bekerja pada program yang sama sekaligus.

Bagaimanakah komputer dapat memahami program yang ditulis oleh pengaturcara? Apa yang diperlukan untuk ini dan bagaimana seseorang boleh menjadi seorang pengaturcara?

Laluan yang boleh diambil oleh pengaturcara sebagai seorang profesional boleh dibahagikan kepada empat peringkat:

  1. Tahap pengguna.
  2. Pengetahuan asas pengaturcaraan.
  3. Kajian mendalam tentang bahasa pengaturcaraan; bekerja dalam projek komersial sebenar.
  4. Bekerja dalam pasukan pengaturcara pada sistem yang kompleks.

Mari kita lihat ciri-ciri setiap empat peringkat ini.

Tahap pengguna

Pada alaf ketiga asas Literasi komputer dan penggunaan Internet telah menjadi sifat yang sama manusia moden seperti kebolehan menulis dan membaca. Malah ahli humanis yang jauh dari sains tepat menggunakan komputer sebagai salah satu alat utama untuk bekerja dengan maklumat. Pengaturcara tidak terkecuali. Mereka tidak perlu mengetahui semua program di dunia dan boleh menggunakannya. Ini sama seperti cuba membaca semua buku yang ditulis hari ini.

Di sebelah sana, pengaturcara yang baik tidak pernah berhenti pada set yang sempit program standard. Mempunyai ufuk pengguna yang luas, dia sentiasa mencuba alatan perisian baharu, mencari yang alternatif, dan kadangkala penyelesaian bukan standard. Ia adalah tepat pendekatan penyelidikan untuk menyelesaikan masalah dan keinginan untuk memahami proses maklumat yang berlaku dalam komputer yang menggalakkan pengguna biasa buat pengaturcaraan.

Anda boleh memperoleh kemahiran asas komputer dalam kelas sains komputer, dalam kelab ekstrakurikuler, atau dalam kursus khusus. Anda boleh menguasai komputer sendiri, tetapi ia akan mengambil lebih banyak masa.

Sebagai peraturan, pengguna bekerja dengan program yang dijalankan di bawah sistem pengendalian Windows (OS, sistem operasi, kita boleh mengatakan bahawa ini adalah program yang paling penting dalam mana-mana komputer). Terdapat pelbagai jenis sistem pengendalian lain dan jenis komputer lain. Alternatif yang paling popular ialah OSX (MacOS) dan Linux.

Tidak kira apa sebenarnya yang anda buat dalam hidup, anda akan sentiasa memerlukan keupayaan untuk mencari maklumat yang diperlukan di Internet, menggunakan pelbagai perkhidmatan rangkaian- dari E-mel sebelum pembayaran dalam talian. Sudah berlalu apabila untuk menyelesaikan satu masalah tertentu adalah perlu untuk mengkaji jilid kesusasteraan pendidikan dan rujukan. Selain perkhidmatan carian (google.com, yandex.ru), terdapat banyak tapak di Internet yang dibina mengikut jenis soal jawab (yang terbaik untuk pengaturcara ialah stackoverflow.com). Ini adalah revolusioner dan paling banyak kaedah yang berkesan mencari penyelesaian kepada masalah tertentu, menghabiskan masa minimum.

Bahagian singa maklumat terkini di Internet, termasuk pengaturcaraan, diterbitkan dalam bahasa Inggeris. Oleh itu, jika anda ingin mencapai tahap profesional, maka bahasa Inggeris adalah amat penting untuk anda.

Pengetahuan asas pengaturcaraan

Bagaimana untuk memulakan pengaturcaraan?

Cara terbaik ialah mengambil bahagian dalam kumpulan pengaturcara muda di sekolah atau dalam beberapa ekstrakurikuler Pusat Latihan, sebagai stesen untuk juruteknik muda. Mereka tidak memberikan gred seperti di sekolah. Ada masa untuk mencuba, untuk memikirkan sama ada ia patut mengambil pengaturcaraan dengan serius sama sekali. Percayalah, ini adalah aktiviti yang sangat menarik dan menarik dengan sendirinya, walaupun ia bukan untuk semua orang. Dalam satu tahun pengajian intensif dalam kelab atau kursus, anda boleh menguasai secara realistik kurikulum sekolah dalam sains komputer dalam bidang pengaturcaraan. Perlu diingat bahawa sekolah bukan sahaja mengajar asas teori pengaturcaraan menggunakan set tugasan standard sebagai contoh, tetapi juga menyediakan pengetahuan dan kemahiran lain yang berguna untuk pengaturcara: logik, sistem nombor, pembentangan maklumat, bekerja dengan program MS Office.

Bahasa pengaturcaraan yang manakah harus saya pilih?

Jenaka lama berkata: "Pilih bahasa pengaturcaraan yang diamalkan oleh guru terdekat (profesional berpengalaman berwibawa) yang sentiasa boleh membantu dengan nasihat." Petua lain ialah memilih bahasa pengaturcaraan yang anda akan rasa senang menggunakannya. Dan jika Serius, tidak kira bahasa yang anda pilih untuk menguasai asas pengaturcaraan berstruktur. Tugas utama anda pada peringkat ini adalah untuk memahami perkara seperti algoritma, kod, data. Anda mesti boleh bekerja dengan pembolehubah angka dan rentetan, tatasusunan, gelung penggunaan, pengendali bersyarat, subrutin dalam format prosedur atau fungsi, memprogram input dan output data dengan betul. Berdasarkan pilihan demo Peperiksaan Negeri Bersepadu dalam Informatik 2012, utama bahasa pendidikan pengaturcaraan kekal BASIC, Pascal dan C. Anda boleh menambah Python dan Ruby ke senarai ini dengan mudah. Anda tidak memilih satu bahasa pengaturcaraan sekali dan untuk semua. Sebaliknya, pengaturcara yang buruk adalah orang yang hanya mengetahui satu bahasa pengaturcaraan. Lama kelamaan, anda akan menyedari bahawa pelbagai bahasa dan teknologi yang disertakan tidak wujud secara kebetulan. Hakikatnya ialah dalam kehidupan sebenar anda perlu memilih satu atau satu lagi bahasa pengaturcaraan bergantung pada tugas yang ada.

Anda boleh belajar asas pengaturcaraan sendiri.

Dalam kes ini, anda memerlukan bahan pendidikan. Ini boleh menjadi tutorial atau satu set artikel pengenalan dalam bentuk elektronik (tutorial), yang kini terdapat sejumlah besar di Internet, walaupun dalam bahasa Rusia. Untuk program, anda memerlukan pengkompil atau penterjemah untuk bahasa yang anda pilih dan editor kod sumber. Adalah dinasihatkan untuk mempunyai pakej perisian pembangunan dengan persekitaran pembangunan bersepadu (IDE). Ini ialah set program khas yang menggabungkan editor kod yang mudah dan pengkompil atau penterjemah yang disambungkan kepadanya. Pakej yang serupa boleh didapati walaupun untuk komputer yang sangat lama berdasarkan sistem pengendalian MS-DOS.

Jurubahasa ialah program yang menterjemahkan kod program anda bahasa mesin(paling bahasa aras rendah pengaturcaraan; "perkakasan" komputer hanya memahami bahasa pengaturcaraan ini) dan segera melaksanakannya langkah demi langkah (mentafsir). Pengkompil ialah program yang menterjemah (menghimpun) kod program anda ke dalam format boleh laku khas (exe-fail di bawahWindows), sebenarnya, dalam program berasingan, yang kemudian anda boleh jalankan secara bebas walaupun pada komputer lain yang menjalankan sistem pengendalian yang sama atau serasi.

Ia juga perlu diperhatikan bahawa walaupun pengetahuan asas dan kemahiran pengaturcaraan sudah cukup untuk menyelesaikan, walaupun masalah algoritmik yang mendidik, tetapi agak kompleks. Penyertaan dalam olimpiade pengaturcaraan dan pertandingan pembangunan perisian kreatif boleh mengakibatkan faedah tambahan semasa kemasukan ke universiti.

Pengaturcaraan profesional

Antara pengaturcara baru yang menyerap segala yang baru dengan minat dan pakar yang mampu melaksanakan penyelesaian perisian untuk beberapa masalah sebenar, terdapat, seperti yang mereka katakan, jurang. Ini dinyatakan dalam tahap pemahaman proses berterusan kedua-dua penciptaan perisian dan pelaksanaan serta penggunaannya yang seterusnya. Orang yang berjalan akan menguasai jalan. Lambat laun, bilangan jam yang dibelanjakan untuk mempelajari bahan pendidikan dan melihat orang lain serta menulis kod anda sendiri akan menghasilkan perubahan kualitatif dalam pemahaman pakar masa depan. Cara terbaik untuk melakukan ini ialah membangunkan projek perisian anda sendiri. Walaupun secara bukan komersial. Terdapat sejumlah besar projek "terbuka" yang serupa, perpustakaan dan kod sumber di dunia.

Istilah terbuka perisian(Bahasa Inggeris)buka- sumber perisian) menunjukkan status beberapa perisian (perpustakaan komponen, program permohonan), tersedia dalam talian untuk muat turun, kajian dan penggunaan percuma. Program sedemikian, bergantung pada lesen yang dilampirkan padanya, boleh digunakan oleh mana-mana orang atau organisasi dalam samabuka- sumberprojek, dalam sistem komersial, atau diubah suai untuk disesuaikan dengan keperluan tugas tertentu.

Dengan mengerjakan projek sebenar anda, walaupun belum komersial, anda akan memperoleh pengalaman profesional yang sangat penting dengan lebih cepat: belajar menggunakan alat tambahan pengaturcara (debugger, dokumentasi perisian, utiliti sistem, pelbagai tetapan, pelbagai format persembahan data dan modul perpustakaan untuk bekerja dengan mereka), cari rangkaian untuk penyelesaian siap sedia untuk masalah, pilih yang terbaik, berkomunikasi dengan orang lain dari dunia IT. Ia adalah satu perkara untuk menyelesaikan masalah Olimpik teori, dan agak lain untuk mencipta perisian berguna yang mempunyai bidang subjek tertentu.

Dengan bilangan pengaturcara yang ramai hari ini, anda sering dapat bertemu dengan orang yang berbakat belajar sendiri yang secara bebas mencapai puncak profesion tanpa pendidikan tinggi. Sebaliknya, ini, sebagai peraturan, sangat pengkhususan sempit. Setelah mencapai siling tempatannya, orang seperti itu tidak lagi dapat berkembang secara profesional dan bijak kerjaya. Pada tugas pertama yang tidak standard, dia hanya akan menjadi keliru. Keterikatan kepada kedua-dua tempat kerja dan fungsi tertentu adalah tempat yang sangat terdedah dalam aspek sosial.

Itulah sebabnya dalam bidang berintensif pengetahuan seperti IT, pendidikan teknikal yang lebih tinggi memainkan salah satu daripadanya peranan utama. Ia memberi anda perspektif dan keselamatan untuk masa hadapan. Dan sekarang kita tidak bercakap tentang diploma formal sama sekali. Mempunyai asas teori yang luas yang diperoleh di universiti, anda boleh dengan mudah menguasai alat baharu, bahasa pengaturcaraan dan juga keseluruhan paradigma (pengaturcaraan berfungsi, pengaturcaraan logik, OOP, DSL, AI, Pembelajaran Mesin). Ia akan menjadi lebih mudah bagi anda untuk mencari pekerjaan baharu. Alat matematik yang kaya akan memungkinkan untuk menyelesaikan masalah yang kompleks, membuat keputusan yang tidak standard, melihat lebih luas dan lebih jauh, dan akhirnya memimpin orang, mengetuai pasukan daripada beberapa pengaturcara kepada pasukan pembangun multinasional, sebagai arkitek sistem (Arkitek), kanan. pengaturcara (Pembangun Utama), ketua jabatan IT (Ketua Pegawai Maklumat, CIO) atau pengarah eksekutif (Ketua Pegawai Eksekutif, Ketua Pegawai Eksekutif). (SPbSU ITMO)

Bekerja di sebuah syarikat

Satu diploma tidak mencukupi untuk secara automatik mendapat jawatan sebagai programmer di syarikat yang serius. Pertama sekali, HR (Sumber Manusia Inggeris, orang dalam syarikat yang berurusan dengan hal-hal kakitangan pemilihan kakitangan) melihat pengalaman sebenar calon, yang mesti disahkannya semasa temu duga dan semasa pelaksanaan tugas ujian.

Secara konvensional, kedudukan pengaturcara boleh dibahagikan kepada 3 peringkat:

  • permulaan (Pembangun Perisian Junior);
  • purata (Pembangun Perisian Tengah);
  • tinggi (Pembangun Perisian Kanan).

Selain itu, setiap kekosongan menyiratkan pengkhususan dalam bahasa pengaturcaraan dan teknologi tertentu. Yang paling popular dan mendapat permintaan daripada mereka: Java, C/C++, .NET, PHP, Ruby, Python, Flash/Flex. Di samping itu, terdapat penggredan mengikut bidang subjek: pengaturcaraan untuk Web, Pembangunan Perusahaan penyelesaian pengurusan komersial, penciptaan permainan, pengaturcaraan untuk platform mudah alih, peringkat rendah dan pengaturcaraan sistem.

Hanya dalam kes yang sangat jarang anda boleh diupah sebagai pengaturcara junior atau pelatih tanpa pengalaman kerja sebenar. Oleh itu, saya amat mengesyorkan agar anda memulakan kerjaya pengaturcaraan anda pada tahun-tahun akhir universiti anda. Ini boleh menjadi latihan atau kursus percuma di sesetengah syarikat atau pun kerja sambilan. Dengan cara ini, selepas tamat pengajian, anda bukan sahaja akan mempunyai diploma, tetapi juga pengalaman dunia sebenar yang berharga pada resume anda.

Pengetahuan akademik pada abad ke-21 cuba mengikuti perkembangan dunia IT yang pesat berubah. Oleh itu, kedua-dua universiti kami dan asing bekerjasama rapat dengan syarikat pembangunan perisian terbesar. Sebagai contoh, guru MSU terlibat dalam sekolah pemprosesan maklumat, kelas yang telah dianjurkan oleh Yandex selama beberapa tahun. Di satu pihak, syarikat menyediakan kemahiran pembangunan praktikal yang paling maju, sebaliknya, mereka menerima kakitangan yang berkelayakan sebagai graduan fakulti matematik gunaan dan sains komputer.

Kami mengalu-alukan semua pembaca dan calon pengaturcara yang penuh dengan cita-cita dan berusaha untuk mempelajari perkara baharu! Ia tidak keterlaluan untuk mengatakan bahawa pengaturcara sedang dalam permintaan sekarang lebih daripada sebelumnya.

Setiap hari, syarikat yang berkembang maju memerlukan profesional berpengalaman yang fasih dalam pelbagai program dan fasih dalam pelbagai bahasa pengaturcaraan.

Sebagai peraturan, gaji mereka adalah beberapa ribu ringgit sebulan, dan ini jauh dari had. Apa yang perlu anda lakukan untuk menjadi pakar sebenar dalam bidang bahasa pengaturcaraan dan memperoleh wang yang besar? Sekarang kita akan cuba menjawab soalan ini.

Belajar, belajar dan belajar lagi!

Seorang pengaturcara yang dilahirkan mesti menyukai apa yang dia lakukan. Ini bermakna bahawa dia mesti sentiasa berusaha untuk sesuatu yang lebih untuk mendapatkan akses kepada pengetahuan dan peluang yang lebih besar.

Jika anda mengenali Pascal dengan baik dan berpendapat bahawa ini sudah cukup untuk syarikat terkenal memberi perhatian kepada anda, maka anda silap. Walaupun anda tahu salah satu yang paling popular hari ini bahasa JavaScript, maka tiada siapa yang akan bercakap dengan anda.

Apa yang boleh kita katakan tentang pengetahuan beberapa Pascal. Lagipun, jika timbul situasi yang memerlukan pendekatan yang tidak standard untuk menyelesaikan masalah tertentu, maka hanya pengetahuan orang lain. Bahasa moden pengaturcaraan akan membolehkan anda merealisasikan impian anda.

“Jadi, anda perlu mengetahui hampir semua bahasa pengaturcaraan, yang memerlukan banyak masa dan usaha! Adakah terdapat cara untuk mengatasi ini?

Malangnya tidak. Pakar pengaturcaraan sebenar hanya boleh menjadi orang yang berkomunikasi atas dasar nama pertama dengan sesiapa sahaja. bahasa sedia ada dan boleh melaksanakan tugas yang sama menggunakan kaedah yang berbeza.

Pengaturcara sedemikian kini bernilai berat mereka dalam emas, jadi bagi syarikat yang sedang membangun, ia akan menjadi satu kejayaan besar untuk mencari orang sedemikian yang akan dapat menulis kod yang dioptimumkan dalam masa yang sesingkat mungkin dan akan bersedia untuk menghadapi sebarang kemungkinan kegagalan dalam kerjanya.

Memandangkan hakikat bahawa teknologi moden sedang membangun pada kelajuan yang luar biasa, setiap pengaturcara berhadapan dengan permintaan dan keinginan yang lebih besar untuk kerjanya. Jika anda tidak mengikuti rentak semasa, kemungkinan besar impian anda untuk mendapatkan pekerjaan kelas pertama dengan gaji yang besar akan kekal sebagai impian.

Di manakah saya harus bermula?

Perkara pertama yang perlu diberi perhatian ialah cinta untuk pengaturcaraan. Jika anda ingin menjadi seorang pengaturcara yang hebat, maka belajar untuk mencintai apa yang anda lakukan. Perkara kedua yang juga penting ialah ketabahan dan ketahanan tekanan yang baik.

Malah pakar yang paling berkelayakan mungkin menghadapi pepijat yang masih perlu dikenal pasti dan kemudian diperbaiki secepat mungkin. Ini boleh mengambil masa dan saraf yang besar, jadi anda perlu sentiasa bersedia untuk situasi sedemikian.

Dan, sudah tentu, mula mengembangkan bakat anda dengan kursus yang mudah, tetapi pada masa yang sama sangat berkesan. Terdapat banyak daripada mereka, jadi anda boleh memilih yang kelihatan paling berkesan kepada anda.

Jadi, perkara yang akan membantu anda menjadi pengaturcara yang unik dan menjanjikan:
Pilih bahasa pengaturcaraan pertama yang paling menarik minat anda. Ia mungkin mudah, tetapi memahami asasnya akan membantu anda menguasai bahasa lain dengan mudah pada masa hadapan, yang seterusnya, akan menjadi lebih maju.

Ambil kursus sains komputer yang diperlukan, termasuk Coursera dan Udacity. Mereka terkenal dalam kalangan pengaturcaraan dan telah dapat membantu beribu-ribu pemula muda dan bercita-cita tinggi. Semuanya dibentangkan dalam bahasa yang jelas, jadi tidak akan ada kesukaran untuk menguasainya.

Ujian kod. Lebih cepat anda menguasai ini dan mempraktikkannya, lebih mudah untuk memahami asas banyak bahasa pengaturcaraan.

Sentiasa menguji diri anda untuk mengukuhkan bahan baharu. Jangan fikir ini adalah satu pembaziran masa. Pengalaman bertahun-tahun menunjukkan bahawa pengetahuan yang diperoleh tidak selalu mudah dilaksanakan dalam amalan. Ada kemungkinan bahawa dalam proses amalan anda akan menemui cara yang sama sekali berbeza untuk menyelesaikan masalah tertentu, dengan itu menjimatkan banyak masa dan menjadikan kod lebih mudah daripada yang dirancang pada asalnya.

Mula membuat laman web anda. Anda boleh mulakan dengan kod mudah yang akan bertanggungjawab untuk bahagian kecil tapak, dan kemudian anda boleh bekerja dengan cara anda untuk mengatur kerja seluruh pelayan. Ia akan menjadi lebih baik jika anda mengerjakan tugasan ini dalam pasukan pengaturcara seperti anda.

Agihkan tanggungjawab sesama anda dan tentukan tarikh akhir untuk menyelesaikan semua tugasan yang diberikan. Ini akan membolehkan anda bukan sahaja belajar cara bekerja secara harmoni dalam satu pasukan, tetapi juga untuk mempelajari pengalaman berharga antara satu sama lain.

Ambil bahagian secara aktif dalam projek bebas pengaturcara lain dan kongsi dengan mereka pengalaman yang telah anda dapat kumpulkan dalam projek anda sendiri. Awasi kerja mereka dan jangan lupa untuk menyokong mereka dalam masa yang sukar.

Sebagai kesimpulan, saya ingin mengatakan bahawa menjadi seorang pengaturcara tidaklah sesukar yang dilihat pada pandangan pertama. Cinta untuk kerja anda, peningkatan berterusan diri dan kemahiran anda, serta aplikasi yang berjaya dalam amalan - ini adalah asas utama yang diperlukan oleh mana-mana pemula.

Sesetengah orang hanya mengimpikan kehidupan manis seorang pengaturcara yang berjaya, ada yang percaya bahawa tidak semua orang boleh melakukan ini, dan ada yang hanya bermula dari kecil dan kemudian bangkit dengan cepat. Walaupun sesetengah orang akan mengabaikannya, anda akan mengetahui beberapa asasnya.

Dan selepas sebulan anda akan dapat melakukan apa yang orang lain anggap mustahil, jadi jika anda benar-benar penuh keinginan untuk menguasai bahasa pengaturcaraan dan menjadi salah satu daripada pakar terbaik di kawasan ini, maka sudah tiba masanya untuk mengetepikan segala-galanya dan mula mendalaminya!

Bagaimana untuk menjadi seorang pengaturcara? Apa yang anda perlu pelajari? Jawapannya nampak mudah: pergi ke universiti dan mereka akan mengajar anda di sana. Tetapi jika anda bertanya kepada mana-mana pengaturcara, dia akan mengatakan bahawa apa yang mereka ajar di sana, walaupun kadang-kadang ia boleh menjadi menarik, hampir tidak berguna dan mempunyai sedikit persamaan dengan kerja sebenar.

Pengaturcaraan adalah sesuatu seperti celik huruf

Profesion kami adalah salah satu yang paling sukar, tetapi perkara yang paling lucu ialah ia sendiri agak mudah. Malah dipelajari dengan tenang di sekolah. Untuk menulis program yang mudah dalam Pascal, seorang pelajar hanya perlu mengetahui tentang sepuluh operator (dan hanya terdapat lima belas daripadanya) dan beberapa input/output, fungsi matematik dan rentetan.

Pengendali ini seperti huruf abjad, dan fungsi input/output Baca () dan Tulis () adalah seperti perkataan pertama, “ibu” dan “ayah,” yang dengannya seorang kanak-kanak mula memahami dunia.

Namun begitu, sebagaimana ada orang biasa yang boleh membaca dan sekali-sekala menulis sesuatu, dan ada penulis profesional yang menguasai pen, hari ini ada pengguna komputer dan ada pengaturcara. Dan, pada pendapat saya, adalah lebih sukar untuk menjadi seorang pengaturcara daripada seorang penulis. Kami sentiasa mempunyai tarikh akhir yang ketat, kami perlu mengambil kira keperluan pengguna yang berubah-ubah dan mengatasi keupayaan terhad komputer perlahan, anda perlu menjadikan antara muka semudah dan semudah mungkin, mendokumenkan segala-galanya dengan baik supaya pengguna tidak tersesat, dan cuba menyelesaikan segala-galanya tanpa ralat, dan juga berfikir terlebih dahulu tentang bagaimana program itu akan berkembang pada masa hadapan, dan buat supaya senang nak tambah fungsi baharu dan supaya ia boleh difahami dan diramalkan. Pada masa yang sama, program itu sendiri mesti ditulis dalam gaya yang sama, supaya pengaturcara lain boleh memikirkannya selepas anda dan terus bekerja.

Bagi penulis, semuanya jauh lebih mudah. Sebaliknya, mereka juga mengalu-alukannya apabila pengarang mempunyai gaya sendiri, dan plotnya mengelirukan dan tidak dapat diramalkan.

Satu-satunya perkara yang boleh kita bandingkan dengan pengaturcara ialah pencipta siri TV, yang, pada dasarnya, juga menulis program, hanya untuk pelakon. Penulis skrip, seperti kami, bekerja sebagai satu pasukan, mereka juga mempunyai tarikh akhir, keluaran, mereka juga perlu memikirkan selok-belok plot di kepala mereka dan juga meletakkan kemungkinan mengubah plot pada masa hadapan, menambah watak baru atau menghidupkan semula yang lama.

Tetapi terdapat satu perbezaan yang ketara: penulis tidak lagi boleh menulis semula plot episod yang difilemkan. DALAM senario kes terbaik, jika penonton salah faham sesuatu, mereka akan menjelaskannya dalam episod seterusnya.

Kami, pengaturcara, perlu sentiasa kembali kepada kod lama dan mengubah sesuatu di dalamnya. Bayangkan novel tebal yang anda tulis selama sepuluh tahun dan anda perlu menulis semula setiap bab berulang kali, mengubahnya menjadi thriller. Sekarang bayangkan bahawa anda telah berpindah ke projek lain dan kini anda perlu melakukan perkara yang sama dengan teks yang anda tidak pernah lihat sebelum ini, dan ia ditulis oleh beberapa pengarang, setiap daripada mereka mempunyai gaya mereka sendiri, dan selain itu, mereka semua sudah meninggalkan projek itu.

Oleh itu, belajar memprogram adalah agak mudah, tetapi untuk melakukannya secara profesional, anda perlu melakukan kerja besar. Penulis bermula dengan cerpen kecil, secara beransur-ansur menguasai semua peranti gaya, memperkaya ucapan mereka, dan banyak membaca sendiri. Dengan cara yang sama, pengaturcara perlu banyak memprogram dan mengasah kemahiran mereka. Dan sial, ia sangat sukar! Dan sentiasa - selama bertahun-tahun, beberapa dekad - anda perlu menambah baik. Ia adalah maraton yang panjang, penuh dengan duri dan kegembiraan. Monetari atau motivasi lain tidak akan membantu anda - hanya kepentingan anda sendiri dalam perkara itu.

Saya bertemu dengan lelaki yang menghafal pengaturcaraan, malah membaca beberapa buku di kawasan ini dan mula mencari kerja, tetapi pada masa yang sama mereka tidak menulis satu program mereka sendiri. Bolehkah anda bayangkan seorang penulis yang, setelah hampir tidak menguasai literasi dan tidak menulis satu cerita pun, sudah mahu mendapatkan pekerjaan di pejabat editorial? Dia tidak tahu sama ada dia akan menyukai aktiviti ini dan sama ada dia akan dapat mencapai kejayaan, tetapi dia sudah mengira gajinya! Namun begitu, ramai bakal pengaturcara masih mencari kerja. Mereka melaksanakannya dengan teruk, tetapi sentiasa terdapat pelbagai tugas di mana kualiti tinggi tidak begitu penting.

Secara beransur-ansur, pengaturcara membangunkan perbendaharaan kata profesional mereka sendiri. Mereka memanggil proses menulis pengekodan atur cara, dan orang yang entah bagaimana menguasai ini sahaja dipanggil pengekod. Mereka boleh menulis sesuatu untuk anda membuatnya berfungsi, tetapi kemudiannya ia akan menjadi sangat sukar dan tidak menyenangkan untuk menambah baik dan menambah baik program sedemikian; biasanya lebih mudah untuk menulis semula. Pengekod sendiri memanggil diri mereka pembangun, dan dari masa ke masa, setelah mendapat pengalaman, ramai mula memanggil diri mereka jurutera perisian.

Ok, jika pengaturcaraan adalah "seperti literasi," maka apa lagi yang anda perlu tahu dan boleh lakukan untuk menjadi "penulis"?

Secara beransur-ansur, dari pelbagai disiplin, teknologi dan kemahiran, yang umum dan berulang terhablur, yang dalam praktiknya ternyata paling berguna untuk pengaturcara. Malangnya, ini juga tidak tetap. Sebagai contoh, tiga puluh tahun yang lalu, kebanyakan pengaturcara memerlukan pengetahuan tentang elektronik, pemprosesan isyarat dan kod mesin perintah pemproses (pemasang).

Hari ini anda boleh berjaya mengatasi kerja tanpa pengetahuan ini, malah saya terkejut apabila saya pernah bertemu dengan seorang pembangun Kanan yang hanya faham secara samar-samar cara pemproses berfungsi. Tetapi selama tiga puluh tahun ini Internet muncul, dan program menjadi besar dalam saiz dan sangat kompleks. Dan banyak kemahiran dan pengetahuan lain telah ditambah, yang sangat diperlukan pada hari ini: proses pembangunan yang fleksibel, paradigma pengaturcaraan berorientasikan objek dan berfungsi, membina sistem berskala, beban tinggi dan tahan kesalahan, dan anda juga perlu boleh membaca dan bekerja dengan kod lama, gunakan sistem kawalan versi . Anda tidak boleh melakukannya tanpa kemahiran wajib seperti keupayaan untuk mencari di Internet, yang tidak wujud sebelum ini.

Semua ini melangkaui skop pengaturcaraan itu sendiri dan, dengan cara yang baik, memerlukan istilah tersendiri yang berasingan. Secara peribadi, untuk lebih jelas, saya memanggilnya "pengaturcaraan" - ia seperti Kejuruteraan Perisian, tetapi istilah yang lebih luas yang merangkumi perkara yang penting kepada kami: proses pembangunan; keupayaan untuk memprogramkan otak anda untuk, sebagai contoh, "masuk ke dalam aliran"; keupayaan untuk bekerja dalam pasukan atau menulis resume - secara umum, semua yang kita lakukan.

Asas Pengaturcaraan

Saya sangat bertuah kerana hampir sebaik sahaja saya berminat dengan pengaturcaraan, saya membaca buku yang menakjubkan - "Kod Sempurna". Ia menarik perhatian saya bahawa ia bukanlah sebuah buku tentang beberapa bahasa pengaturcaraan atau teknologi, seperti semua perkara lain yang pernah saya temui sebelum ini, tetapi sebuah buku tentang Pengaturcaraan itu sendiri. Ini mungkin buku pertama yang cuba mengisi kekosongan yang ditinggalkan dengan membaca buku teks algoritma, manual teknikal dan dokumentasi.

Dan dia segera bermula dengan metafora yang membantu untuk menyampaikan intipati kerja kami dengan lebih tepat. Anda telah pun mempelajari tentang Metafora Sastera, apabila pengaturcaraan dibandingkan dengan penulisan, tetapi terdapat juga metafora popular yang membandingkan pengaturcaraan dengan membina rumah, atau bahkan mencipta kapal terbang.

Bukan kebetulan bahawa dia memenangi tinjauan "Jika anda boleh kembali ke masa dahulu semasa anda masih seorang pembangun pemula, buku apa tentang pengaturcaraan yang anda nasihatkan untuk dibaca sendiri?"

Kemudian yang lain muncul buku yang bagus tentang pengaturcaraan:

Dan banyak lagi yang layak, tetapi secara umum mereka meliputi kawasan tertentu yang lebih dalam.

Sebenarnya, keseluruhan alkimia pengaturcaraan ini sebenarnya terdiri daripada perkara-perkara seperti yang kita kerjakan sepanjang masa dan perlu difahami:

  • Asas kelengkapan komputer: asas algebra Boolean, perduaan dan sistem nombor enam belas baris.
  • Struktur komputer: pemproses, RAM, timbunan, HDD, kad grafik, bas, peranti (iaitu papan kekunci, tetikus).
  • Penghimpun pemproses dan C - anda juga perlu mengenali mereka sekurang-kurangnya sedikit.
  • Sebenarnya literasi asas: sintaks, cara mengisytiharkan pembolehubah, fungsi, cara menulis pernyataan if bersyarat, keutamaan operator, cara mengatur gelung, cara menerima input daripada pengguna dan cara mengeluarkannya. Pengaturcaraan berstruktur - cara menulis tanpa goto, menggunakan gelung dan rekursi. Ia sangat mudah; lima belas pengendali dipelajari dengan cepat. Hampir semua bahasa pengaturcaraan yang digunakan hari ini diwarisi daripada C (C++, Java, C#, PHP, JavaScript), jadi tidak perlu mempelajarinya semula. Oleh itu, dengan cara ini, tidak penting yang mana antara bahasa ini anda mula belajar.
  • Algoritma: carian linear kekerasan, carian binari, isihan gelembung, isihan pantas, dsb. Anggaran kerumitan algoritma.
  • Struktur data: rentetan, baris gilir, tindanan, senarai terpaut tunggal dan berganda, tatasusunan, dsb.
  • Penguraian, abstraksi dan reka bentuk program: pengaturcaraan berorientasikan objek, SOLID, corak reka bentuk, gambar rajah UML.
  • Asas pengaturcaraan berfungsi: bagaimana untuk menulis tanpa tugasan dan gelung yang merosakkan, bekerja dengan koleksi dalam gaya berfungsi.
  • Pengetahuan tentang platform, perpustakaan, teknologi: Java Core, bekerja dengan fail, bekerja dengan Rangkaian, bekerja dengan tatasusunan, rentetan dan koleksi, bekerja dengan memori dan pengumpulan sampah. Terdapat buku tebal tentang semua ini daripada pencipta teknologi itu sendiri (contohnya, "Java Berkesan").
  • Piawaian dan protokol rangkaian: TCP, UDP, HTTP, HTML, XML, JSON, MIME, RFC.
  • Kebolehan menulis kod bersih: bagaimana untuk menamakan pembolehubah dan kelas dengan betul, cara memformat kod, cara menulis komen dengan betul (lebih tepat, bagaimana untuk tidak menulisnya :-)). Pemahaman datang selepas membaca buku Kod Bersih.
  • Keupayaan untuk bekerja dengan kod: pemfaktoran semula (buku Fowler), kekunci panas IDE untuk pemfaktoran semula, keupayaan untuk membaca dan mengekalkan kod lama.
  • Amalan kejuruteraan: ujian unit, pengaturcaraan yang melampau(XP), penyepaduan berterusan, sistem kawalan versi (Git, SVN).
  • Pengurusan projek dan organisasi proses: Waterfall, Agile, SCRUM, Kanban, penjejak pepijat, anggaran masa untuk sesuatu tugas.
  • Kemahiran insaniah: keupayaan untuk berkomunikasi dengan pelanggan dan bergaul dalam satu pasukan, mengatasi kekurangan motivasi, memilih keutamaan.
  • Pangkalan data: pangkalan data SQL, hubungan, dokumen dan berorientasikan graf, ACID, teorem CAP, pengoptimuman pertanyaan.
  • Sistem pengendalian: Linux, memasang dan mengkonfigurasi program padanya, baris arahan.
  • Penskalaan dan beban yang tinggi, pemantauan, pembalakan, toleransi kesalahan.
  • Kriptografi, perlindungan terhadap serangan.
  • Kebolehgunaan, pengumpulan keperluan.
  • Pengetahuan bahasa Inggeris, kebolehan menulis dokumentasi dengan jelas dan padat.
  • Keupayaan untuk merumuskan soalan dengan betul dan mencari jawapannya secara bebas.
  • Keupayaan untuk belajar dan sentiasa memperbaiki diri.
  • Keupayaan untuk mengajar orang lain, menerangkan dengan jelas dan juga bercakap kepada orang ramai di persidangan...
  • dan pada masa yang sama tidak menjadi gila.

Seperti yang anda lihat, senarai ini boleh diteruskan, tetapi anda mesti memahami perkara utama: pengaturcaraan itu sendiri hanyalah sedikit. Hampir semua kemahiran lain adalah mustahil untuk dipelajari. Anda hanya boleh datang kepada mereka melalui pengalaman yang luas dan pembacaan berterusan buku yang betul yang akan membantu anda memikirkannya semula.

Senarai saya termasuk bahasa berikut:

  1. C++. Dalam bahasa inilah banyak platform yang disenaraikan di bawah ditulis (JVM, CLR, Node dan lain-lain). Ia juga akan memudahkan anda memahami cara melakukan pengoptimuman memori secara manual.
  2. C# atau Java. Tidak, anda tidak perlu mengetahui kedua-duanya sekali gus. Mempelajari salah satu bahasa berorientasikan objek ini sangat serupa dengan mempelajari bahasa lain.
  3. HTML. Saya tidak menganggapnya sebagai salah satu bahasa pengaturcaraan, tetapi yang lain melakukannya, jadi...
  4. CSS. Penting untuk sebarang jenis pembangunan web.
  5. JavaScript. Versi yang lebih moden dan lebih bagus, bukan omong kosong yang kami gunakan 20 tahun lalu. Perhatikan bahawa bahasa itu sendiri tidak banyak berubah dari masa itu hingga sekarang. Kami, iaitu pengaturcara yang menggunakannya, adalah orang yang benar-benar berubah.
  6. SQL. Perlu bekerja dengan pangkalan data hubungan data.
  7. Lisp. Ya, Lisp. Atau, lebih tepat lagi, "salah satu penjelmaan bahasa ini." Clojure, Lisp, Scheme, Nu atau sesuatu yang serupa akan dilakukan. Anda perlu mengetahui bahasa homoiconic dan memahami bagaimana, dengan alatan yang betul, sempadan antara kod dan data hilang.
  8. Smalltalk. Yeah. Dalam apa jua asas GUI, dibina pada perkakasannya sendiri (Windows, macOS, OS/2, X/Windows, Android, iOS dan lain-lain), menggunakan prinsip asas yang sama yang telah dirumuskan dan dilaksanakan dalam Smalltalk pada tahun 60-an.
  9. Ruby atau Python. Anda perlu mengetahui sekurang-kurangnya satu bahasa pengaturcaraan dinamik. Javascript juga sesuai di sini, tetapi hanya jika anda mula-mula mempelajari bahasa itu sendiri, tanpa sebarang model DOM yang boleh memesongkan gambar awal dengan ketara (React, Angular, VueJS - semuanya mengandungi "model DOM" yang sama yang kita bincangkan .) Dengan cara ini, apabila anda memahami Lisp, ia akan menjadi lebih mudah untuk anda memahami JavaScript.
  10. AspekJ. Mempelajari tentang pengaturcaraan berorientasikan aspek akan mengubah sepenuhnya cara anda melihat objek, dan itu adalah perkara yang menarik.
  11. Haskell, ML, Ocaml atau Miranda. Luangkan sedikit masa bahasa berfungsi, di mana tiada objek.
  12. Bash atau zsh atau senario lain cangkerang. Kerana tidak setiap masalah atau tugas dalam pengaturcaraan harus diselesaikan menggunakan aplikasi sepenuhnya.
  13. F#, Scala, Clojure atau mana-mana objek/bahasa pengaturcaraan hibrid berfungsi lain. Kerana sebaik sahaja anda menguasai asas dan menguasai set asas yang disertakan dalam 11 bahasa pengaturcaraan pertama dalam senarai ini, anda akan bersedia untuk sesuatu yang tidak mudah dipelajari.
  14. Swift dan/atau Kotlin. Kedua-duanya adalah jenis bahasa berorientasikan objek dan mempunyai beberapa terbina dalam ciri fungsi. Selepas mempelajarinya, anda akan bersedia untuk bekerja pada aplikasi mudah alih.
  15. x86 atau pemasang ARM. Mengetahui cara membaca bahasa pemasangan akan membolehkan anda menyahpepijat kod tanpa menggunakan kod sumber.

Dan ya, saya benar-benar tahu semua bahasa yang disenaraikan di atas. Dan saya juga mengajar ramai daripada mereka.

Dan tidak, anda tidak perlu mengenali mereka semua untuk menjadi pengaturcara yang cukup cekap. Jika anda hanya ingin menjadi pembangun yang baik, anda perlu mengetahui salah satu bahasa utama (HTML/CSS/Javascript) + bahasa untuk pengaturcaraan backend (selalunya ini ialah C#, Java, Python, Ruby atau NodeJS-Javascript ) + SQL jika anda Anda menggunakan sistem pengurusan pangkalan data hubungan (RDBMS). Ini akan cukup.

Walau bagaimanapun, mempelajari semua bahasa lain adalah apa yang membolehkan anda beralih daripada pengaturcara "biasa" kepada "terkemuka", dan kemudian mencapai tahap maksimum pengetahuan dan kemahiran.


Nishan Pantha, Pakar Kejuruteraan Komputer, Pembangun BahasaUlar sawa

Saya berpegang kepada apa yang dipanggil agnostik bahasa, jadi jika seseorang, di bawah kesakitan hukuman mati, memaksa saya untuk mengarang senarai serupa, maka ia akan kelihatan seperti ini:

1.Python. Oleh kerana ia sangat mudah dan mudah untuk dibuat prototaip, dan juga kerana kewujudan sejumlah besar rangka kerja sumber terbuka kod sumber. Di samping itu, ia patut disebut komuniti yang maju secara meluas.

2. C. Kerana dengan bantuannya anda dapat memahami dengan jelas bagaimana semuanya berfungsi. Bagus untuk tugasan mudah.

3. C++. Juga untuk melaksanakan tugas mudah. Sesuai untuk menggunakan paradigma berorientasikan objek. Di samping itu, ia boleh digunakan untuk beberapa tugas lain.

4. Bash. Pada pandangan pertama, bekerja dengannya boleh menyebabkan kekeliruan dan juga beberapa kesukaran. Walau bagaimanapun, sebaik sahaja anda menguasainya, anda akan menjalankan sebarang proses automasi dengan bantuannya.

5 . Scala. Digunakan sebagai kacukan fungsi dan bahasa imperatif pengaturcaraan. Anda boleh mencipta perkara yang menakjubkan dengannya.

6. Javascript. Paling bahasa yang berkuasa untuk pembangunan web. Secara peribadi, saya suka JS "tulen" (ia patut dipertimbangkan bahawa pembangunan web pastinya bukan perkara saya).

7 . Jawa. Untuk melaksanakan tugas dalam pengaturcaraan berorientasikan objek. Dan untuk menggunakan rangka kerja Spring.

8 . Haskell. Setiap pengaturcara harus mengetahui paradigma pengaturcaraan berfungsi.

9 . PHP. Jika anda perlu melakukan apa-apa yang berkaitan dengan pembangunan web. Pada pendapat saya, bahasa ini pastinya bukan simbol kemudahan dan kesederhanaan.

10. R. Untuk Analisis statistik. Secara peribadi, saya tidak pernah cuba untuk bekerja dengannya, kerana saya lebih baik dengan Python itu sendiri.

11 . HTML. Seperti yang saya katakan, saya biasanya tidak membuat pembangunan web. Walau bagaimanapun, kadangkala di tempat kerja saya dikehendaki menunjukkan apa yang dilakukan di bahagian belakang. Dalam kes ini, pengetahuan tentang HTML adalah satu kemestian.

12 . Penurunan harga. Salah satu bahasa penanda yang paling biasa digunakan. Sebagai peraturan, saya menggunakannya untuk beberapa jenis nota, menulis fail README dan banyak lagi.

13. VimL / vimskrip. Saya pernah menulis skrip menggunakan VimL untuk mencipta pemalam dan konfigurasi tersuai untuk vim. Ini adalah salah satu bahasa skrip yang tidak ramai orang berani bekerjasama.

14.CSS. Menggunakan CSS sekali-sekala tidak akan menjejaskan HTML anda sama sekali.

15. Matlab/ oktaf. Saya telah menggunakannya untuk melakukan pengiraan yang rumit sebelum ini. Walau bagaimanapun, kini saya melakukan semuanya dalam Python terima kasih kepada NumPy.

Esteban Fargas, saya membangunkan aplikasi dan mengambil bahagian dalam pertandingan pengaturcaraan

  1. Jawa: Oracle mungkin membayar universiti anda sedikit untuk meminta anda mempelajari bahasa khusus ini sebagai pengenalan kepada pengaturcaraan berorientasikan objek. Ia juga berguna jika anda ingin menyertai pertandingan pengaturcaraan.
  2. C/ C++: Pada dasarnya, sangat mirip dengan Java di atas. Dengan cara ini, saya masih menganggap kedua-dua bahasa ini sebagai satu.
  3. C#: Bukan bahasa yang buruk, hasil daripada campuran dua bahasa yang disebutkan di atas.
  4. HTML: Ia adalah asas kepada keseluruhan rangkaian. Walau bagaimanapun, ia masih tidak ideal.
  5. CSS: Membolehkan pelbagai perkara kelihatan cantik di Internet. Juga jauh dari ideal.
  6. JavaScript: Membolehkan anda beratur logik untuk Internet.
  7. Ular sawa: Ia juga merupakan idea yang baik untuk mempunyai bahasa pengaturcaraan yang berbeza dan set paradigma untuk menulis bahagian belakang untuk aplikasi. Di samping itu, ia kini merupakan bahasa yang diterima umum untuk teknologi pembelajaran mesin.
  8. Ruby: Satu lagi bahasa yang sangat baik untuk membuat bahagian belakang. Ia tidak akan mengambil banyak masa untuk mengkajinya.
  9. Golang: Ia menggabungkan semua ciri bagus yang terdapat dalam pelbagai bahasa C. Ia hebat. Projek berskala besar boleh disiapkan menggunakan model gandingannya.
  10. Scala: Juga membolehkan anda mencipta perisian profesional yang sangat hebat. Mengenali paradigma berfungsi boleh menjadi sangat menarik dan penuh dengan cabaran yang menarik.
  11. Haskell: Mengkaji paradigma fungsional pada tahap maksimum.
  12. Lisp: Sama seperti Haskell di atas, hanya dalam versi yang lebih luar biasa berdasarkan sintaks yang tidak dapat dibayangkan.
  13. Bash: Adakah ini bahasa atau tidak? Satu cara atau yang lain, adalah bagus untuk menguasainya sebagai salah satu alat yang selesa pemaju.
  14. SQL: Digunakan untuk bekerja dengan pangkalan data.
  15. PHP: Bahasa yang digunakan untuk membuat bahagian belakang pada abad yang lalu.