[longrid] 20 tahun karir pemrograman di kota kecil besar

Kami melakukan apa yang harus kami lakukan karena kami bisa - GLaDOS

Izhevsk, hari ini


Februari pertama menandai tepat dua dekade sejak saya mulai secara resmi bekerja sebagai insinyur perangkat lunak:

1  1999

Saya melanjutkan hari ini. Dan untuk beberapa alasan, menurut saya banyak yang akan tertarik untuk berkenalan dengan sejarah tentang bagaimana Anda dapat membuat karier pemrograman horizontal yang benar-benar sukses tanpa meninggalkan kota asal Anda, dan melakukan hampir selama ini cukup menarik, jika tidak gila, tugas.

Tentu saja, setiap orang memiliki ukuran "kesuksesan", tetapi kenyataannya adalah bahwa selama 15 tahun terakhir saya telah bekerja di posisi senior dalam proyek, terutama terkait dengan pelanggan korporat atau asing yang besar, dan hampir setiap pekerjaan baru menemukan saya sendiri. Dan masih belum lelah.

Saya ingin memperingatkan bahwa kisah saya adalah tipikal khas dalam format wawancara orang pertama, kadang membosankan, dan hampir tanpa gambar, karena pada dasarnya saya adalah seorang back-end. Mungkin sulit bagi pembaca tanpa latar belakang teknis, karena penuh dengan jargon programmer (saya mencoba menjelaskan beberapa istilah, tetapi tidak semua). Dan juga meme kuno yang baik, detail nostalgia, dan studi budaya lokal.

Tapi Anda suka autobiografi dengan lelucon autistik , bukan?

Izhevsk, pertengahan tahun delapan puluhan


Semuanya dimulai sejak lama. Suatu hari, ibu saya, yang bekerja sebagai programmer di sebuah lembaga penelitian Soviet biasa, terlibat dalam rekayasa terbalik sampel teknologi komputer Barat, membawa saya untuk bekerja - untuk menunjukkan apa, bagaimana, dan biarkan saya bermain. Baru-baru ini mereka datang untuk menyelundupkan "pribadi" - PC / AT, yang menjalankan segala macam penggali dan tetris.

Sebelum munculnya "staf," lembaga penelitian bekerja untuk Uni Soviet Uni Eropa (klon IBM S / 360, menempati kamar) dan SM (klon VAX, PDP-11, dll., Biasanya kabinet seukuran piano), jadi di rumah kami memiliki beberapa kumparan yang digunakan kaset dan cetakan berlubang dengan daftar perakitan. Ibu saya juga secara berkala melakukan perjalanan bisnis dengan paket-paket "pancake" - penggerak magnet yang dapat dilepas dengan berat masing-masing 15 pound, takut bepergian dengan troli - jadi saya siap secara mental untuk tur. Diharapkan untuk melihat sesuatu yang mirip dengan pemandangan film-film fiksi ilmiah saat itu.

Dan saya melihat. Tetapi kabinet, di mana ada sesuatu yang berputar, berkedip dengan lampu dan berdengung dengan kipas angin, tidak begitu mengesankan seperti Digger, bahkan pada layar monokrom. Seperti perangkat lunak tata letak PCB yang menarik mereka di plotter (menonton penanda tinta terbang melintasi lembar A1 - sepertinya semacam sihir), dan kanvas tanpa akhir daftar assembler yang sudah akrab untuk peralatan mesin CNC yang saya kerjakan saat itu ibu

Tak perlu dikatakan, keputusan untuk menjadi seorang programmer mengambil bentuk di kepala anak kelas dua secara instan, dan menjadi tertanam kuat di sana? Saya berusia tujuh tahun, dan saya tidak ingat apakah saya pernah bermimpi menjadi astronot, pemadam kebakaran, atau apa yang biasanya ingin dilakukan anak-anak di sana, sebelumnya - tetapi segera setelah saya memutuskan bahwa saya akan menjadi seorang programmer (apalagi, bagus, karena apa gunanya menjadi buruk?), tidak ada yang menarik minat saya.

Dan untuk menjadi programmer yang baik, Anda harus belajar dengan giat. Saya menyelesaikan tiga kelas pertama sekolah komprehensif dengan nilai bagus, dan bisa masuk ke bacaan dengan bias matematika. Secara umum, pada waktu itu di kota ada beberapa sekolah dengan kualitas pendidikan yang baik - 29, 30, 41 (bacaan), 56 (gimnasium). Masing-masing adalah merek lokal dan pembibitan dinamik teknis, kemanusiaan, atau manajerial, tergantung pada profil, elit. Terutama "tiga puluh" - hampir semua manajer pabrik lokal (dan Izhevsk secara tradisional pabrik-kota) lulus darinya, dan, sebagai aturan, matclass. Namun, seperti halnya ibu saya (dan dia akhirnya juga menjadi pemimpin, tetapi lebih pada itu nanti).

Dan jika kita berbicara tentang sekolah, fakta bahwa di koridor lantai dua ada meja catur dengan set angka penuh, yang sering dicari istirahat, dan gorden renda di jendela putih memukau, maka apakah ada baiknya bertanya-tanya tentang ujian transfer mulai dari kelas tujuh - di mana siswa lokal berpartisipasi secara umum dengan anak-anak dari sekolah lain. Pada saat itu, "tiga puluh" masih memegang merek (dia menjatuhkannya setelah saya dibebaskan, dan, sayangnya, sepenuhnya).

Budaya itu tinggi, dan kompetisi sangat sengit. Dari 30 siswa berprestasi yang datang ke kelas lima bersama saya, sepuluh tetap berada di arah matematika pada akhir, sisanya tersebar dengan cara lain, atau bahkan putus sekolah. Sebenarnya, ada dua kelas, tetapi hanya siswa dari yang pertama, yang menempati bagian atas peringkat akademik, dapat berpartisipasi dalam tim Olimpiade, yang secara tradisional berlangsung di republik dan Rusia (dan kadang-kadang dalam kompetisi internasional).

Saya nongkrong di suatu tempat di tempat keenam, secara berkala naik lebih tinggi, oleh karena itu, selama persiapan untuk Olimpiade, saya sering menemukan diri saya dengan orang-orang maju lainnya di meja belakang, di mana alih-alih pekerjaan independen kami menyelesaikan masalah +, tugas Β° dan bahkan tugas **. Sebenarnya, saya tidak berpikir olimpiade - saya menggali esensi dari masalah dengan baik, tapi saya berpikir terlalu lambat dan selalu melakukan beberapa pendekatan percobaan, jadi saya tidak pernah bergerak di atas panggung kota. Yah, setidaknya saya ikut, dan hasilnya bisa dianggap pelatihan otak untuk non-standar (tetapi dapat direproduksi, berbeda dengan solusi olimpiade khas, yang biasanya ketat ad hoc).

Ngomong-ngomong, bahkan kelompok tiga orang terakhir dengan standar kamar anak elit akan menjadi murid yang sangat baik di sekolah reguler, dan di universitas itu menelepon saya ... namun, secara berurutan.

Setelah bertahun-tahun, menilai kemampuan saya, saya kadang-kadang mulai menyesali bahwa saya tidak memilih universitas modal daripada universitas teknis lokal - teman sekelas saya berhasil lulus dari Institut Fisika dan Teknologi Moskow dan Universitas Negeri Moskow (dan beberapa akhirnya bekerja di Google), tetapi ini menyesal berlalu dengan cepat ketika saya ingat bagaimana saya belajar di semester umum sebelum "ekuator". Saya sama sekali tidak belajar - bagasi sekolah, termasuk kursus tambahan yang diajarkan oleh guru universitas yang sama, cukup untuk menerima "mesin" di hampir semua mata pelajaran. Namun, saya bahkan tidak mengambil yang pengantar - saya menjadi siswa pada bulan April, setelah menyelesaikan kursus persiapan dan mencetak skor tertinggi dalam ujian pura-pura. Seperti yang Anda tahu, itu tidak sulit.

