Manfaat apa yang bisa dipetik setelah mempelajari materi logika dan algoritma?

Di era ketika setiap orang memiliki komputer mini di saku mereka, profesi seorang programmer tidak lagi menjadi keingintahuan dan telah memasuki puncak yang paling populer dan dibayar tinggi. Oleh karena itu, tidak ada yang mengejutkan dalam kenyataan bahwa bagian terbesar dari universitas klasik, dan bahkan lebih teknis, dan bagian penting dari institut berprofil sempit melatih spesialis pengembangan perangkat lunak. Banyaknya tawaran membuat pelamar berpikir tentang universitas mana yang lebih baik untuk belajar sebagai programmer untuk mendapatkan pendidikan yang baik dan tingkat pelatihan yang tepat dan, setelah lulus, memiliki setiap kesempatan untuk mendapatkan pekerjaan di perusahaan besar Rusia atau internasional, karena pemberi kerja memperhatikan ijazah universitas mana yang calon memiliki lowongan.

Daftar universitas

Setidaknya sepertiga dari lebih 800 universitas di negara ini menawarkan untuk belajar menjadi programmer. Secara teoritis, salah satu dari mereka dapat dipilih untuk masuk, karena secara umum pendidikan TI Rusia dihargai di luar negeri dan dengan ijazah domestik dari universitas teknik, lulusan hampir secara otomatis menjadi spesialis yang dicari di mana pun di dunia.

Reputasi institut dan universitas pemrograman dan TI Rusia bukannya tidak berdasar. Menurut platform sosial internasional dari perusahaan Amerika HackerRank, di mana sekitar satu setengah juta programmer yang berlatih dari seluruh dunia diuji secara sukarela setiap tahun, melakukan tugas terapan di 15 area, spesialis TI dari Rusia secara konsisten berada di antara tiga teratas. Mereka menerima 99,5-99,9 dari 100 kredit tim maksimum yang mungkin untuk tugas dalam algoritme, pemrograman dinamis, Big Data, dan disiplin ilmu lainnya (hanya orang Cina yang mendahului mereka).

Ini menunjukkan bahwa setiap lembaga pemrograman Rusia menghasilkan spesialis yang layak. Namun, kekuatan nama merek universitas tidak dapat disangkal. Seperti reputasi pendidikan pada umumnya, reputasi masing-masing universitas tidak berkembang dari nol.

Saat memutuskan universitas mana yang akan mendaftar, Anda dapat mengandalkan pendapat para ahli - lembaga pemeringkat terkemuka secara berkala memperbarui daftar teratas universitas terbaik untuk programmer di Rusia. Lulusan berbakat merekalah yang memajukan industri TI dan menerima gaji tertinggi tepat di awal karir mereka.

Universitas Pemrograman Ahli RA Universitas terbaik untuk programmer di Rusia
Universitas Negeri Moskow Lomonosov 1 Universitas Negeri Moskow Lomonosov 41
MIPT 2 Universitas Negeri St. Petersburg 151-200
NRNU MEPHI 3 MSTU dinamai N.E. Bauman 251-300
Universitas Negeri St. Petersburg 4 MIPT 251-300
NRU HSE 5 251-300
MGIMO 6 Universitas Riset Nasional Teknologi Informasi, Mekanika, dan Optik St. Petersburg 351-400
Universitas Politeknik Tomsk Riset Nasional 7 NRU HSE 351-400
Universitas Negeri Riset Nasional Novosibirsk 8 401-450
MSTU dinamai N.E. Bauman 9
Universitas Politeknik St. Petersburg Peter the Great 10

Sebagian besar universitas top untuk programmer terkonsentrasi di Moskow dan ibu kota Utara, tetapi ada lembaga pendidikan tinggi yang kuat yang melatih spesialis TI dan termasuk dalam peringkat Rusia dan global lainnya yang tidak kalah pentingnya, di sebagian besar wilayah Rusia:

  1. KFU - Kazan FU.
  2. UrFU mereka. B.N. Yeltsin - Universitas Federal Ural.
  3. PGNIU - Universitas Perm.
  4. UN mereka. Lobachevsky - Universitas Negeri Nizhny Novgorod.
  5. NSTU - Universitas Teknik Novosibirsk.
  6. USATU - Universitas Teknik Penerbangan Ufa.
  7. SFU - FU Siberia.
  8. SGTU im. Yu.A. Gagarina - Universitas Teknik Saratov.
  9. OmSTU - Universitas Teknik Omsk.
  10. NSTU im. R.E. Alekseeva.
  11. SAU mereka. S.P. Koroleva - Universitas Dirgantara Samara.
  12. FEFU - FU Timur Jauh.
  13. OSU - Universitas Negeri Orenburg.
  14. VolgGTU - Universitas Teknik Volgograd.
  15. TSU - Universitas Negeri NRU Tomsk.
  16. AltGTU im. II Polzunova - Universitas Teknik Altai.
  17. Universitas Negeri Omsk F.M. Dostoevsky - Universitas Negeri Omsk.
  18. RCTU mereka. D. I. Mendeleev - Universitas Teknologi Kimia.
  19. ASTU - Universitas Teknik Astrakhan.
  20. TulSU - Universitas Negeri Tula.

Petunjuk arah, spesialisasi

Keterampilan pemrograman diperlukan di banyak bidang, sehingga pelatihan pengembang perangkat lunak dan kompleks di universitas dilakukan di beberapa spesialisasi:

  • perangkat lunak matematika dan administrasi sistem informasi;
  • informatika dan teknologi informasi mendasar;
  • informatika dan teknologi komputer.

Ini adalah tiga spesialisasi yang dianggap oleh para profesional sebagai "programmer murni". Siswa dari profil pelatihan ini menerima dasar terbaik dan terdalam untuk mengembangkan (dan ini pasti harus dilakukan sepanjang hidup mereka) kompetensi pengembang teoretis dan praktis, dan kurikulum dibangun sedemikian rupa sehingga seorang programmer lulus dari universitas .

Grup berikut mencakup profil yang lulusannya lebih cenderung menjadi spesialis dalam beberapa arah dengan keterampilan pemrograman:

  • matematika komputasi dan sibernetika;
  • Informatika bisnis;
  • nanoengineering dan banyak profil lain yang lebih spesifik.

Ketika memilih universitas mana yang lebih baik untuk dipelajari sebagai programmer, perlu untuk mempelajari secara rinci bidang pelatihan yang diusulkan. Terlepas dari kenyataan bahwa semuanya melibatkan pembelajaran keterampilan mengembangkan algoritma dan kode komputer, akan ada bias dalam satu atau lain bidang subjek. Secara khusus, jika ada keinginan untuk desain praktis, maka ilmu komputer dan VT lebih mungkin cocok, sebagai pilihan - mekatronik dan robotika. Bagi mereka yang ingin melakukan eksperimen komputasi dan memecahkan masalah penelitian, pilihan terbaik adalah ilmu komputer dasar dan TI.

Aturan masuk

Seperti di lembaga pendidikan tinggi lainnya, universitas untuk mempelajari pemrograman masuk GUNAKAN hasil. Persyaratan untuk satu set item berbeda tergantung pada arah yang dipilih. Jika difokuskan pada desain dan teknik mesin, maka bersama dengan bahasa Rusia dan matematika khusus yang umum untuk semua spesialisasi, hasil ujian dalam fisika akan diperlukan. Untuk masuk ke jurusan pemrograman "murni", Anda memerlukan ilmu komputer dan TIK plus mata pelajaran wajib.

Fitur masuk ke institut untuk programmer adalah bahwa hanya hasil Ujian Negara Terpadu dalam matematika yang diperhitungkan tingkat profil kesulitan. Jadi, jika lulusan sekolah lulus dasar, maka Anda harus melupakan memasuki universitas teknik pada tahun akademik saat ini.

