Haruskah Anda memecat pengembang karena kesalahan besar dan mahal? Saya kira tidak, tetapi manajemen menginginkan darah





Semua orang di Inggris terobsesi dengan sepak bola. Banyak tim amatir dan banyak stadion. Dan melalui beberapa kenalan, seorang Inggris mendekati saya yang memiliki ide dan sejumlah uang - dia meminta saya untuk membuat aplikasi di mana orang dapat mengelola tim sepak bola amatir mereka. Tempatkan orang di lapangan, lakukan pergantian pemain, cari pemain, pesan stadion, dan mengobrol.



Saat itu saya mengalami periode aneh dalam hidup saya - dan saya sama sekali tidak tahu bagaimana saya bisa bertahan. Universitas pada siang hari, pada malam hari bekerja sebagai backend yang bertugas sampai pagi, dan di suatu tempat di antara program pengembangan android. Selain itu, saya memiliki cukup energi dan antusiasme untuk pergi ke sana bukan untuk pertunjukan, tetapi untuk benar-benar terbakar.



Jadi saya setuju untuk bekerja. Dan itu hanya jalan keluar setelah apa yang saya lalui dalam pengembangan backend.



Di sekolah saya, di ruang kelas matematika, ada tanda dengan tulisan yang langsung membuat saya penasaran. Kemudian saya lebih dari sekali yakin akan kebenaran kata-kata ini:



Program tidak melakukan apa yang Anda inginkan, tetapi apa yang tertulis



Ketika saya masuk universitas, pada pertemuan dengan guru, saya bilang, mereka bilang, saya mau jadi programmer. Saya yakin - Anda akan melakukannya. Benar, mereka menambahkan bahwa untuk menjadi seorang programmer Anda harus belajar sepanjang hidup Anda. Setelah menafsirkan ini dengan cara saya sendiri, saya tidak memperpanjang pelatihan seumur hidup dan menumpuk sepenuhnya: pasangan di universitas, kursus di malam hari, lepas di malam hari.



Mencari pekerjaan paruh waktu membawa saya ke proyek yang menarik: pengembangan mesin pengenalan suara di sisi positifnya. Bersama dengan tim, kami memperjuangkan persentase pengakuan: Saya sangat berharap untuk memompa mobil hingga 100% hasilnya!



Itu adalah rasa sakit yang sesungguhnya dari seorang perfeksionis. Saya datang dengan solusi saya sendiri, mengambil mesin open source orang lain, membongkarnya menjadi roda penggerak, dan memasangnya kembali. Saya menyesuaikan kode, tidak tidur di malam hari, mematuk berpasangan. Saya melepaskan kilometer kode untuk beberapa persen di garis finis.



Tidak ada yang berhasil. Tidak sampai beberapa tahun kemudian saya menemukan bahwa ini tidak mungkin tercapai. Saya mendapat kabar bahwa jaringan saraf Facebook mengenali wajah dengan probabilitas tidak lebih dari 95%. Saya bersimpati dengan Facebook: bahkan perusahaan sebesar itu gagal mencapai seratus. Dan ada juga catatan tambahan yang bagus di artikel itu bahwa seseorang mengenali wajah dengan probabilitas 93%. Sungguh?



Jadi untuk pertama kalinya saya sedikit kecewa dengan pembangunan



Saya mencoba frontend, tetapi semua yang saya tahu tentang mereka kemudian terletak di area stereotip "mereka membuat situs web". Kedengarannya membosankan bahkan saat itu. Saya ingin sesuatu yang lebih menarik. Untuk mencari area baru, saya pindah ke Skolkovo.



Kehakiman Skolkovo membayar beasiswa yang bagus. Tetapi jika Anda ingin tinggal di Moskow dalam skala besar, lakukan sedikit lebih banyak. Saya menemukan lowongan untuk perusahaan dari sektor keuangan. Itu perlu untuk menulis kembali dengan python dan terkadang bertugas di malam hari.



Saat wawancara, saya benar-benar didorong oleh multithreading, dengan nilai tambah di selembar kertas (sulit untuk menulis kode dengan tangan). Mereka menanyakan beberapa hal mendasar tentang python, dan akhirnya mereka mengambilnya.



