"Setan menarik saya untuk pergi bekerja di kantor" - 10 pertanyaan kepada programmer, edisi ke-9



Entah bagaimana ternyata hampir semua delapan masalah yang kami bicarakan dengan pengembang kantor, dan tidak menginterogasi seperti apa kehidupan di lepas. Hari ini, akhirnya, kami memperbaikinya. Diceritakan oleh Denis Kazakov ( nrcpp ). Dia menulis program pertama pada 14 di Pascal, dan di universitas ia mengembangkan kompiler front-end C ++ dan merobek artikel tentang jackpot karma di Habré ini.

Dia menganggap Kush lebih realistis dalam Upwork - 60 proyek yang telah selesai dan jumlah yang rapi (well, bagi saya) dalam grafik uang yang diterima. Tetapi di bawah potongan, tidak ada kebanggaan dan motif dalam semangat "kamu juga bisa." Sebaliknya - cerita tentang pengalaman kantor pahit untuk freelancer berpengalaman.


1. Ceritakan kepada kami tentang fitur yang Anda terapkan dan yang Anda banggakan.


"Fitur" pertama adalah semester pertama di universitas. Saya tiba di universitas sudah siap dan lulus sesi secara otomatis. Dia mungkin tidak muncul di ujian, tetapi teman sekelasnya meminta untuk tetap dan berdiri di koridor, untuk membantu jika itu. Setelah 15 menit dari awal ujian, hampir seluruh kelompok, pada gilirannya, "ingin menggunakan toilet." Dan ini sekitar 25 orang.

Masing-masing bertahan satu daun, lalu dua. Di mana-mana, dengan sentuhan gugup, sesuatu seperti "Tambahkan 2 elemen maksimum dalam array" atau "Temukan elemen dalam array lebih besar dari X" tergores.

Satu jam kemudian itu adalah conveyor keseluruhan. Dua tumpukan tumbuh di sebelah saya - di satu, semakin banyak daun baru, di yang lain - sudah menyelesaikan tugas. Satu orang keluar, mengeluarkan "pesta" baru dan mengambil solusi yang sudah jadi. Dengan demikian, seluruh kelompok melewati sesi pada 4 dan 5. Sejak itu, kami berteman.

Fitur kedua adalah kompiler C ++ saya sendiri, yang saya tulis hampir sepanjang masa studi di universitas. Sejak itu, saya tidak dapat menarik proyek saya sendiri dengan satu antusiasme. Di mana orang mendapatkan kekuatan mereka untuk proyek baru mereka?

Dan proyek ketiga adalah tes visi biasa. Saya membuatnya mulai dari "File -> New Project" dan berakhir dengan penjualan. Tetapi desas-desus yang sebenarnya adalah bahwa Anda melihat bagaimana orang menggunakan gagasan Anda, dan ini membantu mereka mengidentifikasi masalah kesehatan.

2. Dan sekarang - tentang fakap paling sengit


Saya tidak bekerja di Google, saya tidak menulis perangkat lunak untuk ahli bedah dan ilmu roket, jadi saya tidak ingat fakap cerah karena kode saya. Saya akan memberi tahu Anda lebih baik bagaimana saya prokapapilsya menjadi pemimpin tim.

Setelah bertahun-tahun lepas dari rumah, iblis menarik saya untuk pergi bekerja di kantor, di sebuah perusahaan outsourcing besar, dengan pelanggan yang bahkan lebih besar (salah satu pemimpin dunia dalam industri). Situasi ini membuat saya stres, saya tidak benar-benar bekerja di kantor sebelumnya, dan kemudian ada kerumunan orang untuk berorganisasi. Awalnya ada 6, lalu 10, lalu 18, dan akhirnya 25! Saya tidak mengandalkan adegan kelahiran seperti itu. Lagipula, semua orang untuk dirinya sendiri. Dia mengambil kartu di Jira dan menggergaji dirinya dalam diam. Dan Anda tidak ingin memotong.