Sebagian besar lembaga pendidikan menyediakan pendidikan di tingkat sarjana dan magister (bagi mereka yang ingin mengabdikan hidup mereka untuk sains - dan di sekolah pascasarjana) dalam format penuh waktu, malam, dan korespondensi. Meskipun dimungkinkan untuk menemukan opsi dengan spesialisasi (termasuk di universitas peringkat).

Warga Federasi Rusia, penduduk asing, dan orang tanpa kewarganegaraan yang tinggal di Rusia dapat memasuki universitas sebagai programmer. Untuk melamar, Anda harus mengirimkan:

  • kartu identitas (asli ditambah duplikat untuk diarsipkan dalam arsip);
  • dokumen rata-rata umum (dalam sarjana dan spesialis) atau lebih tinggi pendidikan kejuruan(untuk masuk ke magistrasi);
  • sertifikat pemenang dan peserta olimpiade atau kompetisi ilmiah (jika ada);
  • formulir aplikasi lengkap yang menunjukkan poin yang dicetak pada ujian;
  • informasi tentang pencapaian individu yang dapat diperhitungkan saat mendaftar (misalnya, lencana emas TRP, dll.).

Masuk ke magistrasi didasarkan pada hasil ujian masuk mereka sendiri.

skor kelulusan

Ini adalah skor total minimum pelamar yang mengambil tempat anggaran terakhir. Setiap tahun, perguruan tinggi mempublikasikan informasi tersebut setelah selesainya seleksi. Untuk meningkatkan peluang penerimaan tahun depan, perlu tidak hanya mencoba mencapai ambang batas yang ditentukan, tetapi juga untuk melampauinya sebanyak mungkin.

Melewati skor universitas terbaik di Rusia dalam pemrograman

Skor kelulusan tinggi dalam arah "Matematika Terapan dan Informatika" di Universitas Negeri Moskow. Lomonosov karena persyaratannya sendiri yang dikenakan universitas pada pelamar. Catatan skor pada Unified State Examination saja tidak cukup untuk pendaftaran - tambahan tes masuk(DWI) oleh matematika khusus. Untuk memasukkan anggaran, Anda harus mendapatkan hasil yang mendekati 100 poin dalam lima ujian:

  • bahasa Rusia (USE);
  • matematika khusus (USE);
  • fisika (GUNAKAN);
  • informatika dan TIK (USE);
  • matematika (DWI).

Untuk memasuki MIPT, Anda juga harus mengatasi ambang batas yang tinggi. Hasil akhir dari calon mahasiswa-programmer universitas terdiri dari USE dalam empat mata pelajaran:

  • matematika;
  • fisika;
  • Bahasa Rusia;
  • informatika dan TIK.

Institusi pendidikan lainnya yang disajikan dalam tabel terbatas pada hasil 3 ujian akhir sekolah (2 wajib, serta fisika atau ilmu komputer sesuai dengan aturan penerimaan).

  • kemenangan atau hadiah di Olimpiade sesuai dengan profil studi masa depan (3-10 poin);
  • kehadiran sertifikat dengan pujian (rata-rata, ditambah 5 poin);
  • lencana TRP emas (tambahan 2-3 poin);
  • nilai untuk menulis (hingga 3 poin) - universitas tempat mereka mengajar untuk menjadi seorang programmer (biasanya ini universitas teknik dan institusi), jarang memperhitungkan kemampuan mengungkapkan pikiran secara indah sebagai pencapaian khusus.

Secara total, tidak lebih dari 10 poin dapat diberikan untuk pencapaian pribadi.

Di mana lulusan bekerja?

Lulusan institut pemrograman yang sukses bernilai emas tidak hanya di Rusia tetapi juga di luar negeri. Mereka akan selalu menemukan tempat di perusahaan mana pun. Posisi yang memungkinkan antara lain:

  • pengembang kode program dan algoritma;
  • karyawan departemen R&D;
  • Administrator sistem;
  • webmaster;
  • Analis sistem;
  • spesialis keamanan informasi;
  • insinyur;
  • desainer dan sejumlah profesi lainnya.

Sifat tugas yang diberikan menentukan jumlah remunerasi. Jika diasumsikan bahwa programmer akan melakukan jenis operasi rutin yang sama, maka gajinya relatif rendah. Spesialis dalam masalah non-standar dihargai jauh lebih tinggi, tetapi tidak semua orang dapat mengatasi fungsi seperti itu.

Salah satu keuntungan dari profesi programmer adalah kemungkinan kerja jarak jauh. Oleh karena itu, situasi tidak jarang terjadi ketika seorang spesialis yang kompeten memutuskan untuk tidak mencari pekerjaan di satu tempat, tetapi lebih memilih untuk mendapatkan penghasilan sesuai dengan skema freelance.

pendapat pribadi

CEO IBM Ginny Rometty mengatakan di Forum Ekonomi Davos bahwa dunia modern pendidikan tinggi kehilangan nilai, dan program pelatihan jangka pendek yang ditujukan untuk perolehan cepat keterampilan profesional yang relevan mendapatkan peran utama, dan menyatakan munculnya kelas pekerja yang secara kondisional dapat disebut kerah baru ("kerah baru").

Kepala IBM percaya bahwa kelompok profesional ini mencakup karyawan berharga dari sektor teknologi tinggi, yang tidak perlu memiliki gelar sarjana atau pendidikan tinggi formal lainnya untuk mendapatkan pekerjaan. Pertama-tama, manajer puncak menghubungkan spesialis komputasi awan ke kategori ini, dan menyebut kursus pendidikan perusahaan sebagai pengganti yang efektif untuk universitas tempat programmer dilatih, antara lain. Rometti juga meminta pemilik perusahaan dan manajer SDM untuk mempertimbangkan kembali pandangan mereka tentang kebijakan rekrutmen dan meninggalkan praktik rekrutmen eksklusif lulusan dari universitas terkemuka secara eksklusif.

Namun demikian, masih banyak yang bergantung pada universitas dalam pengembangan programmer profesional. Spesialis TI di Rusia diajarkan di setiap institusi pendidikan tinggi ketiga. Jika di universitas di kota Anda, spesialis masa depan dalam perangkat lunak dan administrasi sistem informasi menulis makro di Excel di kelas, dan berkenalan dengan database menggunakan Microsoft Access sebagai contoh, masih layak mempertimbangkan opsi untuk memasuki salah satu universitas terbaik untuk programmer.

Programmer adalah spesialis yang mengembangkan algoritme dan program komputer berdasarkan khusus model matematika. Profesi ini menjanjikan dan banyak diminati di seluruh dunia, (nilai tengah). Anda bisa menjadi programmer pada usia berapa pun. Profesi ini cocok untuk pria dan wanita dengan minat dalam pemrograman, matematika, bahasa, serta kemampuan analisis yang baik dan logika yang dikembangkan (ikuti tes jika Anda bisa menjadi programmer). Ada juga perguruan tinggi yang mengajarkan pemrograman, tetapi dimungkinkan untuk belajar sendiri, sebagai aturan, dengan programmer. Ada . Profesi itu memilikinya sendiri. Profesi ini cocok untuk mereka yang tertarik dengan ilmu komputer (lihat memilih profesi untuk minat mata pelajaran sekolah).

Varietas

Dalam pemrograman, tidak hanya keterampilan praktis yang diutamakan, tetapi juga ide-ide dari seorang spesialis. Programmer secara kasar dapat dibagi menjadi tiga kategori tergantung pada spesialisasi mereka:

  1. Pemrogram aplikasi mereka terutama terlibat dalam pengembangan perangkat lunak terapan - game, program akuntansi, editor, pengirim pesan instan, dll. Area pekerjaan mereka juga mencakup pembuatan perangkat lunak untuk sistem pengawasan video dan audio, ACS, sistem pemadam kebakaran atau alarm kebakaran, dll. Juga, tanggung jawab mereka termasuk menyesuaikan program yang ada dengan kebutuhan satu organisasi atau pengguna.
  2. Pemrogram sistem mengembangkan sistem operasi, bekerja dengan jaringan, menulis antarmuka ke berbagai basis data terdistribusi. Spesialis dalam kategori ini termasuk yang paling langka dan bayaran tertinggi. Tugas mereka adalah mengembangkan sistem perangkat lunak (layanan), yang pada gilirannya mengontrol sistem komputasi (yang mencakup prosesor, komunikasi, dan perangkat periferal). Daftar tugas juga mencakup memastikan fungsi dan pengoperasian sistem yang dibuat (driver perangkat, pemuat, dll.).
  3. Pemrogram web juga bekerja dengan jaringan, tetapi, dalam banyak kasus, dengan jaringan global - Internet. Mereka menulis komponen perangkat lunak situs, membuat halaman web dinamis, antarmuka web untuk bekerja dengan database.