Dari seluruh program universitas, pada akhirnya, setidaknya entah bagaimana saya hanya membutuhkan kursus database - pada akhir tahun sembilan puluhan itu sudah usang selama lima belas tahun, jika tidak lebih, dan tulang punggung pengajaran utama dibuat oleh mantan programmer pabrik. Apa yang bisa mereka ajarkan, kecuali β€œair terjun” primitif dan pemrograman prosedural, adalah pertanyaan retoris. Dari kelebihan seperti "pendidikan" - saya bisa membaca assembler, dan saya mengerti bagaimana OS bekerja dengan besi. Tetapi pemrograman industri dalam pengertian modern, jelas mustahil untuk belajar di universitas.

Hanya pendidikan mandiri dalam pertempuran yang bisa menyelamatkanku, dan di tahun kedua aku menemukan pekerjaan. Di sana, di departemen, seorang administrator sistem. Pekerjaan ini begitu-begitu, tetapi menjamin akses tak terbatas ke server fakultas dan Internet, dan juga memungkinkan Anda untuk berkeliaran di lab setidaknya selama berhari-hari - dan menghabiskan waktu tidak hanya mengobrol di IRC dengan gadis-gadis dari universitas terdekat, tetapi juga mengkodekan sesuatu untuk semua jenis acak pelanggan. Gaji minimum pada tahun 1999 adalah 83 rubel 49 kopeck (mengapa membayar lebih banyak siswa?), Dan sebotol Chuvashia Bouquet di toko dekan di seberang gedung sekolah berharga 4,60, jadi kadang-kadang kami dengan administrator siswa yang sama menurunkan beberapa kotak bir murah untuk pendidikan jasmani, agar tidak membuang waktu di lingkaran yang tidak berarti di stadion.

Alih-alih physra, waktu terbuang sia-sia pada kerajinan kita sendiri di Perl dan tcl (sangat menarik untuk memprogram obrolan Irz untuk menghibur gadis-gadis dari universitas tetangga), serta mengembangkan sistem internal untuk mengadakan turnamen sesuai dengan aturan ACM .

Izhevsk "mehan" juga menemukan tim olimpiade sendiri, yang pada waktu itu juga menempati jauh dari tempat terakhir dalam kompetisi internasional, tetapi bagi saya tampaknya jauh lebih menarik untuk menyediakan infrastruktur untuk turnamen daripada memutar otak mereka pada mereka. Selain itu, klasemen seharusnya begitu dan begitu. Selain bahasa tingkat rendah dan scripting, saya tidak menghindar dari utilitas untuk pembukuan pada sekelompok 1C dan Visual Basic, atau untuk dekenat pada FoxPro dan Delphi, dan untuk bersenang-senang saya menulis applet di Jawa untuk "hamster" saya di server fakultas.

Latihan tidak berlebihan, seperti uang. Selain itu, karena malas untuk kursus pertama, saya mendapat nilai untuk studi dan dibiarkan tanpa beasiswa, dan pada akhirnya saya pergi ke akademi sama sekali karena sesi gagal. Meskipun, flu yang turun dari kaki seseorang dan depresi yang runtuh setelah cinta yang tidak bahagia juga berperan dalam hal ini.

Meskipun demikian, saya tidak berhasil menyelesaikan tahun keempat pertama kalinya, dan saya harus menghabiskan enam bulan waktu luang untuk penggunaan yang baik, ketika mencoba untuk tidak bermain-main dalam tentara.

Musim panas 2001, Izhevsk


Ke mana harus pergi ke siswa yang tidak terpelajar dengan kemampuan untuk mengelola nyx dan beban keterampilan pemrograman praktis untuk sesuatu yang sederhana? Mereka tidak pergi ke mana pun tanpa ijazah, kecuali administrator sistem, tetapi saya akan mengambil pekerjaan apa pun, hanya untuk menunggu waktu sampai saya pulih.

Untungnya, meja muncul dengan nama yang berbicara "Virtual Izhevsk". Studio web mikroskopis, tetapi seperti yang seharusnya merupakan studio web yang menghargai diri sendiri - dengan katalog sumber daya regional, server web, dan banyak proyek dari berbagai tingkat marjinalitas. Bagaimana Anda menyukai, misalnya, kontes kecantikan online "Miss BikiNu-2002"? Dan jika saya mengatakan bahwa ia memiliki bagian tertutup untuk sponsor, dengan foto "model" yang lebih menarik?

Singkatnya, penambah yang sama. Di sisi lain, direktur kantor memiliki ide untuk memperbaiki semua pengembangan studio dari rem ke PHP versi 4 yang baru dirilis, karena di suatu tempat dia telah membaca bahwa dia memiliki masa depan (dan dia lebih cepat klise). Secara umum, direktur itu tidak salah. Saya bertahan di sana hanya selama enam bulan, tetapi setidaknya saya belajar menulis dengan baik di PHP - dan, karena spesifik proyek, saya harus menjaga keamanan. Mereka mencoba memecahkannya dengan tujuan menyontek suara - hadiah sponsor dalam kompetisi cukup bagus, seperti perjalanan ke perusahaan teman di Turki, dan gadis-gadis dari universitas tetangga mengumpulkan seluruh tim simpatisan yang siap untuk membawa mereka ke puncak.

Yang juga menarik adalah inisiatif direktur yang sama untuk mengumpulkan komunitas lokal pengembang web - sebuah forum di mana semua pengembang dan penyedia Izhevsk akan nongkrong - dan, bayangkan, itu masih hidup dalam beberapa hal, bahkan dalam reinkarnasi kelima . Apa kota lain yang memiliki festival batu sendiri untuk 1.500 orang IT? Dan di Izhevsk ada RockIzhaiti. Semuanya dimulai di sana, di papan pesan yang ditulis sendiri, di mana para pengembang dan manajer dari selusin kantor lokal awalnya secara budaya berbagi proyek dan pengalaman mereka di balik pintu tertutup, dan kemudian mulai membiakkan epic srachs yang dengan cepat menjadi offline. Gema terakhir dari pertempuran verbal legendaris dan balas dendam bisnis di awal 2000-an masih membara di masyarakat setempat.

Saya pulih di universitas, dan tidak ada lagi alasan untuk berkeliaran siang dan malam di ruang bawah tanah, bersembunyi dari seorang kamerad jurusan.

Namun takdir itu sendiri langsung memunculkan kerja di studio web beberapa lantai (dan pangkat proyek) lebih tinggi. Ibu saya pada saat itu telah menyelesaikan karir pemrogramannya, tetapi dia tidak meninggalkannya (tidak mudah mengambil dan meninggalkan TI), tetapi mendapatkan pekerjaan sebagai wakil direktur dari salah satu divisi infrastruktur dari universitas tetangga, dari mana gadis-gadis yang telah disebutkan beberapa kali dalam cerita ini berasal. Akan tetapi, anak-anak lelaki itu juga belajar di sana, dan bahkan dalam spesialisasi "ilmu komputer di bidang sesuatu," tetapi universitas itu tidak bersifat teknis.

Unit ini disebut "Pusat Teknologi Multimedia dan Internet", dan secara resmi terlibat dalam dukungan situs universitas, sistem pembelajaran jarak jauh, dll., Tetapi pada kenyataannya itu adalah struktur hibrida sebagai bagian dari lingkungan bisnis universitas, yaitu, menghasilkan uang, dan tidak hanya untuk mempertahankan gambar.

Departemen multimedia menghasilkan cakram presentasi untuk pabrik-pabrik lokal (misalnya, Izhmash dan SEGZ ), dan departemen teknologi Internet adalah studio web yang secara teratur menerima hadiah di pameran industri. Jujur, dinding di kantor direktur, digantung dengan ijazah dari lantai ke langit-langit, terinspirasi. Pada dasarnya, pelanggan yang datang ke subjek untuk menyetujui pengembangan situs perwakilan berikutnya.

