這五種態(tài)度正在大肆破壞你的軟件開發(fā)工作
本文轉(zhuǎn)載自公眾號“讀芯術(shù)”(ID:AI_Discovery)
細(xì)節(jié)決定成敗,態(tài)度決定一切。那些影響最終結(jié)果的,往往歸根結(jié)底在于你不甚在意的事情。即使只是小小的想法,也有可能成為你的軟件開發(fā)工作中很具破壞性的釘子。實(shí)際上,很多人都至少有過其中一種想法,想要規(guī)避其破壞性首先得認(rèn)識到自己的問題,那么就開始吧。
1.“我只想在工作時(shí)編碼”
如果只是為了賺大錢而花時(shí)間編程,那么你的日子將會很難過。當(dāng)然,你可能會賺到一些錢,但很快就會精疲力竭的。只是瀏覽過多的新JavaScript庫就已經(jīng)使我很累了——盡管它在過去幾年里它已經(jīng)穩(wěn)定下來了。
你不能將編程僅僅視為工作。
比起常規(guī)工作,編程更像是一種職業(yè)愛好,僅僅朝九晚五是不可取的。要想真正發(fā)展技能,你需要對編程充滿熱情。需要找到解決問題的樂趣,并熱愛挑戰(zhàn)——甚至需要連續(xù)數(shù)小時(shí)不間斷的揮舞鍵盤。優(yōu)秀的程序員都充滿好奇心,并且求知若渴。
2.“我需要學(xué)習(xí)多種語言”
這種思想在《程序員修煉之道》一書中發(fā)揚(yáng)光大。但在我看來,完全不需要,你不需要每年學(xué)習(xí)一種新語言。
學(xué)習(xí)一門編程語言在許多方面都類似于學(xué)習(xí)一種常規(guī)語言。要掌握一門語言,就需要了解其背景、文化和人。僅僅熟悉單詞(關(guān)鍵字)和語法(編程中的語法)并不意味著了解一種語言。
曾經(jīng)我也想學(xué)習(xí)很多不同的語言,并認(rèn)為任何優(yōu)秀的程序員都必須了解任意數(shù)量的語言。但是我發(fā)現(xiàn)我從來沒有真正了解每種語言的“文化”。我可以用PHP,Java,C#.NET,JavaScript和Python編寫Web應(yīng)用程序,但是我始終對為什么以某些方式完成事情缺乏更深入的了解。
完全專注于一種后端、前端和數(shù)據(jù)庫語言,這樣做可以使你成為更好的程序員,真正學(xué)好一種語言通常可以使你輕松過渡到一種新語言。每種語言都有其足夠的深度和適用的范圍,無論如何,學(xué)習(xí)語言都會占用你相當(dāng)長的時(shí)間。
3.“這不屬于我的工作范疇”
從很多方面來看,正是這種想法會極大地限制你的成長。這種態(tài)度會讓你陷入困境,甚至最終斷送你的職業(yè)生涯。你會成為只希望完成某些任務(wù)的人,而這又會限制你接觸新的領(lǐng)域。
如果發(fā)現(xiàn)自己反復(fù)說諸如此類的話,那么你將處于危險(xiǎn)之中:
- “誰寫的代碼誰改”
- “這不是我寫的——所以我沒必要修復(fù)那個明顯的bug”
- “我不做前端,去找某某吧,他沒準(zhǔn)兒會”
4.“有關(guān)于它的教程嗎?”
我們都曾觀看或閱讀一個又一個教程,甚至可能看過10個關(guān)于同一主題的不同教程,只是為了獲得不同的見解。
但在某個時(shí)候你需要停止觀看教程,親自嘗試一下。僅僅通過別人的逐步指導(dǎo)并不能提升自己的分析和解決問題的能力,你得嘗試從你想學(xué)習(xí)內(nèi)容的項(xiàng)目中閱讀文檔和源代碼。此外,也請參考他人對某事的意見。與按部就班的指南相比,它具有更大的價(jià)值。
5.“我想自己構(gòu)建”
行,我知道你在一項(xiàng)編程工作中能構(gòu)建出色的東西,不只是使用別人已經(jīng)建立的東西了。但是,在進(jìn)行客戶項(xiàng)目并且臨近最后期限時(shí),你根本沒有時(shí)間去構(gòu)建自己的線性回歸程序包,工作中需要考慮到所有的極端情況。
你只需從npm或NuGet導(dǎo)入令人無語的軟件包并繼續(xù)進(jìn)行即可。如果你想拓展自己的技能,可以嘗試下班后,在家中利用空閑時(shí)間來構(gòu)建類似的軟件包。在工作中,通常需要妥協(xié)并使用他人已經(jīng)構(gòu)建和測試的內(nèi)容。
你認(rèn)為軟件開發(fā)中很糟糕的態(tài)度是什么呢?