Fitur profesi:

Berdasarkan analisis model matematika dan algoritma untuk memecahkan masalah ilmiah, teknis dan produksi, programmer mengembangkan program untuk melakukan pekerjaan komputasi. Menyusun skema komputasi untuk metode pemecahan masalah, menerjemahkan algoritme solusi ke dalam bahasa mesin yang diformalkan. Ini menentukan informasi yang dimasukkan ke dalam mesin, volumenya, metode untuk mengendalikan operasi yang dilakukan oleh mesin, bentuk dan isi dokumen sumber dan hasil perhitungan. Mengembangkan tata letak dan skema untuk memasukkan, memproses, menyimpan, dan mengeluarkan informasi, melakukan pemeriksaan kamera terhadap program.

Mendefinisikan satu set data yang memberikan solusi untuk jumlah maksimum kondisi yang termasuk dalam program ini. Melakukan debugging program yang dikembangkan, menentukan kemungkinan menggunakan program siap pakai yang dikembangkan oleh organisasi lain. Mengembangkan dan mengimplementasikan metode otomatisasi pemrograman, program tipikal dan standar, program pemrograman, penerjemah, bahasa algoritmik masukan.

Melakukan pekerjaan pada penyatuan dan tipifikasi proses komputasi, berpartisipasi dalam pembuatan katalog dan kartu program standar, dalam pengembangan formulir dokumen yang tunduk pada pemrosesan mesin, dalam pekerjaan desain memperluas bidang penerapan teknologi komputer.

Pro dan kontra dari profesi

Kelebihan:

  • pembayaran keuntungan tinggi;
  • permintaan spesialis yang relatif tinggi;
  • terkadang Anda bisa mendapatkan pekerjaan tanpa harus pendidikan yang lebih tinggi;
  • sebagian besar merupakan profesi kreatif.

Minus:

  • Anda sering harus menjelaskan banyak hal yang sama, karena apa yang jelas dan jelas bagi programmer tidak selalu jelas dan jelas bagi pengguna;
  • bekerja dalam mode darurat (kadang-kadang) dalam situasi stres;
  • profesi meninggalkan jejak khusus pada karakter, yang tidak disukai semua orang di sekitarnya.

Tempat kerja

  • perusahaan IT dan studio web;
  • pusat penelitian;
  • organisasi yang termasuk dalam struktur mereka unit staf atau departemen programmer.

Kualitas penting

Pemrograman adalah bidang yang sedang booming, sehingga seorang programmer harus dapat dengan cepat beradaptasi dengan keadaan teknologi saat ini dan terus-menerus mempelajari teknologi baru. Oleh karena itu, kemampuan belajar mandiri merupakan salah satu keterampilan utama yang harus dimiliki seorang programmer. Jika tidak, dalam beberapa tahun, nilainya sebagai spesialis akan jauh lebih rendah.

Kemahiran berbahasa Inggris pada tingkat membaca dokumentasi teknis adalah persyaratan wajib lainnya untuk perwakilan profesi ini. Untuk spesialis seperti itu, kemampuan untuk bekerja dalam tim, dalam proyek besar, dengan alat pengembangan kolektif, dengan sistem keuangan besar (anggaran, perbankan, akuntansi manajemen) sangat penting. Untuk pelamar untuk posisi programmer terkemuka, keterampilan manajemen proyek dan tim, kemandirian, inisiatif, dan kemampuan untuk mengambil tanggung jawab pribadi untuk tugas yang diinginkan.

Pelatihan pemrograman

Akademi Komputer LANGKAH - Pendidikan IT sebagaimana mestinya. Sejak 1999, mereka adalah desainer dan insinyur sistem yang tidak dapat digantikan oleh kecerdasan buatan. Untuk melakukan ini, selain pengetahuan khusus yang mendalam, mereka diajarkan untuk memahami tugas, berpikir dalam proyek yang sudah jadi, dan bekerja dalam tim. Dan mereka melakukan segalanya sehingga lulusan Akademi STEP segera dipekerjakan setelah mempertahankan diploma mereka.

Pada kursus ini, Anda bisa mendapatkan profesi programmer jarak jauh dalam 1-3 bulan. Ijazah pelatihan ulang profesional standar yang ditetapkan oleh negara. Benar-benar pembelajaran jarak jauh. terbesar lembaga pendidikan tambahan prof. pendidikan di Rusia.

Pengembang web profesi dari 0 hingga PRO. Dalam 115 jam, Anda dapat mempelajari cara membuat situs web dan toko online, dapatkan 120 ribu rubel sebulan untuk ini. Setelah menyelesaikan pelatihan - pekerjaan dijamin. Keuntungan: akses permanen ke kursus, 3 spesialisasi di pintu keluar, jadwal kelas yang fleksibel dan bebas, bekerja dengan mentor pribadi, pekerjaan dijamin oleh dokumen.

universitas

Gaji

Seorang programmer adalah salah satu profesi yang paling menuntut dan dibayar tinggi di Rusia. Bahkan spesialis yang paling mahir pun tidak dapat menemukan pekerjaan sesuai dengan tingkat pengetahuannya, dan kemudian secara bertahap belajar dan mendapatkan pengalaman. Gaji magang adalah sekitar $1000. Seorang programmer penuh waktu di perusahaan tingkat menengah (bukan TI) menerima hingga $ 1500-1800, sedikit lebih banyak - dalam organisasi yang terkait dengan pengembangan perangkat lunak massal. Gaji programmer terkemuka adalah $2500-3000. Langkah selanjutnya adalah kepala departemen TI. Untuk pengetahuan yang diperlukan ditambahkan pengalaman kerja wajib, kepemilikan bahasa asing, keterampilan dalam manajemen personalia, dll., dan penghasilan bisa mencapai $4,000. Seorang programmer yang baik dapat memimpin proyek pengembangan perangkat lunak yang besar, menghasilkan $5.000 atau lebih.

Gaji per 29/01/2020

Rusia 40000—150000

Moskow 50000—180000

Langkah dan prospek karir

Bergabung dengan sekelompok programmer sambil mengembangkan proyek bisa menjadi awal karir yang baik. Proyek besar sering menarik perhatian perusahaan Barat, yang "mengalahkan" programmer Rusia. Misalnya, ketika sekelompok ilmuwan muda kami mengembangkan prosesor Elbrus untuk Kementerian Pertahanan, tetapi sebagai hasilnya, mereka semua dibeli oleh Intel Corporation, dan sekarang ilmuwan dan pemrogram kami bekerja di luar negeri, dan proyek Elbrus itu sendiri perlahan-lahan ditutup. Masalah "brain drain" dalam profesi ini adalah salah satu yang paling akut.

Seorang programmer dapat berkarir hingga menjadi kepala sekelompok programmer (team leader), direktur IT suatu perusahaan, manajer proyek IT, dll. Dalam perjalanan kerja, seorang programmer dapat bergerak dalam kerangka spesialisasinya, meningkat secara profesional.

Programmer terkenal dan hebat

  • Cambuk Donald Erwin
  • Matsumoto Yukihiro
  • Tanenbaum Andrew
  • Raymond Eric Steven
  • Fowler Martin
  • Rahmat Hopper
  • Stallman Richard Matthew
  • Kay Alan
  • Benih Meyer
  • Stroustrup Bjorn