Ini tidak akan berfungsi di sini. Pada jam 10 pagi di resepsi, diamlah dan bersikap baik hati, katakan “Saya sedang mengerjakan tugas saya” di stand-up. Pukul 4 sore menelpon pelanggan. Anda mengatakan hal yang sama, hanya kepadanya dan dalam bahasa Inggris. Di antara dua kelas ini, Anda tertarik dengan june, magang, akuntan, petugas kebersihan. Tentu saja, tanggung jawab untuk semuanya ada pada Anda.

Secara umum, saya mulai merasa bahwa saya tidak bisa mengatasinya, dan organisasi kerja seperti itu bukan untuk saya. Saya kehilangan minat dalam pekerjaan, tetapi gaji dan kemauan saya membuat saya tetap semangat "Anda bisa!" Jangan lakukan itu.

Ketika Timlid tidak memiliki minat, kekacauan muncul. Suatu bulan Juni mengambil 50% dari tugas, hanya karena dia duduk di sebelah saya di ruang terbuka. Magang lain mengambil modul mandiri yang kritis, yang diselesaikan oleh hampir seluruh tim.

Saya jatuh selama sebulan karena masalah kesehatan, dan ketika saya kembali, proyek itu memerintahkan "hidup lama." Dan tim tersebar di proyek-proyek lain dari pelanggan yang sama. Setelah beberapa saat, saya kembali ke pekerjaan lepas saya yang biasa.

3. Jelaskan ruang kerja Anda: dari kursi dan monitor ke lingkungan pemrograman dan utilitas favorit Anda. Dan lampirkan tangkapan layar jika Anda bisa


Meja besar adalah kunci produktivitas, saya pikir.



Besi benar-benar berubah setiap 5-6 tahun. Sekarang saya memeras maksimal dari generasi kedua i5, dengan 500 GB SSD + HDD lama, dan 16 GB RAM DDR2. Sudah lama tangan gatal untuk meningkatkan, terutama ketika persentase terlalu panas. Tetapi baik katak menekan, atau lebih mudah untuk mengubah pasta termal. Musim panas ini, dengan mencicit, saya beralih dari Windows 7 ke sepuluh besar, karena di bawah Xamarin lebih mudah untuk menuliskannya.

Ada juga MacBook Pro 2011 terlambat, untuk proyek iOS. Wajan berbahaya karena usia. Sekali lagi, dilema adalah apakah akan menyimpan uang untuk apartemen, atau untuk membeli MacBook baru yang tidak dipanggang.

Dari Tula - dari tahun ke-99 Visual Studio. Dan dengan setiap versi baru saya yakin bahwa tidak ada lagi yang diperlukan. Beberapa ekstensi yang sangat kecil, seperti Ctrl + Click untuk pergi ke deklarasi metode, dan ke pertempuran.

Untuk Git - SourceTree. Untuk pengujian pada sistem operasi yang berbeda - VmWare. Terkadang mereka meminta installer untuk melakukan - untuk ini, Penginstal Lanjutan. Segala sesuatu yang lain dilakukan baik di web atau di notepad.exe. Ketika Jawa dibutuhkan, IntelliJ.

4. Dengan prinsip apa Anda memilih pekerjaan? Tumpukan, produk, kondisi kehidupan, uang?


Jika ada pesanan lepas - Anda naik kuda, tidak ada pesanan - Saya siap memanfaatkan makanan 24/7. Terima kasih Tuhan, masa-masa ini berlalu sekitar lima tahun yang lalu. Tetapi ternyata yang dilakukan kursor terhadap siswa dari India, dan Malvari yang bodoh lainnya diminta untuk menulis. Sekarang saya sedang mengerjakan apa yang menarik. Misalnya, proyek terbaru adalah otomatisasi web dan NLP.

Saya berusia 32 tahun, dan sekarang saya kurang antusias untuk mengikuti beberapa tren baru. Pekerjaan kantor ideal saya adalah sekitar lima meter dari rumah, lebih disukai di lantai berikutnya. Kantor terpisah, dengan meja yang nyaman, kursi dan besi. Dan teknologi yang saya tahu. Mungkin 10-20% lain dari waktu kerja ketika Anda dapat bereksperimen dengan yang baru. Namun, saya menggambarkan bagaimana saya bekerja hari ini.