Itu hanya terjadi satu masalah kecil - tim programmer dan desainer, yang memenangkan semua penghargaan ini, mengambil, dan meninggalkan gedung secara keseluruhan, mengambil setengah dari proyek saat ini dengan mereka. Sulit untuk mengakomodasi kerumunan yang terus tumbuh di staf universitas non-karet, dan secara umum, mereka menginginkan sesuatu yang lebih.

Saya sangat membutuhkan pengganti "well, setidaknya seseorang", tetapi saya berhasil dengan sangat gratis. Ibu baru saja menyeret saya dengan tengkuk, melemparkan saya ke belakang konsol server kantor, dan memerintahkan saya untuk mengambil semuanya secara online ke tangan saya sendiri. Departemen multimedia juga berakhir di tangan putra pacar ibuku, dan kami mulai mencari tahu!

Kenyataannya, sulit membayangkan situasi yang lebih menegangkan: menggantikan para profesional yang diakui, menangkap alien dan perkembangan yang sama sekali tidak dikenal yang menggantung di udara dengan cepat, dan berpura-pura bahwa Anda mampu menarik semua ini. Ya, dan setidaknya tidak lebih buruk. Saya tidak ingat beberapa bulan ke depan - di pagi hari saya harus mengunjungi pasangan (terima kasih Tuhan, tidak semua, beberapa barang yang saya muat ulang) di universitas saya, lalu seret diri saya melalui seluruh kota ke yang tetangga, dan bertahan di sana sampai larut malam. Dan akhir pekan juga berkeliaran di tempat kerja. Saya juga ingin nongkrong, tapi bagaimana menjadi mahasiswa, dan melakukannya tanpa mabuk ...

Butuh waktu sekitar enam bulan untuk membaca semua RFC tentang teknologi, semua manual untuk bahasa dan platform yang digunakan, untuk mengurai semua tumpukan kode yang diwarisi dari tim lama (terutama situs universitas yang ditulis dalam campuran yang mengerikan dari versi awal Jawa dan PHP dengan ekstensi yang ditulis sendiri), dan untuk menjaga paralelnya pengembangan basis perangkat lunak sendiri - hanya dalam PHP. Bukan hanya karena sapu baru harus membalas dendam dengan cara baru, tetapi setidaknya untuk alasan higienis: selama sepuluh tahun kerja tim lama dalam proyek-proyek yang dilakukan tanpa kontrol versi, banyak sampah telah menumpuk, dan dari tampilan yang segar itu sangat terlihat.

Perlu juga mempertimbangkan bahwa pasar pada saat itu belum memiliki CMS yang dikembangkan, dan memang, situasi saat ini dalam pengembangan web sulit untuk disebut "pasar". Setiap kantor menulis sesuatu yang asli, dengan kebun binatangnya sendiri. Oleh karena itu, saya mengelilingi diri saya dengan semua contoh open source " nudes ", dan selama musim panas berikutnya, tepat sebelum tahun kelima, saya mengumpulkan CMS sederhana dari suku cadang di forum saya dan "mesin" kompetitif, yang memungkinkan untuk menyelesaikan tugas-tugas sesaat. Selain itu, kemudian saya terjebak pada topik UX , dan setelah mempelajari semua HIG yang tersedia pada saat itu, untuk beberapa alasan saya diilhami oleh Microsoft Wizards 97, yang ideologinya saya coba untuk mengimplementasikan sebanyak mungkin dalam antarmuka, menerapkan penyihir langkah-demi-langkah untuk semua kesempatan.

CMS,

Cukup aneh, tetapi lelucon itu sukses. Saya tidak hanya berhasil menyelesaikan proyek-proyek yang mengalami crash, sudah pada mesin saya sendiri, tetapi juga mempercepat pengembangan beberapa kali. Selain itu, karena perlunya mendokumentasikan dengan cermat proyek-proyek yang kami miliki, secara alami saya memiliki kerangka acuan paling rinci untuk lokasi perwakilan tipikal untuk pabrik tipikal - serta manual pelatihan untuk para penulis situs kota, karena salah satu proyek tersebut persis seperti itu, dan Hukum Federal dengan templatnya belum ada.

Banyak pengembang pemula meremehkan kekuatan dokumentasi, terutama kekuatan manual metodologis, tetapi seperti yang saya pahami, pada saat itu, setelah melalui semua kasus pengguna dan merasakan rasa sakit dan kebutuhan pelanggan, saya beralih dari pengembang pemula menjadi analis sistem pemula. Dan jika sebelumnya pekerjaan seorang programmer tampak bagi saya sebagai solusi untuk teka-teki yang menarik, sekarang telah menjadi seperti apa sebenarnya - otomatisasi rutinitas orang.


Apalagi!
Seorang programmer bukan pencipta. β€” , , , , , , , .
. -, , Β« - Β» . CMS ( ; β€” ). - , Β« [sic!] Β». 2003 «», .

Kami dengan cepat mengisi meja staf yang hilang dengan siswa yang sama (well, mungkin tidak memiliki tujuan dan keras kepala seperti saya) - dan berubah menjadi semacam bentukan personel. Banyak orang yang memulai karir mereka di departemen saya sebagai trainee atau lulusan, sekarang menjalankan kantor dan proyek mereka sendiri, dan merupakan spesialis yang cukup dihormati di kota. Dengan menempatkan pengembangan pada aliran, saya secara bertahap meningkatkan proses itu sendiri dan CMS saya (khususnya, saya datang dengan kompiler bahasa markup saya sendiri untuk template, yang memungkinkan saya untuk mengubah desain situs dengan cepat, tidak hanya gaya, tetapi juga HTML, dan skrip).

-, , , β€” , , CMS, β€” , , . , , . , 13 . .

( β€” , , , ; ), , , . , .

, , , , , , .


Suatu kali saya lupa mengatur ulang cache server CSS setelah memulihkan situs dari cadangan, dan salah satu rekan saya langsung melempar tangkapan layar dengan tata letak yang sepenuhnya tersisa untuk tautan ke Lebedev. Untuk lulz. Intinya: satu meme terkenal.

Tetapi pendekatan teknokratis itu menguntungkan, dan dengan latar belakang kantor-kantor Izhevsk lainnya, proyek kami terlihat paling tidak lebih buruk, dan tentu saja ada beberapa kali lebih lama daripada mayoritas yang dibuat oleh rekan-rekan. Dan beberapa, seperti Izhmoto.ru, bahkan selamat dari kematian pelanggan asli. Atau bahkan yang kedua.

Untuk bersenang-senang, saya pernah melakukan eksperimen yang sama sekali tidak manusiawi. Ada semacam program pelatihan bagi para guru informatika pedesaan - ketika mereka dibawa ke berbagai universitas Izhevsk dari seluruh 25 wilayah republik dan mengajar mereka kursus tentang dasar-dasar pembangunan situs. Secara alami, saya mengajar pada contoh mesin saya, dan tidak bisa tidak memanfaatkan peluang besar untuk melakukan pengujian A / B dari beberapa versi antarmuka pada ratusan versi yang tidak menguntungkan. Sangat menyenangkan, saya belajar beberapa hal yang sama sekali tidak terduga tentang pola perilaku dan persepsi pengguna (karyawan Microsoft benar ketika mereka mengubah Office UI menjadi peka konteks - ini sangat efektif; juga sangat tidak mungkin untuk menghapus tombol "Simpan" dengan floppy disk dari antarmuka).

Namun pada akhirnya, saya masih bosan.

Nah, berapa banyak situs web yang bisa Anda manfaatkan? Nah, multisite (ini adalah ketika selusin setengah situs saling berhubungan pada domain yang berbeda, tetapi pada satu salinan mesin, dan dengan otorisasi pass-through). Portal dokumen (katalog dokumen digantung dengan metadata tentang pohon Natal Anda, dengan pencarian real-time untuk semua parameter). Ya, intranet, blog video, situs media (hanya plugin khusus untuk CMS asli, yang menurut spesifikasi saya ditulis oleh mahasiswa pascasarjana).