Munculnya pemrograman sebagai sebuah pekerjaan dan, khususnya, sebagai aktivitas profesional sulit untuk diketahui secara pasti.

Perangkat yang dapat diprogram pertama sering dianggap sebagai alat tenun jacquard, dibuat pada tahun 1804 oleh Joseph Marie Jacquard, yang merevolusi industri tenun dengan memungkinkan untuk memprogram pola pada kain menggunakan kartu berlubang.

Perangkat komputasi pertama yang dapat diprogram, Analytical Engine, dikembangkan oleh Charles Babbage (tetapi tidak dapat membuatnya). 19 Juli 1843 Countess Ada Augusta Lovelace, putri agung penyair Inggris George Byron dianggap telah menulis program Analytical Engine pertama dalam sejarah umat manusia. Program ini memecahkan persamaan Bernoulli, yang menyatakan hukum kekekalan energi dalam fluida yang bergerak.

Dalam yang pertama dan satu-satunya karya ilmiah Ada Lovelace mengulas jumlah besar pertanyaan. Sejumlah ketentuan umum yang diungkapkan olehnya (prinsip penghematan sel memori kerja, hubungan rumus berulang dengan proses komputasi siklis) telah mempertahankan signifikansi fundamentalnya untuk pemrograman modern. Tulisan Babbage dan komentar Lovelace menguraikan konsep-konsep seperti perpustakaan subrutin dan subrutin, modifikasi instruksi, dan register indeks yang baru digunakan pada 1950-an.

Namun, tidak ada program yang ditulis oleh Ada Lovelace yang pernah diluncurkan.

Ada Augusta, Countess of Lovelace, dianggap sebagai programmer kehormatan pertama (walaupun, tentu saja, menulis satu program dengan standar modern tidak dapat dianggap sebagai pekerjaan atau aktivitas profesional). Sejarah telah menyimpan namanya dalam nama bahasa pemrograman universal "Ada".

Komputer yang dapat diprogram pertama yang berfungsi (1941), program pertama untuknya, dan juga (dengan reservasi tertentu) bahasa pemrograman pertama level tinggi Plankalkül diciptakan oleh insinyur Jerman Konrad Zuse.

Nama-nama orang yang pertama kali mulai secara profesional melakukan pekerjaan pemrograman itu sendiri (terpisah dari penyesuaian peralatan komputer) tidak disimpan dalam sejarah, karena pada awalnya pemrograman dianggap sebagai operasi penyesuaian sekunder.

Hukum Murphy untuk programmer

1. Tidak ada yang berfungsi seperti yang diprogram.

2. Tidak ada yang diprogram dengan cara yang seharusnya.

3. Seorang programmer yang baik dicirikan oleh kemampuan untuk membuktikan mengapa suatu tugas tidak dapat diselesaikan ketika dia terlalu malas untuk melakukannya.

4. Dibutuhkan waktu tiga kali lebih sedikit untuk memecahkan masalah daripada membahas semua pro dan kontra dari solusinya.

5. Tanggal jatuh tempo yang dijanjikan adalah tanggal akhir proyek yang dihitung dengan cermat ditambah enam bulan.

6. Pemrogram selalu mengetahui urutan tindakan di mana pengguna dapat menutup programnya, tetapi dia tidak pernah memperbaiki masalah ini, berharap tidak ada yang akan datang dengan urutan ini untuk dieksekusi.

7. Pemrogram sejati menyukai Windows - semua kesalahan yang dibuat oleh kebodohan mereka sendiri dapat disalahkan pada Microsoft.

8. Konsekuensi - 99% masalah yang ditimpakan pada Microsoft adalah akibat dari kebodohan programmer itu sendiri.

9. Dalam keadaan marah, untuk beberapa alasan, semua orang meronta-ronta di monitor yang tidak bersalah, bukan unit sistem.

10. Jika terjadi mogok makan, seorang programmer sejati akan dapat memakan makanan yang dipetik dari bawah tombol keyboard selama satu bulan lagi.

11. Seorang programmer sejati telah mengubah setidaknya tiga keyboard yang basah kuyup.

12. Siapa pun yang memiliki masalah dalam menyiapkan pengkodean secara otomatis dianggap Neanderthal.

13. Pembicaraan amatir tentang komputer menyebabkan mual parah hingga muntah. Pertanyaan tentang bagaimana mengubah "wallpaper" di Windows membuat Anda ingin memotong tenggorokan si penanya.

14. Bagi kebanyakan orang yang membutuhkan bantuan Anda, alasan kesalahan dalam program ini murni genetik.

15. HTML, HTTP, FTP, SMTP, TCP/IP, RTFM, dll. Ini adalah kata-kata, bukan singkatan.

16. Ungkapan "mouse-norushka" tidak masuk akal.

17. Masalah yang paling mistis, dibesar-besarkan dan diiklankan secara luas, pada akhirnya menjadi kesalahan terbodoh Anda.

18. Konsekuensi - jika program Anda melakukan tindakan mistis, maka Anda melakukan sesuatu yang sangat bodoh.

19. Perasaan terburuk bagi seorang programmer adalah ketika sepuluh orang berdiri di sekitar Anda dan semua orang mencoba menemukan penyebab masalah dalam program Anda, dan Anda sudah mengerti apa masalahnya, tetapi Anda takut untuk mengatakannya, karena memang begitu sesuatu yang sangat bodoh...

20. Solusi untuk semua masalah kehidupan ada di Internet. Anda hanya harus pandai mencari.

21. Konflik instruksi logis dalam kehidupan menyebabkan kesalahan fatal dalam kerja otak programmer - kenaikan suhu dan pusing parah, hingga muntah atau kehilangan kesadaran, mungkin terjadi.

22. Mereka yang membenci programmer dihina oleh programmer lebih dari mereka yang membenci programmer membenci programmer yang membenci mereka yang membenci mereka.

23. Jika Anda memahami yang sebelumnya, maka Anda adalah seorang programmer.

Ada 10 tipe orang di dunia ini - mereka yang memahami sistem biner, dan mereka yang tidak memahaminya.

Video: Anda adalah seorang programmer

Anda harus memulai karir sebagai programmer dengan menjawab pertanyaan, apakah Anda memerlukan pemrograman sama sekali? Pertanyaan ini tidak berlaku untuk mereka yang belajar atau pernah belajar di spesialisasi yang dekat dengan pemrograman. Jika Anda lebih baik dalam matematika di sekolah daripada humaniora, jika Anda suka menghabiskan banyak waktu di depan komputer, jika Anda ingin mempelajari sesuatu yang baru, maka pemrograman akan cocok untuk Anda.

Di mana untuk memulai?

Ada beberapa opsi untuk pengembangan acara, sebagai akibatnya seseorang menjadi seorang programmer. Yang pertama adalah orang tua programmer yang mengajari anak-anak mereka segalanya. Anak-anak ini bahkan tidak perlu kuliah. Pilihan kedua adalah profesi modis seorang programmer. Sepulang sekolah, saya harus memilih tempat untuk belajar, dan mereka memilih jurusan IT yang modis, mereka sepertinya menyukainya. Dan pilihan terakhir adalah hobi yang telah berkembang menjadi pekerjaan.

