
Halo, Habr!
Ingat
kisah Steve Jobs dan Dennis Ritchie ? Kami tidak ingin mengatur perselisihan dan membaca moral lagi, tetapi kebenarannya tetap benar - ribuan teknisi keren duduk di bawah bayang-bayang, dan cerita mereka tersembunyi di lemari.
Kami di kantor redaksi Habr bermaksud untuk memperbaiki ini. Mulai sekarang, kami akan secara teratur mewawancarai orang-orang tentang siapa yang tidak mereka tulis di media dan yang tidak dikejar di jejaring sosial. Jadi, jika Anda memiliki sesuatu untuk diceritakan tentang diri Anda, bersiap-siaplah.
Untuk membuat Anda mengerti bagaimana tampilannya, mari kita mulai dengan contoh kita. Di bawah kucing, 10 pertanyaan umum yang akan kami ajukan kepada semua orang. Untuk pilot,
fillpackart menjawabnya. (Bulan ini saya melakukan beberapa wawancara yang tampaknya baik dengannya:
satu ,
dua ,
tiga ). Baca, dan jika Anda ingin menceritakan tentang diri Anda dengan cara yang sama, tulis pesan kepada saya atau
baragol .
Philip Rangin, putra seorang insinyur dari Ivanov. Dia mulai menulis dalam bahasa C ++ pada usia 16 di universitas, kemudian belajar .net. Sekarang insinyur pengembangan perangkat lunak senior di kantor asing yang baik. Selain bahasa umum, ia menulis dalam F # dan OCaml.1. Ceritakan kepada kami tentang fitur yang telah Anda terapkan dan yang Anda banggakan.
"Aku tidak melakukan apa pun untuk dibanggakan." Sepanjang kehidupan profesional saya, saya telah memecahkan masalah yang sangat sepele. Karena itu, saya bangga dengan apa yang bisa saya lakukan, tetapi tidak apa yang saya lakukan.
Saya pikir saya bisa bangga jika saya bisa menerapkan AI yang baik.
2. Dan sekarang - tentang fakap paling sengit.
- Suatu hari, saya mencoba gagal untuk mendapatkan OCaml di Windows (gagal mencoba untuk mengulangi). Ini tidak ada hubungannya dengan pekerjaan, dan keesokan paginya di rapat umum itu perlu berbohong. Saya melihat - bug melekat pada saya yang bahkan tidak saya lihat. Yah, saya pikir, "tidak akan ada bug yang tidak dapat saya perbaiki dalam dua hari!" Pada rapat umum tersebut, dia mengatakan bahwa dia mengerjakannya, dan dalam dua hari akan ada PR.
Akibatnya, saya mengerjakannya selama tiga bulan.
Bug itu terkait dengan interaksi dua sistem besar. Itu direproduksi terus-menerus. Selama tiga bulan saya benar-benar membangun berbagai hipotesis dan mengujinya, membuat kesalahan lagi dan lagi - saya bahkan meninggalkan membangun rumah di Skyrim. Ini adalah tiga bulan terburuk dalam hidupku.
Saya akhirnya menutupnya sebagai "No repro". Saya datang ke direktur, berkata: "Saya bodoh, dan saya ingin berhenti agar tidak menyiksa Anda." Tetapi sebagai tanggapan, mereka sangat menaikkan gaji saya.
3. Jelaskan ruang kerja Anda: dari kursi dan monitor ke lingkungan pemrograman dan utilitas favorit Anda.
- Saya bekerja menggunakan sistem operasi Windows karena saya memiliki .net stack dan karena Windows memiliki UI terbaik. Saya duduk di meja yang saya buat sendiri. Dia besar, muat lima orang.
Saya tidak memiliki devbox terburuk, tetapi dengan satu minus yang signifikan - Saya mencoba untuk menghemat uang dan membeli persentase AMD. Itu adalah kegagalan yang mengerikan. Meskipun kekuatan menyatakan tinggi, omong kosong ini menjalankan tes saya di 5 !!! kali lebih lambat daripada rekan Intel.
Sekarang saya hanya punya satu monitor. Saya berencana untuk membeli pasangan lagi agar tidak mempermalukan. IDE favorit saya adalah Visual Studio 2017 bersama dengan Resharper. Editor teks favorit - Visual Studio Code bersama dengan satu miliar ekstensi. Mengunduhnya dan menonton bagaimana VSCode berkembang adalah salah satu hobi saya.
Saya suka git, tapi saya mungkin lebih suka Layanan Visual Studio Team daripada GitHub.
4. Dengan prinsip apa Anda memilih pekerjaan? Tumpukan, produk, kondisi kehidupan, uang?
- Saat ini, faktor utama bagi saya adalah pembayaran dan kemampuan untuk bekerja untuk sepertiga dari kemampuan saya. Tampaknya bagi saya bahwa saya kelelahan dan tidak lagi siap untuk bekerja untuk bisnis secara ideologis. Bahkan rasa takut dipecat dan kehilangan cara hidup saya yang biasa tidak dapat membuat saya terjun jauh ke dalam proyek. Dan saya adalah ayah dari satu setengah anak - ketakutan itu sangat serius. Tetapi keseragaman dan tidak masuk akal dari semua yang saya lakukan sekarang menyebabkan saya hampir menderita sakit fisik.
Kadang-kadang bagi saya tampak bahwa dengan pendekatan ini saya tidak memiliki hak moral untuk mencari pekerjaan. Saya membenarkan diri saya dengan fakta bahwa dalam kaitannya dengan sistem itu tidak mungkin menjadi bermoral atau tidak bermoral. Abstraksi korporasi membantu menjauhkan diri dari pemikiran bahwa Anda dapat mencelakakan orang-orang sungguhan - karena itu saya hanya mengambil pekerjaan dari perusahaan besar.
Pada saat yang sama, itu membingungkan saya betapa besar uang yang saya dapatkan untuk kota saya untuk satu permintaan tarik. Seolah keterampilan tinggi pengembang memberi saya hak untuk hidup sepuluh kali lebih baik daripada sekelompok orang yang, dalam keringat wajah mereka, melakukan pekerjaan yang bermanfaat selama delapan jam sehari.
Kadang-kadang tampaknya, karena saya dapat memutar ulang bisnis di akun jaminan sosial, saya dalam beberapa cara layak apa yang saya miliki. Karena itu, saya kehilangan kontak dengan kenyataan, dan mulai terasa bagi saya bahwa memang begitulah seharusnya.
Saya tidak tahu bagaimana menggabungkan ini, tetapi saya suka berkembang dan benci bekerja sebagai pengembang. Saya mencoba meyakinkan diri sendiri bahwa saya belum menemukan proyek yang menarik, tetapi pada saat yang sama saya tidak percaya akan hal itu sendiri. Sangat sulit untuk hidup bersama.
5. Teknologi dan bahasa apa yang Anda gunakan untuk Anda perbaiki?
- Saya ingin:
- Ketik inferensi dan imunitas waktu kompres untuk naskah dan C #. Kemudian saya dapat membuat metode yang menerima sesuatu yang dijamin tidak dapat diubah, dan tidak seperti sekarang - ReadonlyDictionary, yang tidak benar-benar hanya baca (melewati dixnari yang biasa ke konstruktornya, meninggalkan tautan ke sana dan bermutasi dengan diam-diam).
- Sehingga para pengembang C # akan mengirim, akhirnya, ke neraka dengan kompatibilitas ke belakang, penggunaan aneh yang hanya bekerja di dalam satu file dan membuat YaP lebih modern. Serius, dalam bahasa yang IDictionnary <IMyStupidType, IMyStupidType2> Foo (Func <IMySupidType, int, bool, string> sungguh-sungguh kode gayaCallback tidak biasa , itu keputusan yang sangat aneh.
- Bidang dukungan otomatis dalam C #, semacam gula lebih dari Func <T1, T2> .
- Kontrak untuk C # di luar kotak (misalnya, di Roslyn) alih-alih solusi pihak ketiga yang mengubah IDE saya menjadi sesuatu yang menghambat.
- Analog jsx untuk bahasa F #. Jika tidak ada dari Anda yang melakukannya di minggu depan, biarkan saja - saya akan mendapatkannya.
- Agar masyarakat menyadari bahwa unit test adalah sampah yang tidak berguna, dan bahasa dengan pengetikan dinamis (jangan dikacaukan dengan yang lemah) adalah kegagalan terbesar dalam sejarah industri.
- Sehingga arsitektur prosesor lebih dirancang untuk pendekatan fungsional.
- Optimalisasi rekursi ekor di JS / TS sehingga saya bisa mengetahui rekursi ekor saya di mana saja tanpa bertumpu pada ukuran tumpukan. Ada satu dalam spesifikasi, tetapi orang-orang yang melihat v8 baru saja memutuskan bahwa itu tidak begitu penting untuk mengikuti spesifikasi bahasa ketika mengembangkan runtime untuk itu.
- Mengetik statis opsional dalam JS di luar kotak, tetapi tidak bertentangan dengan naskah. Berbeda dengan pembuat skrip waktu, saya menganggapnya sebagai YaP independen dengan desain multi-paradigma yang sangat modern dan kuat.
- Untuk membuat hal-hal seperti Web-assembly secara tegas mengambil tempat dalam praktik dan standar pengembangan front-end.
- Peningkatan yang signifikan dari klien web Github dan sejenisnya. Idealnya, kemampuan bekerja dengan nyaman dengan kode proyek serius di browser.
- Lebih banyak konvensi tentang kompatibilitas. Betapa jauh lebih mudah jika jvm mampu menginterpretasikan dan jit-denote cil.
6. Di mana lebih baik untuk belajar dari pengalaman orang lain - di universitas, di konfakh, di Habr? Di tempat lain?
- Saya belajar di universitas, tetapi saya dikeluarkan beberapa kali. Berada di conf, saya terus membaca Habr. Sepertinya saya tidak pernah belajar sesuatu yang berguna dari sumber-sumber ini. Ya, atau saya senang berpikir demikian.
Maksud saya adalah membaca buku dan berteman dengan pengembang. Saya berpikir bahwa pengaruh terbesar pada keterampilan saya dibuat oleh komunikasi dengan orang-orang pintar yang terlibat dalam pengembangan.
7. Jika Anda memiliki sumber daya yang tidak terbatas (waktu, uang, tenaga, orang), proyek apa yang akan Anda ambil?
- Akan sangat bagus untuk membuat simulasi yang seakurat mungkin dari dunia manusia, sehingga kita dapat menguji di dalamnya bagaimana membawa masyarakat ke negara yang paling bahagia. Lagi pula, bagaimana itu akan berperilaku dalam berbagai kasus.
8. Bagaimana Anda rileks? Apa yang kamu lakukan selain bekerja?
"Saya berjalan melalui hutan dan berpikir, kadang-kadang dengan bir, bermain gitar dan kadang-kadang bermain video game." Saya akan mengatakan bahwa hobi saya adalah berpikir dan bermimpi.
Saya punya beberapa proyek dengan teman. Saya terutama ingin memberi mereka ulasan kode agresif secara pasif ("bisakah Anda menawarkan motivasi untuk menggunakan keputusan yang salah?") Dan perhatikan bagaimana ini mengubah hubungan kita.
Kadang-kadang saya melakukan semua jenis omong kosong kemanusiaan seperti wawancara. Saya terus-menerus mulai menulis buku, meskipun saya belum menyelesaikannya.
9. Ceritakan tentang 3 buku favorit - pendidikan, sains populer dan fiksi.
Pelatihan - “CLR via C #” oleh Jeffrey Richter. Begitu banyak pengetahuan tentang bagaimana runtime terperinci diatur dalam satu karya adalah temuan nyata. Jika Anda menghafal buku ini, Anda akan melalui akun jaminan sosial apa pun di donneter. Saya juga akan menyebutkan "Struktur Data Fungsional" oleh Chris Okasaki. Tidak terlalu berguna dari sudut pandang praktis, tetapi dia mengembalikan kepercayaan saya pada pemrograman - implementasi struktur data menyebabkan saya menjadi sensasi metafisik.
Scientificpop - Saya tidak tahu apakah Kode Lengkap dapat dianggap seperti itu, tetapi saya benar-benar suka membaca ulang. Penulis menulis hal-hal yang sangat jelas, dan pada semua proyek tempat saya bekerja, untuk beberapa alasan tidak ada yang bisa mengikuti prinsip-prinsip sederhana ini secara memadai.
Artistik - "Tragedi Amerika" oleh Dreiser. Saya tidak akan pernah berpikir bahwa monster digital pragmatis seperti saya dapat berempati dengan seorang gadis yang ditinggalkan, dan kemudian juga mati. Tetapi saya empatik, dan itu sangat memukul saya.
10. Jika, tepat di depan mata Anda, AI bangun, apa yang akan Anda katakan kepadanya?
"Saya akan menyarankan dia merancang kecerdasan buatan, dan kemudian membandingkan mana yang lebih baik." Jika yang baru lebih baik, saya akan memintanya untuk merancang kecerdasan buatan, dan kemudian ...
Jika AI ternyata menjadi encoder yang kuat, saya akan menggunakannya untuk membuat argumen besi bahwa Golang adalah jalan buntu dalam pengembangan pemrograman. Karena ada banyak holivar semacam itu dalam hidup saya, dan saya tidak punya anggaran untuk mempelajari Golang untuk membuat argumen yang bagus.
Bonus: ajukan pertanyaan kepada pengembang lain.
- Mempelajari teknologi apa yang paling Anda nikmati dalam prosesnya?