Anda tidak dapat selalu mencari tahu tentang suatu produk ketika melakukan outsourcing. Tetapi jika ada kebun binatang teknologi yang berbeda, dari Fortran ke Go, maka mungkin tidak.

Saya biasanya meminta uang tepat di atas pasar, tetapi ini tidak kritis.

5. Teknologi dan bahasa apa yang Anda gunakan untuk Anda perbaiki?


Hal pertama yang mengganggu Anda sebelum menggiling gigi adalah tidak adanya UI lintas platform untuk .NET. Atau untuk kesederhanaan, WPF untuk macOS. Poin kedua adalah kualitas proyek Xamarin sendiri hari ini. Terutama kecepatan perakitan dan penyebaran aplikasi Xamarin, terus-menerus terbang Xamarin XAML Previewer, karena alasan yang tidak diketahui, kesalahan muncul yang hilang hanya setelah restart IDE.

Segera setelah saya duduk untuk menulis aplikasi serius pertama saya di Formulir Xamarin (Formulir adalah bagian bawah, saya tahu, tetapi tidak ada pilihan), saya hanya menjadi gila pada jumlah rebana yang diperlukan untuk mengeluarkan aplikasi dari kotak untuk iOS / Android. Sekarang sepenuhnya memperbarui perangkat lunak pihak ketiga di mana Xamarin bergantung - situasinya telah berubah.

Saya ingin membuat kerangka program dalam beberapa baris. Ini menggambarkan model domain, dan IDE menghasilkan ViewModel, mockup UI, kelas untuk bekerja dengan konfigurasi, log, pengecualian penangkapan, DAL, BAL, SAL - yaitu pembungkus di sekitar API.

Seolah-olah, seperti perancah di ASP.NET MVC, atau serupa di akhir LightSwitch. Tetapi dalam kompleks, seperti yang saya jelaskan, sehingga semuanya dihasilkan bersama - tidak.
Setiap proyek baru, dalam banyak kasus, adalah copy-paste kode dari masa lalu. Kemudian menghubungkan komponen basis kode baru satu sama lain, melalui lapisan abstraksi.
Saya pikir situasinya akan segera berubah, dan kami akan menghasilkan 90% dari kode aplikasi di beberapa baris DSL. Meskipun upaya dengan "peluru perak" belum berhenti sejak pembuatan program pertama.

6. Di mana lebih baik untuk belajar dari pengalaman orang lain - di universitas, di konferensi, di Habré? Di tempat lain?


Ambillah dan lakukan itu. Cukup tulis kodenya. Namun secara umum, untuk masing-masing sendiri. Sebagai contoh, saya menjalankan program penulisan, seperti dalam film tentang peretas. Saya mengikuti kursus Turbo Pascal. Menulis program pertama yang menambahkan dua angka. Dia meluncurkannya dan menyeretku tiga puluh kilometer melalui semua portal alam semesta. Dan kemudian saya menyadari bahwa itu milik saya.

Program kedua dan ketiga sudah lebih sulit dikuasai - ada jika dan sementara. Dan saya tidak mengikuti kursus lagi. Namun keinginan itu tetap ada. Dan karena tidak ada rekan yang berpengalaman, dan kemudian guru, saya hanya membeli buku. Saya menulis ulang daftar program dan membeli lagi.

Kemudian dia mulai menciptakan sesuatu miliknya sendiri. Saya berpikir untuk menulis kompiler C ++ saya. Tiga tahun telah berlalu. Dan saya sudah siap untuk proyek ini dalam kondisi nyata, di mana uang dibayarkan. Proyek demi proyek, semakin membaik, tumbuh menjadi Microsoft MVP, MCP, dan menyelesaikan 60 proyek.

Tapi dia tidak belajar bagaimana menulis exploit, seperti di film "Hackers".

7. Jika Anda memiliki sumber daya yang tidak terbatas (waktu, uang, tenaga, orang), proyek apa yang akan Anda ambil?


Anda tahu, saya ingin membuat sistem yang akan mengubah pendekatan pembangunan secara fundamental. Melainkan, proses penulisan kode.