Jika tidak ada hal di atas yang terjadi pada Anda, maka Anda memiliki empat pilihan:

  • pendidikan mandiri. Opsi ini dapat digunakan sendiri atau dalam kombinasi dengan metode lain. Internet penuh, dan aplikasi yang membantu untuk belajar berbagai bahasa pemrograman dan teknologi. Tapi ini adalah cara tersulit untuk pemula.
  • Universitas. Jika Anda menyelesaikan sekolah dan ingin menjadi seorang programmer, maka pergilah ke universitas. Jika bukan karena pengetahuan, maka untuk kerak. Ini bisa menjadi bonus saat melamar pekerjaan. Meskipun Anda juga akan mendapatkan beberapa pengetahuan. Tapi jangan lupa untuk mendidik diri sendiri. Pilihan universitas harus didekati dengan sangat bertanggung jawab. Pelajari program pelatihan dengan cermat dan pilih universitas teknis terbaik.
  • Mentor. Akan sangat baik jika Anda menemukan seseorang yang setuju untuk membantu Anda dan mengarahkan Anda ke arah yang benar. Dia akan menyarankan buku dan sumber yang sesuai, periksa kode Anda, berikan tips bermanfaat. Omong-omong, kami sudah menulis tentang di mana Anda dapat menemukan seorang mentor. Anda dapat mencari mentor di antara programmer yang sudah dikenal, di pesta dan konferensi TI, di forum online, dan sebagainya.
  • Kursus praktis khusus. Cobalah untuk mencari kursus di kota Anda di mana Anda akan diajarkan beberapa bahasa atau teknologi pemrograman. Saya sangat terkejut dengan jumlah kursus semacam itu di Kyiv, termasuk yang gratis dan dengan pekerjaan berikutnya.

Bahasa, teknologi, dan arah mana yang harus dipilih

Ketika Anda menjadi seorang programmer, dalam satu atau dua tahun Anda akan bebas memilih bahasa apa pun yang Anda suka. Tetapi ketika memilih bahasa pemrograman pertama, seorang pemula harus mempertimbangkan kriteria berikut:

  • Ketersediaan di pasar kerja. Tujuan akhir dari jalur ini adalah untuk mencari pekerjaan sebagai programmer. Dan ini akan sulit dilakukan jika tidak ada yang mencari pengembang bahasa pemrograman Anda di pasar kerja. Periksa situs kerja, lihat siapa yang paling banyak mencari, tulis selusin bahasa. Dan lanjutkan ke kriteria berikutnya.
  • Entri Rendah. Jika Anda harus menghabiskan waktu lama untuk mempelajari suatu bahasa, hal itu dapat membuat Anda enggan untuk memprogram secara umum. Baca tentang bahasa yang Anda pilih di atas. Tinjau literatur yang perlu Anda baca untuk mempelajari bahasa-bahasa ini. Dan pilihlah yang menurut Anda ringan, atau yang menurut Anda ringan. Bahasa tersebut bisa berupa PHP, Ruby, Python.
  • Sensasi prosesnya. Jika Anda tidak menikmati menulis kode dalam bahasa pilihan Anda, Anda tidak akan menikmati proses, pekerjaan, atau kehidupan. Apakah Anda membutuhkannya? Membuat pilihan yang benar.

Anda juga harus memutuskan arah pemrograman. Seluler, desktop, game, web, pemrograman tingkat rendah, dan sebagainya. Industri yang paling populer dan relatif mudah adalah pengembangan untuk klien web, seluler, dan desktop. Satu bahasa mungkin cocok untuk setiap arah dan bahasa lain mungkin tidak cocok sama sekali. Artinya, ketika memilih bahasa pemrograman, ada baiknya juga dimulai dari faktor ini.

Bagaimanapun, pelajari teknologi web. Ini adalah bahasa markup HTML, gaya CSS dan yang akan membuat halaman Anda dinamis. Langkah selanjutnya adalah mempelajari bahasa sisi server (Python, PHP, Ruby, dan lainnya) dan kerangka kerja web yang cocok untuk itu. Jelajahi database: hampir setiap pekerjaan programmer mencantumkan ini.

Cara mendapatkan pengalaman awal

Tanpa pengalaman, Anda tidak akan mendapatkan pekerjaan. Tanpa pekerjaan, Anda tidak akan mendapatkan pengalaman. Lingkaran setan kehidupan nyata. Tapi jangan khawatir, kita akan keluar dari itu.

Pertama, jangan menunggu sampai Anda membaca semua buku dalam bahasa pemrograman pilihan Anda. Mulailah menulis baris kode pertama Anda setelah bab kedua buku ini. Selesaikan semua tugas dari buku, cetak ulang contoh, pahami. Rumitkan contoh dan tugas dari buku dengan ide Anda sendiri. Buat tugas Anda sendiri untuk materi yang dibahas. Memecahkan masalah ini.

Kedua, Anda perlu menemukan proyek pertama Anda. Ini mungkin yang paling pilihan yang sulit tapi bekerja. Anda harus mencari pesanan sendiri, memenuhinya, repot dengan pembayaran. Untuk seorang pemula, ini menakutkan, tetapi kemudian semua opsi lain akan tampak seperti masalah sepele. Proyek yang telah selesai dapat dicatat dalam pengalaman dan ditunjukkan kepada atasan Anda di masa depan. Proyek nyata adalah nilai tambah yang besar pada resume Anda.

Jika Anda tahu bahasa Inggris, daftar lebih baik di bursa berbahasa Inggris. Pasarnya lebih besar. Jika Anda tidak tahu bahasa Inggris, pelajarilah. Sementara itu, pertukaran freelance berbahasa Rusia tersedia untuk Anda. Carilah proyek-proyek kecil yang berada pada atau di atas tingkat pengetahuan Anda. Terapkan untuk beberapa lusin pekerjaan ini. Dan bersiaplah untuk mendapatkan banyak penolakan. Tetapi jika satu atau dua aplikasi berfungsi, Anda akan memiliki kesempatan untuk mendapatkan pengalaman nyata.

Pilihan bagus lainnya untuk mendapatkan pengalaman nyata adalah open source. Proyek semacam itu selalu membutuhkan orang baru, bahkan pemula. Anda dapat mencari bug di proyek atau mencari di pelacak bug dan menyarankan metode untuk menyelesaikannya. Menemukan proyek semacam itu mudah dilakukan di GitHub atau . Jangan ragu untuk bertanya di sana.

Opsi keempat untuk mendapatkan pengalaman adalah membantu programmer yang sudah dikenal. Minta mereka untuk memberi Anda tugas-tugas kecil dan mudah. Jika sesuatu tidak berhasil, Anda akan selalu memiliki seseorang untuk dituju. Dan pada saat yang sama Anda akan berpartisipasi dalam proyek nyata.

Cara terakhir adalah melalui proyek Anda sendiri, berbagai hackathon atau bekerja di ruang kerja bersama. Sulit untuk memulai proyek Anda sendiri, lebih baik mencari kenalan atau teman.

Mengapa Memilih Python

Mari kita bicara sedikit lebih banyak tentang pilihan bahasa pemrograman pertama. Bahasa pertama harus sederhana dan populer di pasar. Bahasa seperti itu adalah Python. Saya sangat menyarankan Anda untuk memilihnya sebagai bahasa pemrograman pertama Anda.

Kode Python dapat dibaca. Anda bahkan tidak perlu menjadi seorang programmer untuk memahami secara umum apa yang terjadi dalam sebuah program. Karena sintaks Python yang sederhana, Anda akan membutuhkan lebih sedikit waktu untuk menulis program daripada, misalnya, di Java. Sebuah database besar perpustakaan yang akan menghemat banyak usaha, saraf dan waktu. Python adalah bahasa tingkat tinggi. Ini berarti Anda tidak perlu berpikir banyak tentang sel memori dan apa yang harus ditempatkan di sana. Python adalah bahasa tujuan umum. Dan itu sangat sederhana sehingga bahkan anak-anak pun dapat mempelajarinya.

Dalam keadilan, perlu disebutkan bahasa pemrograman lain. Jawa Mungkin pilihan yang baik untuk pemula. Bahasa ini lebih populer daripada Python, tetapi juga sedikit lebih rumit. Tetapi alat pengembangan jauh lebih baik dikembangkan. Kita hanya perlu membandingkan Eclipse dan IDLE. Setelah Java, akan lebih mudah bagi Anda untuk melanjutkan bekerja dengan bahasa pemrograman tingkat rendah.