Sudah jelas bahwa sudah waktunya untuk masuk, misalnya, sebagai tim sebelumnya, dan meninggalkan gedung. Sayangnya, saya tidak memiliki kualitas yang memadai untuk menjadi direktur bisnis. Secara teknis, saya bisa, tetapi mengapa? Di web, lampu tidak menyatu, dan kemajuan tidak berhenti. Apa yang eksklusif di tahun 2002, pada tahun 2006 sudah menjadi arus utama, dan secara umum, Bitrix membawa pembuatan situs web ke dalam kerajinan.

Tetapi apakah akan pindah ke daerah yang berdekatan. Mengapa ya

Hanya dimana?

Saya pergi untuk berbicara dengan beberapa kantor yang berbeda. Tidak di mana-mana saya, troll mengerikan dengan Izhaiti , disambut dengan tangan terbuka (beberapa orang suka troll secara umum), tetapi pilihannya cukup kaya. Itu mungkin untuk pergi ke desktop .NET, dan potongan-potongan besi untuk memprogram (meskipun ini di pabrik, sehingga lebih mungkin tidak, daripada ya). Tapi saya terutama menyukai ide mengembangkan sistem besar untuk perusahaan berdarah - hanya di dunia ini yang dikendarai Jawa, dan saya hanya mengenal Jawa pada tingkat applet dari "hamster" universal, dan warisan seperti mie yang terkubur di pekerjaan sebelumnya. Juga versi 1.1.

Oleh karena itu, saya menerima tawaran dari penyedia telekomunikasi lokal Izhsvyazinvest (itu adalah "multi-layanan", yaitu, menyediakan Internet, telepon, dan televisi; setelah krisis 2008, saya mati dalam kesakitan dan dibeli oleh Beeline, tetapi pada saat itu berkembang).

Di sini Anda perlu sedikit komentar tentang sejarah Internet lokal. Ini sangat berbeda dari yang khas Rusia berkat perusahaan Mark (tidak peduli apa yang disebut sebagai lebih dari dua puluh tahun sejarahnya) - sejak pertengahan sembilan puluhan Izhevsk telah sangat maju kecepatan dan jangkauan, dan dengan harga lebih rendah, tidak hanya semua daerah tetangga , tetapi juga ke Moskow. Selain itu, era modem DSL memberi jalan ke era tembaga, dan kemudian optik rumah dengan sangat cepat, dan Internet cepat di Izhevsk menjadi luas, dan penyedia ini merupakan penempaan yang sangat baik dari tenaga teknis dan manajerial untuk industri lokal. Bahkan tusa fidosnaya lokal kebanyakan lebih dari Markov Ethernet.

Penduduk asli Markus mendirikan lebih dari satu kantor yang bersaing, termasuk Izhsvyazinvest. Mereka membawa tagihan - sebuah sistem mengerikan yang bekerja di dalam sekelompok Oracle, apalagi, yang klasik, di atas besi perusahaan Sanovo dan di bawah solarium. Hampir semua logika bisnis monster chthonic ini disimpan secara ajaib, bahkan surat pembayaran kepada pelanggan dikirim dari pekerjaan yang tidak serempak. Hanya sepotong kecil panel admin yang ditulis dalam Java (versi 1.4), meskipun faktanya hampir seluruhnya dihasilkan melalui System.out.println (), dan kelihatannya ... itu tampak seperti neraka. Tidak mungkin untuk melihat antarmuka web pengguna tanpa air mata (dan bukan hanya karena semuanya 7.5pt).

Terutama dibandingkan dengan apa yang telah diubah panel admin CMS saya pada waktu itu. Dan itu adalah aplikasi HTA , tidak dapat dibedakan secara eksternal dari yang asli, dan bahkan tanpa memerlukan mouse, meskipun itu ditulis dalam JS / DHTML murni. Kepala departemen sangat terkesan sehingga dia segera menganggap saya sebagai spesialis UX. Niatnya sederhana - untuk menarik monster penagihan yang indah antarmuka yang cantik, cepat, nyaman, dan asli, dan menjualnya ke penyedia lain. Dalam hal serangkaian kemungkinan, pada kenyataannya, dikembangkan dari pertengahan tahun sembilan puluhan, ia merobek semua analog yang tersedia sebagai kartu as, tetapi para pesaing memiliki UI yang waras, tetapi TELSI tidak memilikinya.

Untuk menempatkan lipstik pada babi ... Namun, Anda tidak bisa hanya mengencangkan antarmuka ke logika jika tidak memiliki titik akhir untuk apa pun yang mirip dengan AJAX.

Lapisan titik akhir harus ditulis dengan mengintegrasikan ke dalam kode yang ada. Tetapi pada tahun 2006, Java 1.4 sudah cukup peninggalan, jadi hal pertama yang saya lakukan adalah menyalin embrio admin yang ada ke versi saat ini dengan menyisir rambut yang sama dan menempatkan kode dalam urutan (ya, saya harus menggali ke dalam zat yang diwariskan lagi). Sepanjang jalan, saya mempelajari tumpukan teknologi J2EE, tetapi karena spesifik saya membatasi diri pada servlets dan semua binding yang menyertainya untuk saat ini, serta JDBC (Anda perlu menarik penyimpanan), Velocity (sebagai yang paling mirip dengan mesin templat PHP), dan, pada kenyataannya, inti Java.

Secara bertahap, muncul pemahaman bahwa semua logika yang terkait dengan menunjukkan sisi pengguna, dan bahkan lebih lagi untuk interaksi dengan pengguna, harus ditarik keluar dari penyimpanan dan diimplementasikan dalam lapisan layanan di Jawa, karena persyaratan untuk fitur berubah dari waktu ke waktu. konstruksi panggilan mentah dari file yang disimpan melalui JDBC sulit untuk dipertahankan (semuanya perlu diubah di dua tempat, dan dengan versi kodenya, basis datanya masih buruk, tidak termasuk Oracle yang kedelapan) dan rapuh.

"Oke," kata kepala departemen.

Butuh waktu satu tahun untuk menyelesaikan semua ini. Tahun! Jumlah kode hanya mengerikan. Saya dapat mengingat tentang satu megabyte kode sumber sekaligus, dan di sini kode hanya menarik penyimpanan lima. Setengah dari yang tidak digunakan, setengah lainnya secara rekursif memanggil satu sama lain, dan secara umum dijalin menjadi bola mie sehingga jelas mustahil untuk mengungkapnya tanpa bantuan bos.

Saya harus bekerja enam hari seminggu, sebelas jam sehari - sisanya programmer duduk di dukungan monster yang ada dan tidak bisa membantu saya. Hasilnya adalah stroke mikro (pada usia 26, pantatku!) Dan enam bulan menggunakan tablet. Saya belajar pelajaran - sejak saat itu saya tidak terlalu bersemangat. Pekerjaan tidak akan lari, tetapi kesehatan bisa.

Setelah beberapa waktu, ternyata lebih mudah untuk menyimpan bagian dari data penagihan dalam bentuk direktori - yaitu, bukan tabel relasional yang biasa, melainkan dokumen yang terdiri dari set nilai kunci dengan metadata yang sering tidak diketahui untuk setiap catatan. Oracle tidak mendukung seperti itu, dan secara umum, dengan NoSQL pada tahun-tahun itu masih busuk.

TELSI, β†’ TELSI, β†’ TELSI,
Gambar yang Dapat Diklik

Sial, tapi ada sesuatu yang mengingatkan saya tentang itu ... Oh well, dokumentasikan portal. Apa yang terjadi, semua sistem informasi adalah tentang orang yang sama, jika Anda melihat profil? Baiklah
Oke, kataku. Dan dalam beberapa bulan, ia menerapkan repositori berorientasi dokumen di atas tabel Oracle menggunakan pemicu, penyimpanan yang membuat tampilan, dan semacam ibu. Itu tidak berhasil dengan sangat cepat, tetapi sepertinya berhasil dari setengah tendangan. Sudah waktunya untuk menempatkan baut mini ke dalam operasi persidangan.