Sebelum perusahaan ini, saya hanya bekerja dalam tim kecil. Kami berlima bekerja dalam kasus pengenalan suara, tetapi di sini apel tidak dapat jatuh ke mana-mana dari para pengembang. Dan mereka semua tahu lebih banyak dari saya. Saya dibombardir dengan pertanyaan dan bahagia ketika pekerjaan saya mendapat tanggapan. Tiga minggu pertama saya menguasai kerajinan itu. Setiap tinjauan kode diakhiri dengan jawaban "buruk". Saya mengubah semuanya, tetapi tidak menjadi lebih baik. Kode saya harus disetujui oleh setidaknya 4 orang. Kadang-kadang, tiga mengatakan "norma", dan yang keempat masih menemukan sesuatu untuk dikeluhkan.



Mereka juga menunjukkan kepada saya cara yang menarik untuk meninjau - Saya memberikan kode untuk memimpin, itu menandai beberapa tempat, tetapi tidak mengatakan apa masalahnya, saya harus mencoba mencari tahu sendiri. Dan Anda benar-benar mulai berpikir - ini sangat memompa.



Tetapi bahkan kontrol kualitas yang ketat tidak menyelamatkan kami dari masalah.



Pekerjaan itu terkait dengan database. Server perusahaan menyimpan banyak sekali informasi keuangan pelanggan (kartu bank, riwayat transaksi). Setiap 5 hari sekali, ada satu malam yang harus saya habiskan di tempat kerja. Saya memastikan semuanya bekerja, menjawab surat dan panggilan. Saya menyukai shift malam. Untuk pintu keluar mereka bahkan tidak membayar dua kali lipat, tetapi tiga kali lipat. Saya duduk berjaga dari jam 9 malam sampai jam 6 pagi - saya dibayar selama 3 hari. Apa lagi yang dibutuhkan siswa?



Selain uang, siswa perlu tidur yang cukup



Di perusahaan kami, semua proses kerja dibangun dengan sempurna. Cek, tes, review. Sekali lagi pemeriksaan, tes dan ulasan. Tetapi bahkan sistem seperti itu bisa gagal, dan Anda harus bersiap bahwa Anda, seperti seorang prajurit wajib militer, akan dibangkitkan di pagi hari dengan peringatan.



Suatu hari yang cerah saya kembali dari tugas. Aku baru saja jatuh dari kakiku. Saya pergi ke universitas - memerankan seorang mahasiswa. Di malam hari saya pingsan, dan itu bahkan belum pukul delapan. Saya ingin tidur selamanya, tidak kurang.



Tetapi pada pukul 4 pagi saya dibangunkan oleh orang yang bertanggung jawab atas seluruh dukungan di perusahaan - dia menelepon saya untuk pertama kalinya.



- Apakah kamu melakukan sesuatu dengan pangkalan kemarin?

- Tidak, tidak ada yang istimewa.

- Bangun dan segera pergi ke komputer Anda.



Saya orang yang suka bangun pagi, tentu saja, tapi saya masih jadi gila karena menelepon. Jam tangan saya ada pada malam sebelum kecelakaan itu.



Tentu saja, yang pertama terpikir adalah saya menghancurkan semuanya



Ternyata seluruh kelompok pengguna baru saja dipotong. Dia tidak ada di toko. Tapi dia selalu ada disini, dimana dia jatuh? Saya mulai mencari. Melihat log yang dimulai. Saya mulai merokok log ini (setengah jam pertama dihabiskan untuk bangun, setengah jam lagi - untuk menghangatkan log dan memahami skrip mana yang diluncurkan). Saya mengunduh skrip untuk diri saya sendiri, melihat apa yang mereka lakukan, menggali siapa di antara mereka yang naik ke tempat khusus ini. Dan saya menemukan kesalahan.



Meluncurkannya di lingkungan pengujian - pengguna uji menggergaji. Hmm, lihat bagaimana benda ini diuji. Untuk beberapa alasan kali ini, meskipun kami memiliki tiga devstends, yang pertama dan kedua terlewat, dan yang ketiga bahkan tidak jatuh. Tidak ada yang menulis tes untuk ini (saya menandai diri saya sendiri untuk menulis sehingga ini tidak akan terjadi lagi).