PHP adalah bahasa lain yang sangat populer. Dan saya pikir itu bahkan lebih mudah daripada Python. Sangat mudah untuk menemukan mentor atau solusi untuk suatu masalah di forum. Ini karena ada sejumlah besar programmer PHP dari berbagai tingkatan di dunia. Tidak ada impor normal di PHP, ada banyak opsi untuk menyelesaikan tugas yang sama. Dan itu membuat belajar menjadi sulit. Dan PHP diasah secara eksklusif untuk web.

Bahasa C dan C# sangat sulit bagi seorang pemula. rubi adalah pilihan yang baik sebagai bahasa kedua, tetapi bukan yang pertama. JavaScript- bahasa yang sangat sederhana, tetapi itu tidak akan mengajari Anda sesuatu yang baik. Dan tugas bahasa pemrograman pertama masih mengajari Anda sesuatu yang benar, untuk mengatur semacam logika.

Apakah Bahasa Inggris Penting?

Penting! Tidak tahu? Mengajar. Apakah Anda tahu? Memperbaiki. Belajar membaca, menulis, mendengarkan, dan berbicara bahasa Inggris. Fokus pada literatur teknis. Dengarkan podcast berbahasa Inggris. Baca buku teks bahasa Inggris tentang pemrograman.

Apa yang perlu Anda ketahui, selain bahasa pemrograman

Tentu saja, selain bahasa pemrograman dan bahasa Inggris, Anda perlu mengetahui hal lain. Tapi apa - tergantung pada arah yang Anda pilih. Seorang programmer web harus tahu HTML, CSS, JavaScript. Seorang programmer desktop mengajarkan API sistem operasi dan berbagai kerangka kerja. Pengembang aplikasi seluler mempelajari kerangka kerja Android, iOS, atau Windows Phone.

Setiap orang perlu mempelajari algoritma. Cobalah mengikuti kursus Coursera atau temukan buku tentang algoritme yang cocok untuk Anda. Selain itu, Anda perlu mengetahui salah satu database, pola pemrograman, struktur data. Anda juga perlu mengenal repositori kode. Setidaknya dengan satu. Pengetahuan tentang sistem kontrol versi diperlukan. Pilih Git, itu yang paling populer. Anda perlu mengetahui alat yang Anda gunakan, sistem operasi, dan lingkungan pengembangan. Dan skill utama seorang programmer adalah bisa googling. Anda tidak akan hidup tanpanya.

Langkah terakhir

Anda perlu menyiapkan resume. Bukan hanya resume, tapi. Anda tidak harus menulis di sana, tetapi Anda juga tidak perlu diam tentang keterampilan Anda. Setelah Anda diundang untuk wawancara, Anda harus mempersiapkannya. Pelajari materi yang tercantum di resume Anda. Anda harus yakin dengan pengetahuan Anda. Tinjau proyek yang telah Anda kerjakan, ingat teknologi yang telah Anda gunakan. Dan maju - menuju masa depan yang lebih cerah bersama profesi baru programmer.

» menerima banyak pertanyaan dari anak sekolah tentang apa yang harus mereka lakukan jika ingin menjadi programmer. Kami mengajukan pertanyaan ini kepada para ahli dan mengumpulkan jawaban terbaik untuk Anda. Baca ringkasan di bagian bawah artikel.

Seorang pemula pertama-tama perlu memutuskan di bidang pemrograman mana yang ingin dia kembangkan. Pemrograman terapan, permainan, robotika, untuk anak sekolah di kelas 6–7, awal yang baik adalah lingkaran robotika, sekarang ada di setiap distrik, Anda hanya perlu tidak terlalu malas untuk mencari pusat pendidikan tambahan yang lebih dekat dengan rumah. Ini memiliki lingkungan pemrograman visualnya sendiri, dan kegiatan praktis, dan pemodelan, akan segera menjadi jelas komponen mana yang berjalan lebih baik dan ke arah mana itu lebih menarik - teknik, atau pemrograman.

Dan agar motivasi tidak turun dan ada hasil yang cepat, kami sarankan mulai dengan Pascal / Delphi XE 7, berikut adalah sintaks dan bahasa sederhana yang dibuat untuk pengajaran pemrograman, serta kemampuan untuk mengembangkan secara visual dari komponen yang sudah jadi dengan dukungan untuk membuat aplikasi seluler dari satu kode sumber. Hal yang paling menarik di sini adalah kemampuan untuk membuat aplikasi seluler Anda sendiri untuk Android dan iOS pada setiap tahap belajar memprogram. Dan seiring bertambahnya level programmer, Anda selalu dapat masuk ke kode sumber dan beralih ke C ++ dalam lingkungan yang sama. Sedangkan untuk universitas, pendaftarannya sangat besar, tetapi berkeliling negeri, saya melihat seberapa besar tingkat pertumbuhan masing-masing universitas regional. Misalnya, departemen VTIK di Ufimsky Universitas Minyak dan Gas. Universitas Negeri Moskow, MSTU im. Bauman, MEPHI, MAI, Universitas Politeknik di St. Petersburg, Universitas Negeri St. Petersburg.

Tingkatkan Versi Turun

Anda harus mulai dengan pemrograman atau lingkaran robotika. Penting untuk dipahami jika Anda benar-benar ingin menjadi pengembang, atau apakah ini keinginan impulsif dan palsu. Untuk universitas, saya menyarankan Anda untuk fokus pada mulut ke mulut, forum internet dan pendapat teman. Juga layak untuk dikunjungi selama berhari-hari? pintu terbuka, tetapi tetap perlu diingat bahwa apa yang dikatakan di acara semacam itu tidak selalu benar. Sejauh menyangkut bahasa, tidak ada saran universal. Menurut saya, pilihan bahasa tidak penting, seorang programmer sejati dapat menguasai bahasa baru untuknya dengan sangat cepat. Meskipun, jika memungkinkan, maka mulailah dengan C / C ++.

Tingkatkan Versi Turun

Pemrograman bukanlah proses itu sendiri, tetapi terjemahan solusi untuk beberapa masalah ke dalam bahasa yang dapat dimengerti oleh komputer. Oleh karena itu, perlu untuk memilih bahasa yang tidak terlalu banyak sebagai bidang kegiatan yang akan menarik.

Jika Anda memiliki keinginan untuk belajar pemrograman tidak terlalu sulit. Tapi apa yang harus dilakukan dengan kemampuan ini, pertanyaannya jauh lebih rumit. Oleh karena itu, pertanyaannya adalah: apa yang ingin saya lakukan sepanjang hidup saya (atau sebagian besar darinya - 5–6 tahun), dan bagaimana pemrograman dapat membantu saya dalam hal ini.

Perlu dicatat bahwa menulis program adalah insentif yang sangat baik untuk mempelajari bidang studi. Anda dapat menjelajahi berbagai bidang subjek dengan solusi pemrograman. Ini tidak menjamin efek langsung, apalagi bisa mengganggu. Tapi ini adalah salah satu alat untuk mempelajari dunia sekitar, tidak lebih buruk dari sastra atau menggambar.

Tingkatkan Versi Turun

Tempat terbaik untuk memulai adalah dengan pendidikan. Untuk pendidikan dasar, universitas terbaik di Rusia bisa disebut MSTU. E. N. Bauman, Universitas Negeri Moskow, MEPhI, MIPT di Moskow, Politeknik dan GTI di St. Petersburg, NSTU di Novosibirsk. Itu juga selalu baik untuk mendidik diri sendiri: programmer pemula memiliki banyak kesempatan untuk belajar online secara gratis; situs paling populer: microsoftvirtualacademy.com, coursera.org, lektorium.tv, universarium.org. Selain itu, partisipasi dalam olimpiade dan kompetisi dalam program olahraga dapat menjadi penting untuk pengembangan karir, misalnya: Russian Code Cup, Google Code Jam, Facebook Hacker Cup, Yandex.Algorithm, ACM International Collegiate Programming Contest.

Bahasa: Swift untuk iOS, Java untuk Android, Ruby untuk pengembangan web.

Tingkatkan Versi Turun

