Bagaimana bertahan hidup di dunia pembangunan yang terus berubah

Pembicaraan dimulai dengan rekan-rekannya tentang peningkatan diri seorang programmer secara terus-menerus di waktu pribadinya. Anda harus berlari sepanjang waktu hanya untuk tetap di tempatnya. Saya sendiri suka bisnis ini, dan, meskipun ada tiga anak, saya berhasil menyentuh konsep baru. Tetapi banyak orang hanya bosan berlari-lari seperti itu, dan mereka dapat dimengerti.


Ambil, misalnya, dunia frontend. Dengan pengetahuan tentang JavaScript lima tahun lalu, sekarang Anda tidak dapat menemukan pekerjaan yang baik. Sekarang RequireJS + Grunt tidak akan berfungsi, Anda perlu tahu Bereaksi, Webpack, ES modern atau TypeScript, dll. Dan tahun depan banyak lagi yang akan menjadi usang.


Pada saat yang sama, tidak selalu mungkin untuk mendapatkan pengetahuan baru di tempat kerja, karena seringkali ada banyak warisan (jika beberapa produk terpotong untuk waktu yang lama - ini tidak bisa dihindari) yang tidak akan disalin oleh orang lain β€œdalam mode”.


Apa yang harus dilakukan Apakah proyek hewan peliharaan di malam hari? Atau mencoba mengubah arah pengembangan menjadi lebih stabil dari waktu ke waktu?


Terutama sering pertanyaan ini muncul di kalangan programmer dengan anak-anak. Bagaimana tetap relevan di pasar dalam jangka panjang tanpa menghabiskan seluruh waktu pribadi Anda untuk itu?


Pergi ke manual


Keuntungan:


  1. Terkadang cukup untuk mengetahui teknologi di atas (itu tergantung pada jenis kepemimpinan, pemimpin tim, pemimpin teknologi, CTO, dll. - tanggung jawab yang sangat berbeda)
  2. Anda dapat memilih sendiri tumpukan teknologi.

Kekurangan


  1. Mungkin dimungkinkan untuk tidak mengetahui detail teknologi hanya untuk manajemen tingkat atas. Seorang pemimpin tim yang sederhana harus mengetahui segalanya, Anda tidak bisa ke mana-mana. Pimpinan teknologi harus tahu yang terbaik.
  2. Pekerjaan ini bukan untuk banyak orang. Mengelola orang adalah profesi yang sepenuhnya terpisah yang tidak ada hubungannya dengan pemrograman. Banyak yang bercita-cita di sana, tetapi setelah hampir tidak mencobanya, mereka dengan senang hati kembali ke kode.
    Jika salah satu kualitas yang dianjurkan dari seorang programmer sederhana adalah super-konsentrasi pada tugas yang sulit, maka di sini adalah sebaliknya: Anda sering menyulap tugas tanpa benar-benar menyelidiki implementasi (tidak ada waktu untuk ini).
  3. Bahkan jika Anda memilih tumpukan sendiri, Anda tidak akan membuat perubahan radikal pada proyek (menulis ulang dari PHP ke Rust), karena masih tidak ada sumber daya untuk ini. Ketika Anda bertanggung jawab untuk semua "masalah teknis", Anda memahami hal ini lebih dari sebelumnya.

Pergi ke perusahaan yang dapat dipercaya atau diatur


Mereka mengatakan bahwa sampai sekarang di suatu tempat di bank dan industri minyak mereka menggergaji di Jawa 7 dan tidak tahu kesedihan. Dan pekerjaan seperti itu ada di sana selama 100 tahun lagi.


Kerugiannya juga jelas: kebosanan, birokrasi. Nah, jika tiba-tiba perusahaan yang stabil tiba-tiba mati, dan ini juga terjadi, maka akan sulit di pasar tenaga kerja dengan java 7.


Bahasa setengah mati


Ada legenda tentang programmer COBOL dan gaji tidak manusiawi mereka. Saya cukup percaya: meskipun permintaan kecil, tidak ada pasokan sama sekali. Tidak ada yang akan belajar cobol.


Kerugian: bahasa kuno mengerikan, dan alat untuk mereka mengerikan. Prospeknya tidak jelas, sangat mungkin bahasanya mati sampai akhir.


Kembangkan inti dari basis data atau Linux


Ada produk seperti itu untuk semua waktu, di mana orang menggergaji sesuatu di sana dalam C dua puluh tahun yang lalu, dan menggergaji.