Dan kemudian krisis 2008 datang ke Izhevsk


Meskipun, dia datang ke semua orang.

Tidak hanya tidak semua orang punya uang, tetapi juga kantor, terutama untuk menjaga seorang programmer bekerja pada versi masa depan sistem. Kantor bergegas untuk merekrut pelanggan baru, hanya untuk bertahan hidup, dan mereka memutuskan untuk meninggalkan saya untuk pemeliharaan rutin rakasa kuno, karena beban meningkat, dan proyek baru dimasukkan ke dalam dingin. Mereka juga memotong gaji, karena tidak ada uang dari kata "secara umum".

"Selamat tinggal," kataku. "Sekarang aku sudah tua," kataku, "dan aku tahu kung fu," kataku, "dan aku berterima kasih padamu karena menunjukkannya kepadaku, tapi aku ingin berlatih kung fu dan tidak menderita omong kosong."

Sayangnya, itu lebih sulit untuk dilakukan daripada mengatakannya. Dalam krisis yang mengamuk, dengan perusahaan berdarah, segalanya hampir sama dengan TELSI (yaitu, "ditunda" menjadi "nanti"), tetapi dalam realitas ekonomi baru, bisnis Barat, sebagai cara untuk mengurangi biaya, menarik perhatian agen outsourcing Rusia, dan mereka kebanjiran. Saya harus menunda perusahaan selama beberapa tahun dan melakukan apa yang menghasilkan uang.

Sangat cepat saya menemukan pekerjaan di studio berikutnya (lebih tepatnya, mereka menemukan saya - namun, ketenaran di komunitas lokal, bahkan troll kecil, sesuatu yang kadang berguna). Yah, sebagai studio ... Mereka memiliki pengembangan web, tetapi pada tingkat yang lebih besar "pusat informasi dan penerbitan" ini memposisikan dirinya sebagai agen outsourcing. Nah, juga sebagai percetakan. Ini adalah bisnis hybrid lain.

Arah utama outsourcing adalah pengembangan sistem informasi geografis - yaitu, sistem yang melakukan sesuatu dengan data kartografi.

Misalnya, proyek saat ini adalah - sesuatu yang mengerikan bagi pengendara motor Denmark, di Zend , dengan analog portlet tertentu (jangan tanya apa itu, saya hanya tahu tentang applet dan cutlets) dan umumnya semacam TK yang sangat aneh. Dan hanya saya yang duduk untuk membacanya dengan cermat, ketika para pengendara sepeda motor bersembunyi ke arah yang tidak diketahui bersama dengan direktur teknis kantor, yang kemudian, memikat saya untuk mengganti diri.

Nah, "untuk pengganti." Kami membutuhkan pengembang utama untuk proyek baru - juga GIS, hanya tentang televisi satelit. SatBeams.com - masih hidup, Anda bisa lihat, tolong jangan turunkannya.

Proyek yang menarik. Ya, sekali lagi saya harus kembali ke PHP, tetapi ada banyak trik dalam mendesain pangkalan. Dalam orbit geostasioner, beberapa ratus satelit menggantung, masing-masing di atas garis bujurnya, pada masing-masingnya beberapa (hingga ratusan) antena - transponder yang disiarkan dalam beberapa pita. Mereka menyiarkan paket, yang masing-masingnya memiliki beberapa (hingga ratusan) saluran TV, yang masing-masing memiliki serangkaian karakteristik (sekali lagi, hingga ratusan, karena bahasa).

Inti dari masalah: perlu tidak hanya menggambar cakupan pada peta untuk setiap transponder, tetapi juga untuk menghasilkannya secara real time berbeda dengan semua karakteristik dari semua saluran yang diterima di piring di suatu tempat, dan meludahkannya dalam RSS. Untuk informasi seperti itu, pecinta profesional TV satelit membayar uang, apalagi, cukup besar.

Tampaknya kedengarannya sederhana, tapi hei ... Gandakan seratus dengan beberapa, kalikan dengan seratus, kalikan dengan ... oops. Produk Cartesian dari semua parameter yang mungkin melebihi satu triliun, dan kita perlu membuat perbedaan secara real time. Omong-omong, ini adalah masalah olimpiade.

Di sinilah kursus basis data universitas berguna bagi saya, serta semua pengalaman sebelumnya bekerja dengan mereka, dan semua pengalaman dalam desain sistem yang baru saja saya miliki. Akibatnya, semua ini menghasilkan beberapa lusin tabel, dinormalisasi menjadi 5NF , tabel denormalized dengan sejarah, dan tumpukan permintaan untuk masing-masing beberapa halaman. Dengan penggabungan rumit yang memperhitungkan perilaku pengoptimal dari DBMS yang dipilih. MySQL, maksud saya. Pelanggan tidak setuju dengan yang lain.

Bersama-sama, programmer kedua berhasil dalam waktu sekitar satu tahun. Ini berfungsi, jika Anda belum menjatuhkannya dengan habraeffect sekarang, sejauh ini. Saya suka proyek ini. Dan tidak hanya untuk backend, tetapi juga untuk satbar.js - widget antarmuka terakhir yang saya tulis (sejak saat itu saya belum menyentuh antarmuka pengguna lagi).

satbar β€”   β€”

Kendala yang tak terduga adalah menggambar jejak transponder di Google maps - Google umumnya ingin menempatkan mojo yang tebal pada integrasi pihak ketiga, dan secara sistematis melihat kartu fitur untuk setiap fitur dari setiap rilis kartu API baru 2. Sebagai hasilnya, ia memperoleh satu set kruk yang luar biasa, dan membutuhkan dukungan konstan dari sisi programmer kedua setelah menjalankan proyek - dan ia bermigrasi ke versi ketiga API, secara berkala menjadi tertekan. Tetapi pelanggan membual tentang gambar desktop Kartu Google PMa dengan label situs kami dengan tanda tangan "poligon bagus" - ia diam-diam membuatnya ketika ia mengunjungi kantor pusat setempat.

Tapi proyek keren cenderung berakhir. Dan yah, jika berhasil.
Krisis terus mengamuk. Saya harus mengambil proyek yang tidak terlalu keren, jika saja kantor membayar uang.

Saya kembali menggunakan ibu jari, dan mengumpulkan beberapa situs, hampir tanpa sadar. Dengan tidak ada hubungannya, saya memperbarui CMS dengan pengembangan antarmuka yang dibawa kembali dari pekerjaan sebelumnya - termasuk beberapa jenis Ribbon UI dari Office baru (dalam prosesnya, melakukannya lebih awal dari Microsoft sendiri, tetapi, tentu saja, lebih sederhana, meskipun single magic ALT juga bekerja di sana.) Saya akan menunjukkan kepada Anda sesuatu, itu layak untuk cerita yang terpisah). Dia bahkan mengambil pengembangan basis data desktop pada .NET + SQLite untuk satu pelanggan negara bagian dengan imbalan solusi Legacy pada Firebird (atau bahkan FoxPro? Ah, saya tidak ingat, tetapi pada sesuatu yang benar-benar kuno), tetapi proyek ini membawa PM baru yang mengklaim untuk peran asisten teknis, dan kami tidak dapat menyetujui waktu. Jadi saya tidak bisa menggali ke dalam tumpukan desktop NET.

Dan kemudian seorang mantan mahasiswa yang pernah melakukan diploma di departemen saya ("portal dokumen" yang sama) tiba-tiba menulis kepada saya. Selama lima tahun terakhir, ia telah tumbuh menjadi kepala kantornya sendiri, yang, untungnya, terlibat dalam perusahaan berdarah - SAP, dan sedikit lebih banyak pengembangan di Java EE.

Semoga beruntung. Dia hanya membutuhkan seorang ahli untuk membantu proyek baru.