Sejalan dengan saya, banyak orang yang duduk dan mencari masalah, terus-menerus menelepon. Akhirnya, pada jam 6 pagi, kami menyadari bahwa seseorang telah menulis skrip, memeriksanya dalam ujian, tetapi tidak memperhitungkan satu kasus penting. Akibatnya, pengguna termasuk dalam kategori yang dapat dihapus.



Jadi kami mendapatkan sekitar satu juta pengguna dalam semalam



Kami memulihkan database, membuat cadangan. Hingga kami mengetahui masalahnya, pengguna memasukkan lebih banyak data sepanjang malam. Kami menulis kepada semua orang tentang masalah teknis, menutup pintu masuk sehingga tidak ada aliran informasi baru. Itu perlu untuk membekukan database dalam 7 jam, menggulingkannya ke database yang nol, mengembalikan semua pengguna. Bagi mereka yang mencoba masuk, tetapi tidak bisa, perusahaan menghapus permintaan maaf terpisah, membebankan bonus.



Kami memperbaiki semuanya pada jam 7 pagi. Pada pukul 8, perusahaan memecat orang yang membuat semuanya.



Pria itu bekerja dengan baik, dia selalu memeriksa semuanya. Beberapa kali dia bahkan mengulas saya dan menyarankan hal-hal yang sangat keren. Tapi ini seperti mengemudi. Pada tahun pertama di belakang kemudi, Anda takut akan segalanya dan berjalan dengan susah payah di jalur yang benar. Kemudian Anda rileks sedikit, dan pada saat ini Anda mengalami kecelakaan!



Apakah saya akan memecat seseorang karena kesalahan? "Program melakukan apa yang Anda tulis." Tapi kami berkembang, kami terus-menerus membuat kesalahan. Bayangkan betapa buruknya pria ini pagi itu. Dan mengapa memasang seseorang yang sekarang akan memverifikasi setiap karakter dalam kodenya? Tetapi manajemen menginginkan darah, dan dalam beberapa minggu berikutnya, beberapa lagi yang terlibat dalam kasus ini menghilang.



Saya bekerja di sana selama beberapa minggu, tetapi saya sudah menyadari bahwa saya ingin keluar dari backend.



Di Skolkovo, saya menyadari betapa tertariknya saya pada proyek dengan pengembangan android. Kami mengembangkan aplikasi dan menautkannya ke Arduino. Tugasnya cukup sederhana: Anda harus terhubung ke arduino melalui bluetooth atau wifi dari ponsel Anda dan mengirim perintah. Aplikasi ini memiliki beberapa layar dengan tombol. Seperti yang dipahami, arduino dikaitkan dengan tata letak rumah pintar dan tombol-tombol ini seharusnya membuka dan menutup jendela.



Ada lebih dari cukup alasan untuk jatuh cinta dengan android pada pandangan pertama



Saya sangat suka bahwa ada UI. Saya menyukai kemampuan untuk melakukan animasi (sekarang dalam pengembangan android, saya paling suka ini). Dokumentasi dari Google jauh lebih baik dari yang pernah saya lihat sebelumnya. Java telah menggunakan lebih banyak python dan C ++. Saat saya mengambil kursus tentang android dengan kursor, saya menyadari satu hal:



penting bagi saya untuk segera melihat hasilnya.



Ini juga memudahkan untuk menjelaskan apa yang saya lakukan. Cobalah memberi tahu orang itu apa itu pekerjaan backend. Mengapa ini dibutuhkan dan sebagainya. Dengan android, Anda cukup mengeluarkan ponsel dan berkata - Saya membuat aplikasi ini.



Kasus sepak bola itu - saya diberi draf yang ditulis oleh orang India. Sejujurnya, mereka tidak melakukannya dengan baik. Alih-alih mengekstrak kode menjadi fungsi, mereka menyalin 700 baris lagi. Pemfaktoran ulang memakan waktu dua minggu.



Dan saya tetap menyelesaikannya dan menjadi gila. Saya menyadari bahwa saya ingin terus melakukan ini, dan mulai mencari perusahaan untuk bekerja sama. Saya menggunakan android school e-legion, melakukan tes, mendapat pekerjaan - dan sekarang saya menuju pengembangan Android di sini.



Dan saya sangat senang bahwa pada pukul empat pagi mereka tidak akan mengangkat saya untuk menyelamatkan pangkalan yang terbakar, dan mereka tidak akan memaksa saya untuk menyusun daftar eksekusi nanti.



All Articles