Ingat bagaimana karakter utama dari film "Kata Sandi Swordfish" menciptakan Khidra-nya? Aki dukun, melambaikan tangannya dan memutar-mutar kubus rubik. Atau seperti di film Iron Man. Ya, ini adalah standar Hollywood - untuk melambaikan tangan Anda pada layar transparan, kubus lipat. Saya ingin membuat hal seperti itu dan memasukkannya ke massa.

Ngomong-ngomong, dengan sangat serius, saya sudah berinvestasi dalam alat serupa untuk programmer yang bekerja di iPad. Namun ternyata 3 freelancer dan $ 20.000 tidak cukup untuk revolusi dalam pemrograman.

8. Bagaimana Anda rileks? Apa yang kamu lakukan selain bekerja?


Ketika mereka bertanya tentang hobi dan waktu luang, saya jatuh pingsan. Segera bayangkan teman bicara dalam pakaian ski, yang terkenal turun dari pegunungan Alpen. Atau seorang musafir di hutan Amazon.

Saya tidak memiliki hobi tertentu. Sebelumnya, ia secara profesional terlibat dalam sepak bola, hingga usia 16 ia adalah kapten tim pemuda liga utama. Dan kemudian saya menulis program pertama ... Sekarang saya suka menonton pertandingan berkualitas tinggi, kadang-kadang saya pergi untuk berlari sendiri.

Saya suka berjalan sendirian di pusat kota. Pelajari teknologi baru, tetapi sekringnya cukup untuk dua hingga tiga minggu. Berpegang teguh pada situs yang benar-benar sampah, seperti kusta.

Baru-baru ini, saya mencoba mencari cara untuk membuat video. Saya membuat saluran YouTube di mana saya berbicara tentang lepas. Meskipun ini lebih merupakan eksperimen.

Jadi, saya punya dua spingrosis kecil dan seorang istri yang tidak membiarkan saya bosan.

9. Ceritakan tentang 3 buku favorit - pendidikan, sains populer dan fiksi.


Pendidikan dan sains populer - Donald Knuth, “The Art of Programming” (volume 1 dan 3)
Artistik - Entahlah di Bulan. Saya membacanya pada usia 7 tahun, setelah itu, saya tidak ingat apa pun untuk mulai membaca sendiri. Mungkin biografi Jobs sudah jauh. Dari hal terakhir yang saya baca - Sapiens. Sejarah singkat umat manusia.

10. Jika, tepat di depan mata Anda, AI bangun, apa yang akan Anda katakan kepadanya?


Pertama, saya percaya bahwa pikiran dan jiwa adalah satu. Tumpukan besi tidak dapat memiliki jiwa menurut definisi. Meskipun komputer saya bereaksi berbeda jika Anda berteriak atau memuji itu, untuk beberapa alasan.

Tetapi jika kita secara hipotetis membayangkan bahwa AI beradaptasi dengan kondisi kehidupan di Bumi, itu akan mengadopsi kebiasaan perilaku orang, seperti anak kecil, ketika belajar berjalan dan berbicara. Lalu, mungkin, saya akan bertanya bagaimana cara menyembuhkan penyakit yang tidak dapat disembuhkan dan menghindari perang, dan kemudian kelebihan populasi di Bumi.

Pertanyaan dari pahlawan sebelumnya


Apa yang akan Anda lakukan dalam ekspedisi intergalaksi yang berlangsung beberapa generasi?

Tentu saja saya akan memberi kode dan mengotomatiskan kebutuhan ekspedisi.

Dan jika Anda bermimpi, dan menganggap bahwa saya tidak menua, tidak ada waktu dan kerangka konsumen, maka saya akan mencoba mengunjungi sebanyak mungkin planet yang cocok untuk kehidupan. Bertukar kontak dengan penduduk Gliese 581g, minum bir di Mars, luncurkan startup di Andromeda, tidur dengan alien.

Pertanyaan untuk pahlawan berikutnya


Apa saran yang akan Anda berikan kepada diri sendiri ketika Anda kembali 10 tahun yang lalu?

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


All Articles