Esensi (dan, secara umum, makna) dari proyek ini sulit untuk dijelaskan. Saya masih punya sedikit gagasan tentang motif kapitalis ventura Tatarstan, yang ingin membuat semacam SaaS / PaaS / kotak yang setara dengan MS SharePoint + Exchange + Lync + Dynamics, tetapi hanya dengan bagian server pada J2EE, dan dengan klien Java Swing yang "tebal". Awalnya dia memanggilnya NewOutlook, dan kemudian dia benar-benar memanggil OfficeSuite. Ditambah lagi, dia juga seorang pekerja poppy, itulah sebabnya dia harus membeli poppy di kantor - mengayunkan komponen untuk klien tebal yang berperilaku di bawah MacOS pada waktu yang tidak terduga. Proyek yang sangat, sangat aneh. Tapi sangat menarik.

Secara total, setidaknya tiga tim terlibat di dalamnya - selain kami, orang-orang di Kazan dan di suatu tempat di Minsk, atau apa? atau di Kiev ?, dan tim kami dianggap yang utama: kami perlu mengembangkan arsitektur umum bagian server dan klien, mekanisme untuk menyinkronkan data di antara mereka, dan juga, misalnya, mengimplementasikan modul untuk mengelola keuangan pribadi. Sisanya seharusnya terlibat dalam Unified Communications dan segala hal lain yang dibayangkan investor (tanpa TK spesifik).

Implementasi sinkronisasi tampaknya menjadi tugas yang paling sulit - tidak ada tim yang ada yang tahu cara mendekatinya sama sekali. Klien, seperti yang kita ingat, adalah "tebal", yaitu, ia dapat dan harus bekerja tanpa bagian server sama sekali, dan pada saat yang sama ia harus dapat terhubung ke server sesuai dengan jadwal atau permintaan pengguna untuk memperbarui "objek" (apa pun) di sana-sini .

Pada awalnya, saya tidak tahu caranya, tetapi mata saya takut dan tangan saya melakukan. Kata-kata pintar "arsitektur klien dan server" sebenarnya hanya beberapa sketsa desain yang dirancang dengan baik sebagai dokumen terstruktur. Tentu saja, "semua jenis objek" adalah persyaratan yang sangat-begitu, tetapi, untungnya, saya telah mampu merancang sistem plug-in host yang dapat menggambarkan jenis objek mereka sejak saat pusat multimedia, ORM licik setelah monster Izhsvyazinvestovsky tidak membuat saya takut, tetapi yang hilang Saya bisa belajar teknologi J dari EE dengan cukup cepat.

"Arsitek" ... Saya tidak suka ketika kata ini diterapkan pada posisi seorang programmer. Terjemahan bengkok dari Bahasa Inggris oleh System Designer, akan lebih tepat untuk menjadi seorang "insinyur desain." Tetapi, menurut pendapat saya, proses menciptakan prototipe produk masa depan dari awal, yang bahkan pelanggan tidak bayangkan dengan baik, menggambarkan istilah "insinyur riset" jauh lebih baik.

Tujuh bulan kemudian - pada saat pengiriman sementara - dari ketiga tim, sesuatu yang layak ditampilkan hanya siap untuk kita. Tim kami menulis modul manajemen anggaran pribadi yang berfungsi penuh, sinkronisasi menyinkronkan semua dengan cara terbaik, dan inti dari server dan bagian klien dari aplikasi siap untuk menghubungkan plugin yang tersisa.Untuk selebihnya, kuda itu tidak berguling, dan si kapitalis ventura, tampaknya, menyadari bahwa ia telah mengancam dengan tugas yang tidak berarti dan menghilang dari cakrawala.

Proyek segera ditutup. Setelah melakukan tur sebagai ahli tamu, saya tidak terlalu dibutuhkan, seperti ahli jav lainnya, karena kepala kantor memutuskan untuk berkonsentrasi pada SAP.

Sial. Begitulah bisnis ventura. Aku sedikit membencinya.

Pernyataan seperti itu: tidak ada pekerjaan yang ideal. Ke mana pun Anda pergi, akan ada sesuatu yang baik, dan sesuatu yang buruk, lezat, dan menjijikkan, masuk akal, dan tidak normal. Ini bukan masalah dialektika, juga bukan bahwa kehidupan dilukis secara objektif dalam berbagai warna. Sebagian besar masalahnya adalah dalam sikap Anda sendiri terhadap berbagai aspek keberadaan - selama percikan ilahi memanas dalam diri Anda, Anda pasti akan mengalami emosi yang berbeda tentang berbagai hal. Sialan, itu terjadi.


Tidak selalu menjadi lebih baik.

Sudah 2011 sudah. Masih di Izhevsk


Selama waktu ini, lanskap telah berubah secara radikal di kota. Jajaran studio web sangat menipis, pabrik dan penyedia lain dengan pengembangan internal entah bagaimana menyusut, tetapi jumlah kantor grosir meningkat secara nyata, dan bahkan agen outsourcing besar memasuki kota. Terutama, EPAM.

Di sinilah perusahaan yang benar-benar berdarah.

EPAM (serta Luxoft dan monster serupa lainnya, yang dikenal sebagai "dapur") adalah pabrik. Pabrik raksasa untuk produksi perangkat lunak khusus, dan prosedur produksi benar-benar ada konveyor. Setiap orang diperintah oleh "proses" - seperangkat aturan formal dan informal yang tertulis dan tidak tertulis untuk semua kesempatan, dari momen rutin harian yang paling tidak penting - untuk memaksakan keadaan darurat dan SDM penuh. Tidak masalah apa tingkat sistem yang Anda bangun, Anda hanya harus mematuhinya, apakah Anda menginginkannya atau tidak. Anda harus menjadi roda penggerak dalam mekanisme ini, dan memainkan peran.

Tetapi roda gigi diperlukan dalam berbagai ukuran, arah ulir, dan untuk kunci yang berbeda. Beberapa bahkan harus inci, bukan metrik, itu semua sangat tergantung pada proyek tertentu.

Lelucon di sini adalah bahwa aturan mengacaukan kualitas sangat, sangat tinggi. Mereka bahkan ingin mengikuti - Saya belum pernah melihat perhatian dan kedalaman studi di tempat lain. Dan keefektifannya dibuktikan oleh fakta bahwa dengan pelaksanaan aturan yang cukup akurat, karakteristik kepribadian orang yang bekerja dalam sistem menjadi tidak penting sampai batas tertentu. Tetapi hanya sampai batas tertentu.

Bagaimanapun, orang-orang selalu, dalam arti, neraka. Karena aturan formal yang baik, yang berikut ini dapat bekerja, dan berhasil bekerja, dalam EPAM:

β€’ orang-orang dengan siapa saya tidak hanya tidak akan pergi untuk pengintaian, tetapi bahkan untuk seluruh dunia bahkan tidak akan berkomunikasi;
β€’ orang tanpa imajinasi, orang tanpa rasa keindahan;
β€’ orang tanpa percikan Allah, tetapi dengan keledai besi;
β€’ orang tanpa rasa proporsi dan kebijaksanaan;
β€’ orang yang secara psikologis tidak cocok satu sama lain;
β€’ orang yang eksentrik.

Untungnya, tidak ada sebagian besar dari mereka, ada yang lebih normal, tetapi gambaran umum adalah "siswa yang sangat baik" (dari orang lain). Sangat!Memanjakan!

Juga, di kantor tradisional, di mana seseorang bukan "sumber daya", tetapi "spesialis", dan tidak ada konsep "kelompok pengembangan", tetapi konsep departemen, orang tidak dipekerjakan dalam kawanan bersama, tetapi agar mereka dapat saling bekerja sama berteman bersama - yaitu, orang yang berpikiran sama. Dalam EPAM, tim untuk proyek dipilih sesuai dengan karakteristik formal hanya dari kawanan sumber daya umum.

Bagaimana saya bisa sampai di sana?

Mereka menelepon, setelah berjanji untuk bekerja pada proyek perusahaan paling berdarah dalam sejarah kantor, dan berjanji untuk segera memberi wanita senior. Jangan tertipu. Mereka mengambil tuan dengan prospek memimpin.