Dari kekurangannya, patut dicatat bahwa menulis dengan aman di C tidak mudah, dan tidak semua orang menyukai manajemen memori manual. Mungkin suatu hari Rust akan menempati ceruk ini, meski dipastikan tidak dalam dekade mendatang.


Tidak ada banyak lowongan di C murni, dan biasanya itu berarti adanya sejumlah besar pengetahuan lain selain bahasa.


Mengubah pola pikir majikan


Ini dari serangkaian mimpi pipa, tapi tetap saja.


Jika seseorang tahu tiga bahasa dan dua pangkalan, berapa banyak waktu yang dia butuhkan untuk mulai menulis dalam keempat bahasa tersebut? Sangat sedikit. Namun demikian, dalam lowongan, mereka menulis sesuatu seperti mantra: "pengalaman di jawa dari tiga tahun." Saya menyarankan pengusaha untuk menulis ini: "pengalaman di java dari tiga tahun atau penyelesaian tugas tes." Anda harus pergi, bukan catur.


Saya akan melemparkan sedikit pada penggemar: php-shnik dengan sepuluh tahun pengalaman yang mengenal OOP dengan baik dan, katakanlah, menulis naskah, dapat dengan mudah beralih ke java. Di sana, bahkan kata kuncinya sama: kelas, antarmuka, ekstensi, implementasi, dll. Prinsip-prinsip SOLID persis sama.


Dan mungkin dalam 2-3 bulan itu akan menulis tidak lebih buruk dari seorang pekerja javist berusia 3 tahun. Karena Anda sudah tahu cara menulis query SQL yang kompleks, Anda tahu standar HTTP, Anda tahu cara tata letak dan JavaScript, dan banyak lagi. Tentu saja, ada 100.500 nuansa, multithreading, dll., Tetapi jika Anda terbiasa memecahkan masalah dalam 10 tahun, Anda akan berurusan dengan apa pun, biarkan saya membaca manual.


Pada awalnya, seseorang harus memukul tangan, tetapi ini masih tidak sebanding dengan pemula yang lengkap dalam profesi.


Perubahan aktivitas


Ada banyak kegiatan berbeda yang berkaitan dengan pembangunan: konsultasi, advokasi pengembang dan hal-hal lain semacam itu. Jika bahasa tersebut ditangguhkan, lalu mengapa tidak.


Anda dapat memulai bisnis Anda sendiri dan melakukan apa saja. Kebenaran dan risiko maksimum: 9 dari 10 inisiatif seperti itu biasanya hangus. Ya, pengembangan diri biasanya juga menjadi prioritas di sini)


Perubahan kerja yang konstan


Jika Anda berganti pekerjaan satu atau dua tahun sekali, maka Anda pasti akan laris di pasar. Saya belajar Bereaksi di satu pekerjaan, Postgres di pekerjaan lain, dll. Namun, ada juga banyak kekurangan. Karier lebih sulit untuk dibangun; sepanjang waktu Anda perlu menggiling ke tim dan bos baru; harus menjelaskan dalam wawancara mengapa Anda adalah "selebaran"


Cara kompromi


Jika kita tidak bisa menyelesaikan masalah, maka kita bisa melemahkannya. Misalnya, untuk memodernisasi setidaknya beberapa bagian dari kode produk, dll., Karena kadang-kadang Anda dapat menemukan perubahan yang bermanfaat bagi bisnis. Nah, pada hal-hal kecil juga: pindah dari Grunt + RequireJS ke Webpack + ES Impor adalah masalah satu hari, dan kemudian Anda dapat dengan aman menggunakan JavaScript modern.


Manajemen waktu


Jika mempelajari hal-hal baru itu menarik, tetapi tidak ada waktu, maka Anda sering dapat menemukan sesuatu. Misalnya, saya mencoba pergi ke St. Petersburg dengan kereta api (saya tinggal di dekat Pavlovsk). Ini adalah sekitar 40 menit waktu di sana dan sebanyak itu kembali. Sangat mungkin untuk membuat beberapa "tomat" pada topik yang menarik. Baik, atau hanya membaca buku. Sekarang, misalnya, saya menulis artikel ini)


Jika saya bepergian dengan mobil, saya mencoba mendengarkan podcast tematik untuk memperluas wawasan saya.


Alih-alih output


Artikel ini bukan upaya untuk mengajarkan gaya artikel bodoh ala la "7 cara untuk menjadi kaya tanpa melakukan apa pun." Sebaliknya, saya ingin belajar sesuatu yang bermanfaat dari komentar. Selamat datang!

Source: https://habr.com/ru/post/id414001/


All Articles