, Kaprodi SKB Kontur, Mitra Olimpiade Internasional “IT-Planet”

Belajar bahasa dan belajar memprogram adalah dua hal yang berbeda, dan secara umum tidak masalah bahasa apa untuk memulai. Meskipun, lebih menyenangkan dan lebih mudah untuk memulai dengan yang tingkat tinggi, misalnya, Python, C #, Java. Seorang programmer yang baik harus tahu beberapa bahasa dan dapat mempelajari yang baru. Pertanyaan tentang materi lebih relevan untuk siswa dengan keterampilan pemrograman minimal, sehingga pertanyaan "Mulai dari mana?" jauh lebih penting. dan “Universitas mana yang harus dipilih?”.

Semua programmer pemula sangat beruntung: Anda dapat belajar memprogram dengan bermain, dan ada banyak produk semacam itu. Di Kontur, kami paling menyukai coderussia.ru, codemonkey.co.il, codingame.com.

Memilih universitas jauh lebih sulit. Tidak ada daftar universitas yang diurutkan berdasarkan kerennya pengajaran disiplin IT, jadi selalu ada kesempatan untuk tidak menebak-nebak

Paling sering mereka mengajar dengan baik di universitas dan universitas besar. Jika ada universitas di kota Anda, yang namanya mengandung kata "negara bagian", "nasional", "federal", maka pertama-tama Anda harus melihatnya lebih dekat. Kemudian cari tahu apakah ada perusahaan IT besar atau cabang perusahaan semacam itu di kota Anda, dengan universitas mana mereka bermitra: perusahaan seperti itu hampir selalu muncul di sebelah universitas yang kuat, sangat jarang muncul di mana tidak ada pelatihan berkualitas tinggi (misalnya, di Yekaterinburg, kecuali kantor pusat Kontur masih memiliki 4 kantor pengembangan besar, sekitar 50 kantor sedang dan segunung yang kecil).

Lain faktor penting- partisipasi universitas dan mengadakan kompetisi TI di wilayahnya, misalnya, dalam pemrograman olahraga, keamanan informasi (di rumah ACM, CTF), berbagai kompetisi dalam robotika. Menemukan informasi semacam itu tentang universitas tertentu terkadang tidak begitu sepele, tetapi Anda dapat mencari di antara arsip ACM ICPC di icpc.baylor.edu atau ructf.org.

Omong-omong, bersama dengan UrFU kami menyelenggarakan QCTF - format untuk pemula, anak sekolah juga dapat memainkannya, Anda dapat membacanya lebih lanjut di sini: qctf.ru.

Dan selalu ingat: memilih universitas yang bagus, Anda dapat mengisi semuanya dan tidak menjadi programmer dengan memilih yang buruk - Anda dapat menghabiskan waktu untuk belajar mandiri dan mencapai ketinggian yang belum pernah terjadi sebelumnya. Pertama-tama, itu semua tergantung pada Anda.

Tingkatkan Versi Turun

Anda tidak bisa mengajar, Anda bisa belajar. Anda tidak harus pergi ke universitas untuk mendapatkan pengetahuan, Anda harus pergi ke sana untuk mendapatkan diploma. Satu-satunya cara untuk menjadi seorang programmer adalah dengan menulis program.

Tingkatkan Versi Turun

Menurut pendapat saya, cara terbaik untuk belajar pemrograman adalah bahasa prosedural tingkat tinggi, yang "menyembunyikan" detail implementasi operasi dasar dari programmer dan memungkinkan Anda untuk fokus pada algoritma. Dulu Pascal, sekarang telah bergeser sedikit, meskipun ada juga implementasi modern yang sangat baik yang berfokus pada pengajaran pemrograman - misalnya, sistem PascalABC.Net. Pilihan lainnya adalah Python, juga bahasa yang terstruktur dengan baik yang memungkinkan Anda untuk fokus menguasai prinsip-prinsip dasar pemrograman. Python juga memiliki manfaat tambahan sebagai bahasa yang ditafsirkan, mis. memberikan kesempatan kepada programmer pemula untuk cepat terbiasa dengan bahasa dan "merasakan" konstruksi ini atau itu. Setelah mempelajari dasar-dasar pemrograman, ada baiknya menjadi lebih akrab dengan bahasa berorientasi objek "klasik", dan di sini pilihannya adalah C # atau Java.

Setelah menguasai "set pria" dasar seperti itu, tahap pengembangan profesional selanjutnya dimulai. Pada tahap ini, pertanyaan “tentang apa yang harus diprogram” diganti dengan pertanyaan “tugas apa yang harus diselesaikan”. Itu. bahasa pemrograman berubah dari objek studi menjadi alat untuk memecahkan masalah. Area subjek muncul ke depan (pemrograman sistem, pengembangan web, otomatisasi proses bisnis, pemrosesan data, dll.), Dan berdasarkan arah yang Anda minati, Anda juga harus memilih bahasa dan teknologi yang Anda pelajari (untuk contoh, C, C++, PHP, 1C, SQL).

Sejauh materi pembelajaran yang bersangkutan, format terbaik adalah kursus pelatihan - baik tatap muka (dengan kontak langsung dengan guru) atau kursus online. Sekarang sumber daya Internet secara aktif berkembang, menawarkan kursus gratis (dan juga berbayar), termasuk materi video, tes, tugas praktis, seringkali dengan kemampuan untuk masukan dari guru. Misalnya, sumber daya coursera.org atau intuit.ru Rusia. Seringkali vendor (pengembang perangkat lunak) juga menawarkan kursus pelatihan tentang produk mereka. Misalnya, 1C menyediakan kit gratis untuk menguasai sistem 1C:Enterprise, yang mencakup perangkat lunak dan materi pelatihan.

Tingkatkan Versi Turun

Sayangnya, situasi dengan universitas tidak mudah sekarang. Banyak kenalan saya yang bekerja di sistem pendidikan tinggi secara terbuka mengatakan bahwa sistem pendidikan tinggi di Rusia tidak berfungsi. Tentu saja, seseorang dapat berdebat tentang hal ini dan memberikan banyak argumen baik yang mendukung maupun yang menentang. Pada saat yang sama, sulit bagi saya sekarang untuk merekomendasikan atau bahkan tidak merekomendasikan "almamater" Universitas Elektroteknik St. Petersburg (LETI) saya. Universitas utama yang dapat melatih programmer sampai batas tertentu adalah LETI, ITMO dan Polytech. Tetapi saya ingin menekankan bahwa hal utama yang diberikan universitas mana pun kepada insinyur masa depan adalah keterampilan belajar mandiri, berbeda dengan sekolah di mana semua materi yang diperlukan disajikan "di piring perak".

Jika kita berbicara tentang bahasa pemrograman, maka fakta-fakta berikut harus diperhitungkan:

  • Kemungkinan besar Anda ingin mulai bekerja dalam spesialisasi Anda pada tahun ke-2 atau ke-3, jadi Anda harus memperhatikan bahasa pemrograman yang relevan saat ini: C#, Java, Ruby. Pengembangan lebih lanjut teknologi dan preferensi pribadi Anda akan membantu Anda memutuskan platform dan bahasa mana yang akan terus Anda kerjakan. Yang terpenting, ingatlah bahwa tidak ada bahasa yang "baik" dan "buruk". Setiap bidang memiliki seperangkat alat dan teknologinya sendiri.
  • Universitas mungkin memberi Anda pengetahuan yang masuk akal tentang konsep global, seperti OOP, tetapi tidak akan memberi Anda dasar yang baik dalam bahasa tertentu; andalkan diri Anda sendiri, pengalaman Anda sendiri, meskipun kecil, dan terus-menerus memperluas wawasan Anda
  • "Menyesuaikan diri dengan" semua komunitas yang dikenal - tidak memerlukan biaya apa pun, baik dari segi waktu maupun waktu, tetapi memberi Anda sumber pengetahuan dan pengalaman yang sangat besar.

Tingkatkan Versi Turun

