Anger ing kode: programer lan negativitas

Anger ing kode: programer lan negativitas

Aku ndeleng potongan kode. Iki bisa uga kode paling awon aku wis tau ndeleng. Kanggo nganyari mung siji rekaman ing database, njupuk kabeh cathetan ing koleksi banjur ngirim panjalukan nganyari kanggo saben rekaman ing database, malah sing ora perlu dianyari. Ana fungsi peta sing mung ngasilake nilai sing diterusake. Ana tes kondisional kanggo variabel kanthi nilai sing padha, mung dijenengi kanthi gaya sing beda (firstName ΠΈ first_name). Kanggo saben UPDATE, kode ngirim pesen menyang antrian beda, kang ditangani dening fungsi serverless beda, nanging kang nindakake kabeh karya kanggo koleksi beda ing database padha. Apa aku nyatakake yen fungsi tanpa server iki saka "arsitektur berorientasi layanan" berbasis awan sing ngemot luwih saka 100 fungsi ing lingkungan?

Kepiye carane bisa nindakake iki? Aku nutupi pasuryan lan katon nangis liwat ngguyu. Kanca-kancaku takon apa sing kedadeyan, lan aku nyritakake maneh kanthi warna Hits Paling awon saka BulkDataImporter.js 2018. Saben uwong nods sympathetically ing kula lan setuju: carane padha bisa nindakake iki kanggo kita?

Negativitas: alat emosional ing budaya programmer