Dan proyek pertama di mana saya ternyata benar-benar mengerikan. Pelanggan adalah bank dengan logo bulat hijau, tim untuk lima puluh orang (ini hanya di EPAM, di subkontraktor lain masih ada kerumunan yang sama), sistem misi kritis itu sendiri. Itu harus ditulis dalam Java EE, tetapi ada twist plot: vendor adalah IBM. Platform - WebSphere AS dan MQ, database - DB2. Bahkan JVM sendiri dalam bundel ini eksotis - J9, yang pada waktu itu sangat berbeda dari referensi Sanovo, dan sangat menyedihkan (tapi saya menyadari hal ini kemudian ketika saya menemukan banyak bug).

Mereka mengatakan kepada saya: sekarang Anda adalah pengembang utama (dan anggota komite arsitektur), jadi inilah tim untuk Anda (jangan lihat bahwa pendatang baru adalah orang baik) dan TK untuk modul ini (bata 300 halaman).

Saya berkata: ya (ada sekitar 15 "arsitek", orang-orang itu ... berbeda, dan batu bata berkorespondensi selama pertunjukan tiga kali tidak dapat dikenali).

Dan kita pergi ... Selama dua tahun saya harus berpartisipasi dalam pengembangan beberapa subsistem. Gerbang menuju dunia luar. Penyimpanan file internal. Sinkronisasi status pemrosesan pembayaran untuk operator Tiga Besar. Sistem untuk menyebarkan modul - ada sekitar 25 di antaranya secara total - ke peternakan komputasi (sebagai hasilnya, itu tidak bertahan, tetapi aplikasi.xml tetap sebagai bagian dari produk).

Begitu ia secara tidak sengaja memasuki area tanggung jawab tim lain dan menemukan bahwa ada 19 cara unik untuk mencari sumber daya di JNDI. Saya harus meletakkan semua orang di telinga saya, mengambil modul konfigurasi untuk diri saya sendiri, dan mengarah ke penyebut umum. Banyak darah tumpah. Ini adalah perusahaan!

Setelah itu, ada fakap tertentu dengan rilis rilis, dan diputuskan untuk memutar kembali bagasi ke versi sebelumnya. Sistem Kontrol Versi - SVN . Yah, itu perlu. Saya melakukan ini sekali, dan ... maka saya harus menjadi "penjaga repositori" (sial!) Sampai akhir dan mengawasi semua penggabungan berikutnya, terutama sebelum rilis.

Pada akhirnya, ini adalah bug yang datang dari J9 dan driver DB2 pada waktu yang paling tidak nyaman ... IBM menambalnya, tetapi hanya enam bulan kemudian, dan secara umum bahkan memberi tahu mereka tentang pencarian.

Dan juga - banyak konflik dalam tim karena faktor ketidakcocokan pribadi itu, termasuk saya dan PMa ...

Singkatnya, saya menginginkan perusahaan berdarah, dan saya menerimanya, tetapi tidak berharap bahwa akan ada kaleng yang begitu kejam, dan tidak seperti yang saya harapkan.

Pada akhirnya, dia meminta proyek lain. Saya harus benar-benar mengacaukan PM untuk ini, karena mereka tidak ingin membiarkan saya pergi. Pengembang utama bukanlah Vasya yang tidak perlu dari bangku cadangan. Tapi saya pergi - dan itu "di bangku".

Untuk sementara itu lega. Tapi itu masih tidak nyaman, karena iklim di kantor dengan permainan dan intrik yang menyamar - tidak peduli seberapa jauh itu, itu menghancurkan.

Hampir sudah memutuskan untuk benar-benar pergi - di mana saja, hanya jauh dari rumah gila ini - tetapi kemudian proyek lain tiba-tiba membuatku marah. Juga sebuah perusahaan, tetapi jauh lebih sederhana dan lebih tradisional, hampir tidak berdarah. Saya tidak tahu mengapa saya setuju untuk memimpinnya sebagai pimpinan teknis. Itu perlu diturunkan, tetapi saya memutuskan untuk mencoba manajemen untuk yang terakhir kalinya.

Satu-satunya tim pengembangan yang tersedia pada waktu itu ternyata terdiri dari "siswa yang sangat baik" dari bangku, selalu duduk di sana. Semua yang tidak diterima untuk proyek lain karena toksisitas, tetapi menjalani penilaian dengan alasan formal, dan karena itu tidak dapat dipecat. Kemudian saya menyadari bahwa itu merupakan hadiah bagi saya untuk konflik dengan PM dari proyek pertama, tetapi sudah terlambat.

, … , - «», , 8 , , .

: , . , , .

, β€” . , pengiriman tidak mungkin, bahkan jika saya menulis kode untuk saya dan orang-orang itu 24 jam sehari, selain tugas-tugas manajerial murni. Saya hanya akan menangkap serangan iskemik lainnya (tidak, satu sudah cukup) dan akan mati di tempat kerja.

Techlid baru memiliki hak untuk mengubah komposisi tim - yang ia lakukan segera (pengembang normal gratis secara ajaib ditemukan di kantor), dan pada akhirnya ia berhasil membawa proyek untuk kemenangan. Tetapi untuk memastikan kemungkinan ini, kami harus menggunakan artileri berat dalam diri direktur cabang, namun penting untuk memberhentikan "siswa terbaik" yang paling jahat. Itu sangat sulit dan menjijikkan.

Saya mendapat pelajaran: Saya benar-benar tidak ada hubungannya di pabrik. Pelajaran nomor dua: tidak pernah lagi ikut campur dalam manajemen.

, , β€” , , , , , .

, ? ? . , , , . - . , - ( ).

, 2014


Salah satunya, hmmm ... pemabuk, - yang merupakan dosa untuk disembunyikan, yaitu pemabuk sejati - terjadi di kantor yang benar-benar baru saja muncul entah dari mana. Startup Amerika dengan nama lucu tinypass (berapa banyak lelucon yang dibuat hussars dengan p pada logo) memutuskan untuk membuka pusat pengembangan di Izhevsk. Pendiri dan pemilik bersama adalah warga setempat - dan baru saja kembali ke tanah kelahirannya. Segera melemparkan tangisan, pergi ke startup Amerika, saya lakukan!

Rekan-rekan paling memadai dari EPAM (yang sudah bosan dengan semua sampah tidak kurang dari milik saya) segera ada di sana. Dan juga orang-orang paling berpengalaman dari kantor lain (termasuk beberapa kandidat sains). Salah satu mantan kolega saya (dengan siapa kami menjadi teman pada masa kapitalis ventura), tepat di pertemuan, diadakan di kantor baru dengan akses ke atap, dari mana pemandangan kota yang bagus dibuka, mengundang saya untuk bergabung. Yah, saya katakan bahwa dalam dua minggu saya mungkin akan mulai bekerja.

Telah datang Saya melihat proyek. Saya sedih.

Proyek itu ternyata mentah, tidak penting, ditulis dengan menjijikkan. Pemimpin teknis, teman dekat pendiri, yang berasal dari New York, adalah orang yang paling keras kepala di dunia yang tidak dapat diyakinkan, atau dibujuk, atau setuju. Tapi kamu bisa mengecoh. Dan petunjuk kedua, yang dapat menurunkan satu baris kode, lihat, itu saja (sebagai hasilnya, mereka menyingkirkannya, tetapi tidak segera).

Tetapi di kantor baru yang keren dengan pintu keluar ke atap, sebuah tim yang sangat kuat berkumpul (startup Amerika benar-benar siap untuk membayar uang) - tetapi saya tidak pernah memiliki kesempatan untuk bekerja dengan programmer terbaik di kota kecil kami yang hanya enam ratus ribu. Ambang entri sangat tinggi (middleware untuk layanan berlangganan penyedia konten dengan banyak integrasi sulit), dan orang yang lebih sederhana tidak akan menariknya. Dan karena saya baru masuk sembilan, saya punya kesempatan untuk membangun proses pengembangan yang dekat dengan pemahaman saya tentang ideal. Yaitu, ketika semuanya bekerja dengan sendirinya.