Jika Anda memiliki kesempatan untuk tidak pergi ke universitas - jangan pergi. Ini adalah cerita yang sangat tidak berguna bagi programmer. Anda akan terus mencari informasi baru, pengetahuan di bidang TI menjadi usang dengan sangat cepat. Dalam kondisi seperti itu, universitas tidak akan dapat memberi Anda keterampilan yang diperlukan untuk menjadi Pengembang Menengah/Senior segera setelah lulus.

Saya melakukan wawancara dengan mahasiswa dari berbagai universitas dan trennya sama di mana-mana - waktu dihabiskan, harapan remunerasi untuk kali ini sangat besar, dan pada kenyataannya, bisnis masih perlu menyelesaikan mengajar seseorang sebelum dia mulai mendapat untung.

Maksud saya: di pintu keluar setelah universitas, kami memiliki orang-orang yang pergi ke perusahaan dan meminta 60–90rb sebulan dan perlahan kecewa dengan industri karena tidak ada yang memberi lebih dari 30rb untuk pengalaman mereka. Dan pertumbuhan yang lambat dan sistematis dimulai dengan magang di studio web. Oleh karena itu pertanyaannya: apakah Anda benar-benar membutuhkan universitas?

Mulailah menulis proyek hewan peliharaan Anda. Ambil ide dan tulis, tulis dan tulis lagi. Tugas utama Anda adalah menulis kode, banyak kode, lupakan kualitas - cukup tulis, tulis, dan tulis. Pada titik tertentu, Anda akan "mengklik" dan Anda akan mengetahui sisanya sendiri. Untuk memulai, tentu saja, putuskan ke mana Anda ingin pergi, di web: PHP, Python, Golang (ini bukan pilihan, ini ketiganya bersama-sama), seluler: Java, Objective-C, Swift, C #, pengembangan game: C ++, Java, Lua.

Secara terpisah untuk gamedev - ambil saja Unity dan mulai buat. Jangan mencoba menulis hal-hal dasar, seperti mesin Anda, di bulan pertama, lakukan saja, dan baru kemudian pahami konsep dasarnya.

Tingkatkan Versi Turun

, Guru GeekBrains, pakar PHP, spesialis MySQL, Postgres, beberapa solusi NoSQL, JS + JQuery, Yii

Pergi ke universitas yang bagus. Jika Anda berada di salah satu ibu kota, maka pilihan Anda sudah jelas dan Anda sudah lama memilih lembaga pendidikan. Jika Anda tinggal di daerah yang jauh, maka pilihan yang baik adalah departemen fisika dan matematika sebelumnya universitas pedagogis, yang kami punya banyak. Tidak perlu memilih "programmer" atau "pengembang perangkat lunak" sebagai spesialisasi, terutama karena spesialisasi seperti itu cukup langka. Spesialisasi apa pun yang didasarkan pada matematika, di mana matematika digunakan sampai batas tertentu, akan berhasil.

Pendidikan tinggi akan berguna bagi Anda terutama untuk "memformat pemikiran", dan bukan untuk memperoleh pengetahuan yang relevan.

Bahasa nol yang harus dikuasai, tentu saja, C. Untuk menyentuh perangkat keras pada tingkat rendah, untuk memahami cara kerja komputer secara umum, bagaimana memori dialokasikan dan dibebaskan, apa tipe datanya - tidak ada alternatif lain.

Lebih sulit untuk memberi nasihat tentang pilihan bahasa pertama. Biasanya pilihan ini terjadi secara spontan. Namun kami dapat mengatakan dengan pasti bahwa pemrograman web tidak akan kehilangan relevansinya dalam 5-10 tahun ke depan, sehingga PHP dapat direkomendasikan. Selain itu, sering disebut "C untuk boneka"

Anda harus selalu belajar dari bahan tangan pertama. Selalu coba untuk memilih dokumentasi resmi tentang teknologi apa pun dalam bahasa asli daripada materi yang meragukan dari penerjemah non-profesional. Omong-omong - tanpa pengetahuan bahasa Inggris yang baik, tidak peduli betapa sedihnya itu, Anda tidak ada hubungannya di pasar pemrograman ...

Singkatnya - pelajari pendidikan mandiri. Tidak ada universitas dan kursus yang akan menjadikan Anda seorang spesialis, hanya Anda yang dapat melakukannya sendiri!

Kehebohan tentang topik bahasa mana yang harus dipilih pertama untuk mengajar programmer tidak mereda: seseorang memanggil Pascal, seseorang C, seseorang Ruby atau bahkan Haskell, dan masing-masing pihak memberikan argumennya sendiri. Yang benar adalah bahwa bahasa hanyalah alat yang harus dipilih oleh seorang profesional setiap saat sesuai dengan tujuan proyek. Memahami algoritme akan memungkinkan Anda mempelajari bahasa baru apa pun dalam beberapa hari. Bagi mereka yang baru mengambil langkah pertama, saya sarankan menggunakan sumber daya online pendidikan seperti Codecademy, bagi mereka yang tidak hanya ingin membuat kode, tetapi untuk memahami bagaimana mengatur prosesnya, saya sarankan membaca buku yang, tanpa berlebihan, telah mempengaruhi pikiran generasi dan masih relevan - "The Mythical Man-Bulan". Saat memilih universitas, Anda harus memperhatikan bagaimana programnya memenuhi standar internasional (lihat

Evgeny Fateev, Guru GeekBrains, programmer profesional, penganut The Ruby/Rails Way

Seperti di bidang lain, belajar memprogram terutama didasarkan pada minat pribadi dan keinginan untuk belajar - ini adalah dasar dari bisnis apa pun. Tentu saja, Anda memerlukan dasar teknis yang baik, yang paling logis untuk didapatkan di universitas. 4 universitas dapat dicatat, di mana kualitas pendidikan tidak diragukan lagi: Universitas Negeri Moskow (misalnya, fakultas VMK), MSTU. Bauman (IU-5..IU-8), MEPhI (Sibernetika dan Keamanan Informasi), MIEM NRU HSE (Fakultas Ilmu Komputer).

Dalam memilih bahasa, ada beberapa hal yang perlu diperhatikan. Pertama, bahasa tidak boleh terlalu rumit dan "berat" dalam hal sintaksis. Itu harus paling diminati dan diimplementasikan pendekatan modern dalam pemrograman. Misalnya, Python, Ruby, atau JavaScript akan menjadi pilihan yang baik. Mengenai buku dan materi sebaiknya dimulai dari awal yaitu dari Teori Informasi. Ada buku luar biasa tentang topik ini: Bauer F.L., Gooz G. "Informatika" dalam 2 volume. Ini juga akan berguna untuk mempelajari semua buku teks Ilmu Komputer. Selanjutnya - komunikasi di forum, membaca artikel blog, memahami dasar-dasar perangkat PC dan prinsip-prinsip pemrograman. Dari literatur bahasa, untuk Ruby kami dapat merekomendasikan buku dengan jerapah (Michael Fitzgerald "Belajar Ruby"), untuk JavaScript (David Sawyer McFarland "JavaScript. A Definitive Guide").

Kesimpulannya, Anda dapat membuat rute pendek seperti ini:

  1. teori informasi;
  2. perangkat dan arsitektur PC;
  3. Bahasa pemrograman yang dipilih.

Terakhir, kita harus selalu ingat bahwa pemrograman adalah cara untuk memberi tahu mesin tentang impian kita. Dengan kata lain, Anda perlu terus-menerus berlatih dan memecahkan berbagai masalah dari berbagai bidang dalam bahasa yang Anda pelajari. Tanyakan pada diri Anda: bagaimana menulis program untuk dipecahkan persamaan kuadrat, memilih file acak dengan komposisi musik, hubungi layanan Yandex melalui jaringan dan temukan ejaan kata yang benar? Dan kemudian melakukannya. Tonton, jelajahi, tulis kode, dan semuanya pasti akan berhasil!

Tingkatkan Versi Turun