Negativitas nduweni peran penting ing pemrograman. Iki ditempelake ing budaya kita lan digunakake kanggo nuduhake apa sing wis kita sinau ("sampeyan ora sampeyan bakal pracaya, kode kuwi kaya apa!”), kanggo ngucapake simpati liwat frustasi (β€œGusti, KENAPA?”), Pamer diri (β€œAku ora bakal supaya ora nindakaken"), kanggo nyalahake wong liya ("kita gagal amarga kode dheweke, sing ora bisa ditindakake"), utawa, kaya biasane ing organisasi sing paling "beracun", ngontrol wong liya liwat a rasa isin ("Apa sing sampeyan pikirake?" ? bener").

Anger ing kode: programer lan negativitas

Negativitas penting banget kanggo programer amarga cara sing efektif banget kanggo ngirim nilai. Aku tau nekani kemah pemrograman, lan praktik standar kanggo nanem budaya industri ing siswa yaiku nyedhiyakake meme, crita, lan video kanthi murah, sing paling populer sing dieksploitasi. frustasi programer nalika ngadhepi kesalahpahaman wong. Iku apik yen bisa nggunakake alat emosional kanggo ngenali sing apik, sing ala, sing ala, aja nglakoni, ora tau. Sampeyan perlu kanggo nyiapake wong anyar kanggo kasunyatan sing mbokmenawa bakal misunderstood dening kolega sing adoh saka IT. Sing kanca-kanca bakal miwiti adol gagasan app yuta dolar. Sing padha kudu ngumbara liwat labyrinths telas kode outdated karo Bunch saka minotaurs watara sudhut.

Nalika sepisanan sinau program, pangerten kita babagan kedalaman "pengalaman pemrograman" adhedhasar pengamatan reaksi emosional wong liya. Iki bisa dideleng kanthi cetha saka kiriman ing sabe ProgrammerHumor, ngendi akeh programer newbie nongkrong. Akeh sing humoris, kanggo siji derajat utawa liyane, diwarnai karo macem-macem nuansa negatif: kuciwane, pesimisme, nesu, condescension lan liya-liyane. Lan yen iki ora cukup kanggo sampeyan, maca komentar.

Anger ing kode: programer lan negativitas

Aku weruh yen programer entuk pengalaman, dheweke dadi luwih negatif. Pemula, ora ngerti kesulitan sing nunggu dheweke, diwiwiti kanthi semangat lan kekarepan kanggo percaya yen penyebab kesulitan kasebut mung kurang pengalaman lan kawruh; lan pungkasane bakal diadhepi karo kasunyatan.

Wektu liwati, padha entuk pengalaman lan bisa mbedakake kode Good saka Bad. Lan nalika wayahe teka, programer enom ngrasa frustasi nggarap kode sing jelas ala. Lan yen dheweke kerja ing tim (kanthi adoh utawa kanthi pribadi), dheweke asring ngetrapake kabiasaan emosional saka kolega sing luwih berpengalaman. Iki asring nyebabake paningkatan negatif, amarga wong enom saiki bisa ngomong kanthi ati-ati babagan kode lan dibagi dadi ala lan apik, mula nuduhake yen dheweke "ing ngerti." Iki luwih nguatake sing negatif: amarga kuciwane, gampang akur karo kolega lan dadi bagian saka klompok; ngritik Bad Code nambah status lan profesionalisme sampeyan ing mata wong liya: wong sing mratelakake panemume negatif asring dianggep luwih cerdas lan kompeten.

Tambah negativitas ora mesthi bab sing ala. Diskusi babagan pemrograman, ing antarane, fokus banget marang kualitas kode sing ditulis. Apa kode kasebut kanthi lengkap nemtokake fungsi sing dimaksudake (perangkat keras, jaringan, lan liya-liyane), dadi penting kanggo bisa nyatakake pendapat sampeyan babagan kode kasebut. Meh kabeh diskusi teka kanggo apa kode iku cukup apik, lan kanggo condemning banget manifests saka kode ala ing syarat-syarat konotasi emosi characterizes kualitas kode:

  • "Ana akeh inconsistencies logika ing modul iki, iku calon apik kanggo Optimization kinerja pinunjul."
  • "Modul iki cukup ala, kita kudu refactor."
  • "Modul iki ora masuk akal, kudu ditulis maneh."
  • "Modul iki nyedot, kudu ditambal."
  • "Iki potongan ram, dudu modul, ora perlu ditulis, apa sing dipikirake penulis."

Miturut cara, iki "rilis emosional" sing nggawe pangembang nyebut kode kasebut "seksi", sing arang banget adil - kajaba sampeyan kerja ing PornHub.

Masalahe yaiku wong sing aneh, gelisah, makhluk emosional, lan persepsi lan ekspresi emosi apa wae sing ngganti kita: ing wiwitan kanthi subtly, nanging liwat wektu, sacara dramatis.

A slope lunyu masalah negativity

Sawetara taun kepungkur, aku dadi pimpinan tim informal lan diwawancarai pangembang. Kita seneng banget karo dheweke: dheweke pinter, takon pitakonan sing apik, pinter teknologi, lan cocog karo budaya kita. Aku kesengsem banget karo positipitase lan kepiye carane enterprising. Lan aku nyewa dheweke.

Ing wektu iku, aku wis makarya ing perusahaan kanggo sawetara taun lan felt sing budaya kita ora banget efektif. Kita nyoba kanggo miwiti produk kaping pindho, kaping telu lan kaping pindho sadurunge aku teka, kang mimpin kanggo expenses gedhe ing rework, kang kita ora duwe apa-apa kanggo nuduhake kajaba bengi dawa, deadline nyenyet lan produk sing makarya. Lan sanajan aku isih kerja keras, aku mamang babagan tenggat wektu pungkasan sing diwenehake dening manajemen. Lan kanthi sembrono sumpah nalika ngrembug sawetara aspek kode karo kanca-kancaku.

Dadi ora nggumunake-sanajan aku kaget-yen sawetara minggu mengko, pangembang anyar sing padha ngomong babagan negatif sing padha karo aku (kalebu sumpah). Aku nyadari yen dheweke bakal tumindak beda ing perusahaan sing beda karo budaya sing beda. Dheweke mung adaptasi karo budaya sing dakcipta. Aku dikalahake kanthi rasa salah. Amarga pengalaman subyektif, aku nandurake pesimisme ing wong anyar sing dakanggep beda banget. Sanadyan dheweke pancen ora kaya ngono lan mung nggawe penampilan kanggo nuduhake yen dheweke bisa cocog, aku meksa sikapku sing sial marang dheweke. Lan kabeh sing diomongake, sanajan kanthi guyon utawa liwat, nduweni cara sing ala kanggo ngowahi apa sing diyakini.

Anger ing kode: programer lan negativitas

Cara negatif

Ayo bali menyang mantan programer anyar kita, sing wis entuk kawicaksanan lan pengalaman sethithik: dheweke wis dadi luwih akrab karo industri pemrograman lan ngerti yen kode ala ana ing endi wae, ora bisa dihindari. Iki kedadeyan sanajan ing perusahaan paling maju sing fokus ing kualitas (lan supaya aku Wigati: ketoke, modernitas ora nglindhungi kode ala).

Skrip sing apik. Sajrone wektu, pangembang wiwit nampa kode sing ala minangka kasunyatan saka piranti lunak lan tugase kanggo nambah. Lan yen kode ala ora bisa nyingkiri, mula ora ana gunane kanggo nggawe repot. Dheweke njupuk dalan Zen, fokus kanggo ngrampungake masalah utawa tugas sing diadhepi. Dheweke sinau babagan cara ngukur lan komunikasi kualitas piranti lunak kanthi akurat marang pamilik bisnis, nulis prakiraan sing adhedhasar pengalamane taun-taun, lan pungkasane nampa hadiah sing apik kanggo bisnis sing luar biasa lan terus-terusan. Dheweke nindakake pakaryan kanthi apik nganti entuk bonus $ 10 yuta lan pensiun kanggo nindakake apa sing dikarepake ing salawas-lawase (aja diremehake).

Anger ing kode: programer lan negativitas

Skenario liyane yaiku dalan peteng. Tinimbang nampa kode ala minangka ora bisa dihindari, pangembang njupuk dhewe kanggo nyebut kabeh sing ala ing jagad pemrograman supaya bisa ngatasi. Dheweke nolak nambah kode ala sing ana amarga akeh alasan sing apik: "wong kudu ngerti luwih akeh lan ora dadi bodho"; "iku ora nyenengake"; "iki ala kanggo bisnis"; "iki mbuktekaken carane pinter aku"; "Yen aku ora ngandhani apa kode ala iki, kabeh perusahaan bakal tiba ing segara," lan liya-liyane.

Mesthi ora bisa ngleksanakake owah-owahan sing dikarepake amarga bisnis sayangΓ© kudu terus berkembang lan ora bisa mbuwang wektu kuwatir babagan kualitas kode, wong-wong iki entuk reputasi minangka complainers. Padha ditahan kanggo kompetensi dhuwur, nanging di-push menyang wates perusahaan, ngendi padha ora bakal ngganggu akeh wong, nanging isih ndhukung operasi sistem kritis. Tanpa akses menyang kesempatan pangembangan anyar, dheweke kelangan katrampilan lan mandheg nyukupi panjaluk industri. Negativitas kasebut dadi pait pait, lan akibate dheweke ngobati ego kanthi mbantah karo siswa sing umur rong puluh taun babagan perjalanan teknologi lawas sing disenengi lan kenapa isih panas. Padha pungkasane pensiun lan urip ing umur tuwa karo sumpah manuk.

Kasunyatan bisa uga ana ing antarane rong ekstrem kasebut.

Sawetara perusahaan wis sukses banget nggawe budaya sing negatif banget, insular, kuwat (kaya Microsoft sadurunge dekade ilang) - asring iki minangka perusahaan kanthi produk sing cocog karo pasar lan kudu tuwuh kanthi cepet; utawa perusahaan karo hirarki printah lan kontrol (Apple ing taun paling Jobs), ngendi saben wong nindakake apa padha marang. Nanging, riset bisnis modern (lan akal sehat) nyaranake yen kapinteran maksimal, sing ndadΓ©kakΓ© inovasi ing perusahaan, lan produktivitas dhuwur ing individu, mbutuhake tingkat stres sing kurang kanggo ndhukung pamikiran kreatif lan metodis sing terus-terusan. Lan angel banget kanggo nindakake karya kreatif adhedhasar diskusi yen sampeyan terus-terusan kuwatir babagan apa sing bakal dikandhakake kanca-kanca babagan saben baris kode sampeyan.

Negatif yaiku rekayasa budaya pop

Saiki, luwih akeh perhatian dibayar kanggo sikap insinyur tinimbang sadurunge. Ing organisasi teknik, aturan "Ora ana sungu". Luwih akeh anekdot lan crita sing muncul ing Twitter babagan wong-wong sing ninggalake profesi iki amarga ora bisa (ora bakal) terus nandhang permusuhan lan niat jahat marang wong njaba. Malah Linus Torvalds nembe nyuwun pangapunten taun permusuhan lan kritik marang pangembang Linux liyane - iki wis nyebabake debat babagan efektifitas pendekatan iki.

Sawetara isih mbela hak Linus dadi kritis banget - sing kudu ngerti akeh babagan kaluwihan lan kekurangan "negativitas beracun". Ya, kesopanan iku penting banget (malah dhasar), nanging yen kita nyimpulake alasan kenapa akeh kita ngidini ekspresi pendapat negatif dadi "keracunan", alasan kasebut katon paternalistik utawa remaja: "padha pantes amarga padha bodho. ", "dheweke kudu yakin yen dheweke ora bakal nindakake maneh," "yen dheweke ora nindakake, dheweke ora kudu bengok-bengok," lan liya-liyane. Conto pengaruh reaksi emosional pimpinan ing komunitas pemrograman yaiku akronim komunitas Ruby MINASWAN - "Matz iku becik supaya kita becik."

Aku wis ngeweruhi sing akeh panyengkuyung ardent saka "mateni wong bodho" pendekatan asring banget Care babagan kualitas lan bener kode, ngenali piyambak karo karya. Sayange, padha kerep bingung atose karo rigidity. Kerugian posisi iki asale saka manungsa sing prasaja, nanging ora produktif kepinginan kanggo ngrasa luwih unggul tinimbang wong liya. Wong sing kecemplung ing kepinginan iki dadi macet ing dalan peteng.

Anger ing kode: programer lan negativitas

Donya pemrograman tuwuh kanthi cepet lan nyurung wates wadhahe - jagad non-programming (utawa jagad pemrograman minangka wadah kanggo jagad non-program? Pitakonan sing apik).

Nalika industri kita berkembang kanthi cepet lan program dadi luwih gampang diakses, jarak antarane "teknisi" lan "normal" ditutup kanthi cepet. Donya pemrograman saya tambah akeh karo interaksi interpersonal wong sing tuwuh ing budaya nerd sing terisolasi saka boom teknologi awal, lan dheweke bakal mbentuk jagad pemrograman anyar. Lan preduli saka argumentasi sosial utawa generasi, efisiensi ing jeneng kapitalisme bakal katon ing budaya perusahaan lan praktik nyewa: perusahaan sing paling apik mung ora bakal nyewa sapa wae sing ora bisa sesambungan kanthi netral karo wong liya, apamaneh duwe hubungan sing apik.

Apa aku sinau babagan negatif

Yen sampeyan ngidini negativitas banget kanggo ngontrol pikiran lan interaksi karo wong, dadi keracunan, mula mbebayani kanggo tim produk lan larang kanggo bisnis. Aku wis ndeleng (lan krungu) akeh proyek sing ambruk lan dibangun maneh kanthi biaya gedhe amarga siji pangembang sing dipercaya duwe dendam marang teknologi kasebut, pangembang liyane, utawa malah file siji sing dipilih kanggo makili kualitas kabeh basis kode.

Negatif uga ngrusak lan ngrusak hubungan. Aku ora bakal lali carane kolega scolded kula kanggo sijine CSS ing file salah, iku upset kula lan ora ngidini kula kanggo ngumpulake pikirane kanggo sawetara dina. Lan ing mangsa ngarep, aku ora bakal ngidini wong kasebut cedhak karo salah sawijining timku (nanging sapa ngerti, wong bakal ganti).

Pungkasan, negatif secara harfiah ngrusak kesehatan sampeyan.

Anger ing kode: programer lan negativitas
Aku iki apa kelas master ing eseman kudu katon kaya.

Mesthine, iki dudu argumentasi kanggo nyenengake kanthi rasa seneng, nglebokake sepuluh milyar emoticon ing saben panjaluk narik, utawa menyang kelas master kanthi eseman (ora, uga, yen sampeyan pengin, mula ora ana pitakonan). Negativitas minangka bagΓ©yan penting banget saka program (lan urip manungsa), menehi tandha kualitas, ngidini siji kanggo nyebut raos lan commiserate karo fellow manungsa. Negativity nuduhake wawasan lan prudence, ambane saka masalah. Aku kerep sok dong mirsani sing pangembang wis tekan tingkat anyar nalika dheweke wiwit nyebut kafir ing apa sing sadurunge dheweke isin lan ora yakin. Wong nuduhake akal lan kapercayan kanthi panemu. Sampeyan ora bisa ngilangi ekspresi negativitas, yaiku Orwellian.

Nanging, negativitas kudu ditimbang lan diimbangi karo kualitas manungsa liyane sing penting: empati, sabar, pangerten lan humor. Sampeyan bisa tansah ngomong wong sing ngaco munggah tanpa bengok-bengok utawa sumpah. Aja ngremehake pendekatan iki: yen ana wong sing ngandhani sampeyan tanpa emosi yen sampeyan wis ngaco banget, pancen medeni.

Wektu iku, sawetara taun kepungkur, CEO ngomong karo aku. Kita ngrembug status proyek saiki, banjur dheweke takon kepiye perasaanku. Aku mangsuli yen kabeh apik, proyek iki obah, kita kerja alon-alon, mbok menawa aku ora kejawab lan kudu dipikir maneh. Dheweke kandha yen dheweke wis krungu aku nuduhake pikirane sing luwih pesimis karo kanca-kanca ing kantor, lan wong liya uga ngerti. Dheweke nerangake yen aku ragu, aku bisa ngandhani manajemen kanthi lengkap, nanging ora "nyingkirake." Minangka insinyur utama, aku kudu ngelingi carane tembungku mengaruhi wong liya amarga aku duwe pengaruh akeh sanajan aku ora ngerti. Lan dheweke ngandhani kabeh iki kanthi apik, lan pungkasane ujar manawa yen aku rumangsa kaya ngono, mula aku kudu mikir babagan apa sing dakkarepake kanggo aku lan karirku. Iku luar biasa lanang, njaluk-iku-utawa-metu-saka-Panjenengan-jog obrolan. Aku matur nuwun kanggo informasi babagan carane owah-owahan sikap liwat nem sasi iki mengaruhi liyane unnoticed dening kula.

Iki minangka conto manajemen sing luar biasa, efektif lan kekuwatan pendekatan sing alus. Aku nyadari yen aku mung duwe iman sing lengkap ing perusahaan lan kemampuane kanggo nggayuh tujuane, nanging nyatane aku ngomong lan komunikasi karo wong liya kanthi cara sing beda. Aku uga nyadari yen sanajan aku rumangsa mamang babagan proyek sing dakgarap, aku ora kudu nuduhake perasaanku marang kanca-kancaku lan nyebar pesimisme kaya contagion, nyuda kemungkinan sukses. Nanging, aku bisa kanthi agresif ngirim kahanan nyata marang manajemenku. Lan yen aku rumangsa dheweke ora ngrungokake aku, aku bisa nyatakake ora setuju kanthi ninggalake perusahaan.

Aku nampa kesempatan anyar nalika njupuk posisi kepala penilaian personel. Minangka mantan kepala insinyur, aku ngati-ati banget babagan mratelakake panemume babagan kode warisan (sing terus saya tambah). Kanggo nyetujoni owah-owahan, sampeyan kudu mbayangno kahanan saiki, nanging sampeyan ora bakal entuk apa-apa yen sampeyan ngeluh, nyerang, utawa liya-liyane. Pungkasane, aku ing kene kanggo ngrampungake tugas lan ora kudu sambat babagan kode kasebut supaya bisa ngerti, ngevaluasi, utawa ndandani.

Nyatane, luwih aku ngontrol reaksi emosionalku marang kode kasebut, luwih ngerti apa sing bisa dadi lan kebingungan sing dakrasakake. Nalika aku nyebutake awakku kanthi ngendhaleni ("kudu ana papan kanggo dandan luwih akeh ing kene"), aku nggawe aku lan wong liya seneng lan ora njupuk kahanan kasebut kanthi serius. Aku temen maujud sing aku bisa ngrangsang lan nyuda negativitas ing wong liya kanthi sampurna (ngganggu?) cukup ("Sampeyan bener, kode iki cukup ala, nanging kita bakal nambah"). Aku bungah kanggo ndeleng carane adoh aku bisa pindhah ing dalan Zen.

Intine, aku terus sinau lan sinau maneh pelajaran penting: urip iki cendhak banget kanggo terus-terusan nesu lan lara.

Anger ing kode: programer lan negativitas

Source: www.habr.com

Add a comment