Proyek ini, kami secara bertahap, dengan upaya bersama, menghasilkan keadaan yang waras. Kemacetan tetap menjadi pendidikan para technlides, tetapi mereka berada di NY. Tidak ada di sini. Di sini Anda dapat minum bir tepat di kantor setiap Kamis, tanpa kecuali! Dan bersenang-senang di perusahaan pengembang terbaik dan terbaik di kota. Hashtag # Izhevsk Google.

Itu sangat keren, sampai startup memiliki pertama 15, dan kemudian 20 orang. Hanya semacam klub kepentingan, tetapi di klub semacam itu tidak mungkin ada terlalu banyak orang dengan minat yang berbeda. Tapi setelah penambahan tim, kami pindah ke kantor yang lebih dingin dengan pemandangan panorama bagian tengah kota - yang membuat matahari terbenam epik di Instagram menjadi lebih banyak kolega wanita.

Akan sulit untuk menggambarkan dengan tepat apa yang saya lakukan di Piano (setelah menggabungkan dengan pesaing dan mengubah merek, kantor Izhevsk tetap menjadi kantor pengembangan utama), karena dalam startup, secara harfiah setiap orang harus melakukannya. Termasuk bahasa Inggris, akhirnya belajar.

Pada awalnya saya menulis banyak hal di Jawa, kemudian saya membuat beberapa fitur eksperimental yang sangat gagal berturut-turut (orang-orang New York yang keras kepala tidak begitu menyukai hasil negatifnya, tetapi rekan-rekan setempat percaya pada pengalaman saya - pada akhirnya saya benar dan saya tidak dipecat). Memberikan proses Integrasi Berkelanjutan - dan memungkinkan penampilan tim insinyur QA. Dalam tim yang sehat harus ada penguji perempuan! Tapi serius, menyiapkan proses DevOps mungkin yang paling berguna dari apa yang saya lakukan di sana hanya dalam dua setengah tahun.

Kemudian lagi dia banyak menulis di Jawa, sudah sebagai bagian dari tim dengan New York ketiga. Di sini dia adalah lelaki super-duper dan profesional berkelas - sangat disayangkan dia cepat-cepat melarikan diri (dari dua yang lain, karena mereka hampir memakannya di sana), dan sebagai hasilnya, sebuah karya raksasa untuk melokalisasi sistem (tidak pernah mencoba melokalisasi sistem di mana lokalisasi tidak semestinya diharapkan Lebih baik menulis ulang dari awal), setelah menghabiskan satu tahun, kami tidak menyelesaikan kemenangan terakhir - pertama kalinya. Kemudian, perlahan dan sedih, mereka selesai di latar belakang.

Pernahkah Anda mencoba untuk menggabungkan cabang, yang dalam suatu proyek mempengaruhi jutaan baris kode beberapa ratus ribu? Perasaan sejuk, tidak setiap rollercoaster akan memberikan perasaan ini. Menurut penggabungan ... tidak ada yang jatuh dan tidak memburuk. Kami diberi kue lokal.

(  )     .    Β« Β»  3


Setelah itu, sekali lagi ada beberapa DevOps yang sangat gila dan tugas penelitian yang diformalkan dengan buruk, tetapi keren. Dimungkinkan untuk kencing banyak kode pada python dan di bawah Google BigQuery, dan segala macam sampah di Node.js (sangat berguna bagi javist lama untuk mengubah kadang-kadang kuda, dan kadang-kadang ski). Nah, tugas itu menjadi ceri pada kue, yang saya menolak untuk mengambilnya tiga kali karena keraguan etisnya.

Untuk beberapa alasan, menurut saya itu tidak baik untuk dideteksi, dan terlebih lagi mencoba untuk memaksa pengguna untuk mematikan pemblokir iklan di browser. Faktanya, pengguna akhir middleware yang ditawarkan Piano adalah penerbit, dan pengguna yang duduk di belakang layar hanyalah konsumen konten. Tetapi saya, pada kenyataannya, mencoba untuk menjaga orang demi orang, dan menghormati pilihan mereka. Bukan urusan Anda apakah blok iklan saya diaktifkan atau tidak. Dan lebih lagi salah untuk mencoba mencari tahu, karena ada banyak cara untuk memblokir banyak iklan, dan secara teknis sulit untuk memeriksa semuanya, dan banyak orang yang duduk di saluran yang buruk di suatu tempat di kereta bawah tanah akan menderita false positive.

Yah, seperti yang Anda tahu. Tentu saja, saya adalah "insinyur penelitian" yang terkenal di kalangan sempit, tetapi dalam hal ini saya tidak ingin melakukan tugas (itu menarik, saya tidak membantah, tetapi membiarkan orang lain merusak kehidupan orang).

Jujur, saya tidak berpikir bahwa saya akan pernah meninggalkan kantor karena perbedaan etika. Selain itu, kantor itu keren dalam semua hal lainnya. Hashtag # Izhevsk Google.

Izhevsk, empat puluh tahun sudah dekat


Alangkah kerennya, ketika Anda bisa melakukan apa saja selama beberapa bulan di antara pekerjaan. Tetapi kemudian semuanya menjadi membosankan, dan pertanyaan abadi muncul - apa lagi yang harus dilakukan? Untuk menjawabnya, saya membuat daftar periksa.

[x] Pengembangan web tadinya.
[x] GIS tadinya.
[x] Ada perusahaan berdarah.
[x] Startup hipster keren dulu.
[x] Di pabrik, di mana ada besi, jelas saya tidak ada hubungannya.
[x] Pengembangan produk juga tidak cocok, karena sudah lama, dan saya telah menggergaji CMS saya selama 11 (sebelas !!! 11) tahun, dan saya sangat lelah. Apa yang tersisa
[x] Kecuali permainan dengan tiga dimensi lainnya, tapi ada dofiga matana, ini masih penuh di sekolah.
[] Oh, tunggu, Big Data sedang tren.

Di Piano, para kandidat sains terlibat dalam kencan besar, dan sulit untuk masuk ke klub pribadi mereka. Oke, lihat, apakah ada hal lain di kota ini?

Ditemukan secara tidak sengaja. Sebagian besar proposal adalah Moskow, tentu saja, tetapi untungnya, tidak semua.

Saya datang untuk berbicara ke tempat di mana saya bekerja sekarang, dan PM menyatakan langsung dari ambang pintu bahwa proyek itu adalah neraka. Tidak ada Sekali lagi, GIS, hanya perhitungan yang semuanya didasarkan pada MapReduce (dan saya menginginkannya pada Spark ), peta di ArcGIS, dan semua ini berputar di awan yang tidak dapat dirancang oleh siapa pun. Menurut pendapat saya, opsi bagus!

Sudah satu setengah tahun, dan saya masih berpikir pilihannya bagus. Secara umum, semua yang dilakukan sebelumnya bermanfaat. Di sini saya memiliki percikan di Jawa (saya tidak beralih ke Scala karena saya bukan Ph.D.), dan AWS dengan devoop, dan GIS web, dan kantor yang sangat baik dengan dapur yang lengkap, di mana setiap Kamis (walaupun, dengan pengecualian) pertemuan klub kuliner.

Lagi pula, saya seorang koki yang baik dengan pengalaman ini dan itu. Saya suka dan tahu cara memasak. Pizza, pasta, kue, barang lainnya dengan huruf P - seperti surat lainnya. Dan ada banyak gadis di kantor. Dan di departemen berikutnya mereka melihat HUDWAY. Hashtag # dibuat oleh Wudmurtia.

Total, kami terus bekerja lebih jauh.

Karena kita melakukan apa yang harus kita lakukan karena kita bisa , dan aku masih bisa.

, ,
β€” . , , , . , - , . .

, , , 20 . , ( , ), , , β€” , .

, , ( )? , , / ( , mortgage 25 ). ( , ).

, , , - , . (, , -, , , ). , , . , β€” - ever.

, , 20 .

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


All Articles