發(fā)布于:2020-12-30 16:36:08
0
105
0
當(dāng)我2014年大學(xué)畢業(yè)時(shí),我獲得了兩個(gè)學(xué)士學(xué)位,一個(gè)是計(jì)算機(jī)科學(xué),另一個(gè)是設(shè)計(jì)。我之所以選擇設(shè)計(jì),是因?yàn)槲蚁雽W(xué)習(xí)必要的設(shè)計(jì)技能,以提高個(gè)人項(xiàng)目的可用性和外觀。雖然我最初加入該計(jì)劃獲得這些硬盤,內(nèi)省能力,它是軟的,人際被證明是在我的職業(yè)生涯更有價(jià)值的技能和知識(shí)。我在這里分享一些有關(guān)這些技能的信息,以便其他工程師可以向他們學(xué)習(xí)。
第1課:您不是您的聽眾
在視覺傳達(dá)設(shè)計(jì)中,您應(yīng)該牢記受眾。在設(shè)計(jì)時(shí)要記住這些人,這需要額外的思考和細(xì)微差別。您并不是在為自己設(shè)計(jì)東西,而是要與聽眾交流。他們將如何解釋它?
給軟件工程師的教訓(xùn)
同樣對(duì)于工程師來說,當(dāng)您構(gòu)建產(chǎn)品時(shí),該短語會(huì)轉(zhuǎn)換為“您不是您的用戶”。即使您的用戶可能與您相似,他們也永遠(yuǎn)不會(huì)像您一樣。當(dāng)您在具有全球影響力的公司(例如Google)工作時(shí),這變得更加明顯,因?yàn)槟仨殲榘l(fā)展中國家和發(fā)達(dá)國家的用戶設(shè)計(jì)產(chǎn)品。永遠(yuǎn)不要以為最終用戶會(huì)想到與您相同的想法。
第2課:建設(shè)性的客觀反饋總是比還原性的主觀反饋好
我的視覺傳達(dá)設(shè)計(jì)教授羅伯特·塞德拉克(我也恰好是我的顧問,也是決定加入設(shè)計(jì)計(jì)劃的主要?jiǎng)恿Γ┰谒恼n堂批評(píng)中禁止使用兩個(gè)詞:“我喜歡”和“我不喜歡”喜歡。” 相反,他鼓勵(lì)我們使用更強(qiáng)的措辭和較少的主觀語言來提供更徹底和實(shí)質(zhì)性的反饋。以下是一些示例短語:
“我認(rèn)為這是成功的,因?yàn)椤?/span>
“我不認(rèn)為成功是因?yàn)椤?/span>
“您做X的方式加強(qiáng)了這項(xiàng)工作,因?yàn)椤?/span>
“我認(rèn)為X的方向更強(qiáng)是因?yàn)椤?/span>
其背后的理由是因?yàn)槿魏稳硕伎梢哉f“我喜歡這個(gè)”或“我不喜歡這個(gè)”,并在第一句話中說出與他們交談的第一件事。通過改寫反饋/評(píng)論的方式,我們被迫對(duì)設(shè)計(jì)進(jìn)行更深入的分析,并清楚地闡明我們對(duì)評(píng)論的支持。當(dāng)我們解釋我們?yōu)樽髌窚?zhǔn)備的方向時(shí),也期望有同樣的交流,這迫使我們深入分析自己的工作并認(rèn)真思考。
給軟件工程師的教訓(xùn)
建設(shè)性和客觀的反饋以及語言對(duì)軟件工程師進(jìn)行代碼審查很有幫助。雖然我相信使用禁止的短語“我喜歡您如何構(gòu)造這段特定代碼或解決此問題”沒有錯(cuò),但我確實(shí)認(rèn)為您不應(yīng)該使用“我不喜歡如何……”一詞,而是,將您的語言轉(zhuǎn)換為代碼審查中的建設(shè)性和客觀反饋。例如,讓我們看一下兩種形式的反饋。
“我不喜歡這段代碼的結(jié)構(gòu)方式。使用哈希映射而不是數(shù)組?!?/span>
“您是否考慮過將其存儲(chǔ)在哈希映射而不是數(shù)組中?我認(rèn)為這可能會(huì)有更好的表現(xiàn)?!?/span>
兩者都有相同的基本信息,但是第二個(gè)具有實(shí)質(zhì)性意義,因?yàn)樗艘粋€(gè)原因,而第一個(gè)則沒有。
此外,在考慮捍衛(wèi)代碼中的實(shí)現(xiàn)決策時(shí),請(qǐng)使用此方法。如果您因?yàn)橄矚g以某種方式而不是另一種方式來執(zhí)行代碼而忽略了反饋或建議的代碼更改,那么您的情緒可能會(huì)變得最好。退后一步問自己:“在滿足要求的情況下,這真的是最好的方法嗎?還是此反饋會(huì)幫助改善我的代碼?”
第3課:您不是您的設(shè)計(jì)/工作
Sedlack會(huì)不斷重申的另一個(gè)瑰寶是“您不是您的設(shè)計(jì)”。意味著在工作中,您不應(yīng)有任何自我意識(shí)或個(gè)人依戀感。通過學(xué)習(xí)這一點(diǎn),我意識(shí)到,為自己的工作感到自豪是件很棒的事,但您不應(yīng)該將自己的自我意識(shí)帶入工作中。這通常是因?yàn)橐坏┠鷮?duì)工作有了自我或個(gè)人的依戀感,就很難接受對(duì)工作的批評(píng)并努力對(duì)其進(jìn)行迭代或改進(jìn)。我發(fā)現(xiàn),通過消除對(duì)設(shè)計(jì)作品的自我和個(gè)人依戀感,我可以更輕松地回頭遍歷我的作品,看看我是否可以從評(píng)論的反饋中將其推向更強(qiáng)的方向。
給軟件工程師的教訓(xùn)
我認(rèn)為這是軟件工程師最有價(jià)值的課程之一。在專業(yè)和開放源代碼庫中,人們常常會(huì)在編寫的代碼中帶有自我意識(shí)。一旦涉及到某人的自我,這將使協(xié)作變得更加困難,尤其是如果您認(rèn)為編寫的代碼沒有改進(jìn)的余地。您是否遇到過一個(gè)始終反對(duì)在請(qǐng)求請(qǐng)求中探索建議的代碼更改的人?如果其他人進(jìn)入并重構(gòu)了過去工作過的代碼,也許他們會(huì)感到沮喪嗎?或者,也許他們對(duì)自己的代碼的建設(shè)性反饋感到防御。我個(gè)人認(rèn)為,所有這些都是由于過于依賴您的代碼而引起的,所以放手吧。通過放手,
第4課:迭代是改進(jìn)的關(guān)鍵
在設(shè)計(jì)時(shí),很少有人會(huì)為您的項(xiàng)目選擇第一個(gè)方向來成為最好的方向。相反,通過迭代和探索不同的方向并在評(píng)論過程中展示它們,您可以使用評(píng)論來幫助您找到最強(qiáng)的方向。即使您不提出批評(píng)意見,將多件作品進(jìn)行比較也可以幫助您發(fā)現(xiàn)優(yōu)點(diǎn)和缺點(diǎn),一旦您將多件作品進(jìn)行比較。一旦確定了設(shè)計(jì)的堅(jiān)實(shí)方向,就可以繼續(xù)迭代該設(shè)計(jì)并對(duì)其進(jìn)行批判,直到您確定它處于最佳狀態(tài)為止。
給軟件工程師的教訓(xùn)
與編碼類似,解決問題的第一個(gè)方向可能不是最佳方法。很多時(shí)候,我已經(jīng)編寫了一些東西,但是后來意識(shí)到有一種解決問題的更優(yōu)化和/或更簡單的方法。在請(qǐng)求請(qǐng)求期間,同事可能會(huì)提出一個(gè)您認(rèn)為沒有想到的更簡單或更快速的替代解決方案。最后,這些迭代將最終幫助您成長,因?yàn)槟诖诉^程中將學(xué)到新知識(shí)。
第五課:總是批評(píng)你的工作
在所有這些先前的課程中,一個(gè)共同的要素是批評(píng)。對(duì)我的設(shè)計(jì)工作提出的最有價(jià)值的反饋或想法,總是在批評(píng)期間出現(xiàn),無論是一個(gè)人還是與同學(xué)一起。在課堂上進(jìn)行批判時(shí),您將作業(yè)放在班級(jí)前面的黑板上,解釋作品的使用方向和背后的原因,然后打開地板進(jìn)行反饋。通常,我的同學(xué)會(huì)發(fā)現(xiàn)我所忽略的事物,或者幫助我找出哪個(gè)方向最強(qiáng)。
即使在教室外面,它也幫助我擺脫了設(shè)計(jì)的束縛,并獨(dú)自進(jìn)行了評(píng)論。問自己一些問題,例如:“此設(shè)計(jì)哪些地方做得好,哪些地方做得不好?它傳達(dá)什么?這是我要傳達(dá)的信息嗎?” 退后一步,批判我自己的作品,促使我創(chuàng)作出最好的作品。
給軟件工程師的教訓(xùn)
作為軟件工程師,我從中學(xué)到的教訓(xùn)是,您應(yīng)該始終進(jìn)行代碼審查。即使在輔助項(xiàng)目中,除非是一個(gè)小而快速的解決方法,否則我很少會(huì)推送到master分支。對(duì)于大多數(shù)功能,即使我是唯一從事該項(xiàng)目的人,我也會(huì)在一個(gè)單獨(dú)的分支中進(jìn)行工作并打開拉取請(qǐng)求。在這些請(qǐng)求請(qǐng)求期間,我會(huì)親自檢查代碼,以確保沒有任何錯(cuò)誤或沒有錯(cuò)過任何內(nèi)容。我什至在我的副項(xiàng)目存儲(chǔ)庫中添加了朋友,并要求他們對(duì)更復(fù)雜的功能進(jìn)行代碼審查,以確保我不會(huì)錯(cuò)過任何內(nèi)容。
在工作中,雖然您可能需要讓團(tuán)隊(duì)成員在合并之前對(duì)其進(jìn)行審核,但您應(yīng)該自己進(jìn)行一兩次代碼傳遞。您還可以使用這些請(qǐng)求請(qǐng)求來告訴審閱者,“這是我的方向,但是我也考慮過這樣做,對(duì)嗎?” 這與在批判期間可能會(huì)在兩個(gè)方向上獲得反饋一樣,并且獲得反饋可以引導(dǎo)您走上正確的道路。
總體而言,這些是設(shè)計(jì)學(xué)院的主要內(nèi)容,這些對(duì)我作為軟件工程師的職業(yè)來說是無價(jià)的,為此我要感謝設(shè)計(jì)學(xué)院。我希望這些課程為您提供相同的價(jià)值。
作者介紹
熱門博客推薦