論萌新開發與大佬開發的不同?

小米運維發表於2019-04-11

論萌新開發與大佬開發的不同?

論萌新開發與大佬開發的不同?




本文主要為大家介紹初級開發與高階開發人員的不同之處。

往期回顧:MacPorts打包過程簡介



每個開發大佬都有身為萌新的青蔥歲月

論萌新開發與大佬開發的不同?
論萌新開發與大佬開發的不同?
論萌新開發與大佬開發的不同?


在還是開發萌新時,他們就堅定信念,不斷磨練編碼技術,最終成長為開發大佬。對於他們來講,不斷學習新的編碼知識和接觸更復雜的問題就是他們的日常。透過不斷的學習,一位開發萌新逐漸成長為開發老油條,他們可以獨立自主的完成一個專案而不需要他人的指導和監督。

論萌新開發與大佬開發的不同?

對於開發老油條來說,他們正處於一個十分尷尬的時期。雖然他們比起萌新時期知道的東西要多得多,但是他們的知識儲備還不足以稱得上是開發大佬。

論萌新開發與大佬開發的不同?

但是這也是人之常情,人都需要成長,開發老油條遲早也會蛻變成開發大佬。等到那個時候,他們再回顧過去,就會知道自己從緊張的萌新開發一路走來成長了和學到了多少。下面就給大家整理了那些萌新開發與大佬開發的不同之處。

開發大佬擁有專案的大局觀

當開發大佬們接手一個專案時,他們通常會試圖弄清楚整個應用程式是如何從前端到後端工作,甚至包括一些伺服器的相關原理。與之相反,除非在其中出現明顯的BUG,萌新開發們通常不會考慮這些事情,也就是缺乏整個專案的大局觀。

論萌新開發與大佬開發的不同?

這是因為,開發大佬們很有經驗,他們知道所寫的程式碼不僅僅會影響他們編寫的檔案,還可能影響應用程式其他階段的工作,因此他們會在理解整個應用程式的基礎上對自己的程式碼進行完善。與之相對,萌新開發員往往是在參與過幾個不同的專案之後,才開始培養出這種整體思維。

開發大佬解決問題更有效率

沒有什麼比開發大佬只用一行程式碼便可以修復你的BUG更令人沮喪了。一個需要萌新開發員處理幾天的BUG,大佬們往往瞄一眼就能迅速的用一行程式碼解決問題,這對於大佬們來說簡直小菜一碟,他們見過更為複雜難修復的BUG。

對於缺乏經驗的開發萌新們來說,大多數BUG都是陌生的。尤其是如果你一開始就不確定解決問題的方向,一個小小的邏輯錯誤就會使你鑽入牛角尖而不自知,從而提升瞭解決問題的難度。

論萌新開發與大佬開發的不同?

遇見BUG時,知道解決問題的正確方向可以大大縮短解決問題的時間。更好地除錯程式碼的唯一方法是繼續除錯。

開發大佬對整個堆疊瞭解的更加深入

開發大佬們經常性的會鑽入資料庫並對整個架構進行修改,而開發萌新們卻可能從未聽說過架構或觸及過資料庫。正是因為大佬們有豐富的經驗作為支撐,才使他們可以在資料庫中來去自如。

這也和上文所提到的開發大佬的大局觀有關係。因為開發大佬們有大局觀,所以他們通常會花時間瀏覽專案的各個部分以瞭解專案是如何建立的。這使得他們能夠修復與程式碼無關的問題,像是伺服器問題,開發大佬們就可以檢視並修復它。

開發大佬們還可以處理產品經理所提出的任何使用者場景。基於對整個工作流程的透徹理解,開發大佬們可以熟練的將一個大而難的使用者場景分解成一個個小而易的使用者場景。同時,他們非常瞭解軟體架構,清楚如何從頭開始構建所需的功能。

論萌新開發與大佬開發的不同?

開發大佬們對於測試也是絕不馬虎,他們對於測試驅動開發和行為驅動開發駕輕就熟,對DevOps之類的東西更是信手拈來,更不論他們已經見證和參與了多個專案經歷了從構思到生產的整個開發過程。

對於萌新開發員來說,不像大佬們那樣掌握全域性有情可原。因為專注於程式碼編寫,這就是開發人員的本職工作。萌新們應該做到努力提升程式碼水平,而後再慢慢接觸應用程式其他的部分。

開發大佬知道在文件中尋找什麼

我們要知道,並非所有文件都書寫流暢且易於理解。在瀏覽Stack Overflow和Hashnode的問題和框架時,那些使用了太多專業術語卻沒有足夠的例子支撐的文件經常讓人難以理解。一個好的文件應該有大量的例項,解釋時避免使用過多的專業術語,將文件所有內容分解為易於閱讀的段落。與之相反,難以理解的文件通常例子不夠,使用過多的術語,內容也沒有很好的分段。

這樣參差不齊的文件使得萌新開發員們很難正確地提出和表達問題。因此,他們會花費大量的時間去瀏覽論壇、閱讀文件和藉助Google搜尋。除此之外,萌新們也經常會鑽牛角尖,直到他們走不下去或著等待太長時間的時候,才會去尋求幫助。這時就是大佬開發發揮魔力的時候了。

論萌新開發與大佬開發的不同?

開發大佬們能夠輕鬆快速地瀏覽論壇和文件。他們通常會尋找一些關鍵字,並且會過濾掉不相關的資訊。這使得他們會在大量的搜尋中找到所需的確切資訊。

開發大佬們會透過閱讀專案repo中的測試用例,來更好地理解應用程式是如何工作的。專案repo是一種很好的文件形式,它可以精確地羅列了應用程式的預期內容。但是對於萌新而言,會在編寫測試時可能就會遇到困難,因此他們通常無法從瀏覽專案repo中獲得足夠的有價值的資訊。

開發大佬能夠防範於未然

得益於專案的大局觀,開發大佬更傾向於在問題成為問題之前找出問題,因為他們知道所有問題是如何聯絡在一起的。

例如,開發大佬可能會呼叫配置檔案中的CORS設定,而萌新開發人員可能會試圖找出應用程式在本地工作但不在生產中的原因。這個問題,對於萌新而言可能聞所未聞,但是作為一個常見的問題,大佬卻是再熟悉不過了。

開發大佬能通俗易懂的解釋術語

能夠以通俗易懂的方式解釋技術術語,這對於開發大佬們來說是一項非常微妙的技能。當你非常瞭解Web開發的基礎知識時,就會很容易向那些不瞭解開發的工作的人解釋它們。除此之外,因為大多數大佬開發人員都在不同的團隊中工作,他們必須學會如何向團隊中的每個人解釋程式碼,從CEO到萌新開發人員都包括在內。

但是,這並不意味著萌新開發人員不能做到同樣的事情。只是,通常來講,大佬開發能夠更好地解釋技術術語,因為他們清楚地知道與他們交談的人的意圖是什麼,因此解釋技術術語對於他們而言非常簡單。

與之相對,萌新開發員可能會在解釋時遇到困難,因為他們還沒有經歷過在實際情況中應用的情況,或者他們自己的理解就不夠到位。通常萌新開發員可以給出術語的基本解釋,更深刻的解釋則需要對方透過提問來引導。

大佬開發同時也涉獵業務方面的事情。他們會關注大多數萌新開發員永遠不會想到的監管和法律問題。他們清楚應用程式本身並不能生存,開發需要與銷售、運營等不同部門協調以獲取所需資訊,來確保應用程式很好地滿足使用者的需求。

開發大佬不畏懼做出決定

你可以放心的將程式碼的修改或新增需求交給開發大佬們。一旦開發大佬們知道他們正在使用的是哪種技術堆疊,他們就可以大致瞭解如何解決問題。對技術堆疊的體系結構的深入瞭解,使得開發大佬們能夠找出他們正在處理的應用程式的任何限制或可能性。

論萌新開發與大佬開發的不同?

開發大佬們清楚地知道哪些角落可以切割,他們知道哪些角落不應該被切割。通常,他們也不介意花點功夫編寫新規範,來適應專案中使用的技術堆疊的功能。

當開發大佬們發現一些他們無法實現的功能或著修復的BUG時,他們會直接向業務部門解釋,而不會對自我產生懷疑。如果他們發現一些超出專案範圍的內容,或者不符合行業應用程式的某些規則,大佬們也會毫不猶豫地將其宣之於眾。

與之相反,萌新開發員往往在這些問題上會猶豫不決。由於不自信,某些時候,即使他們發現一些問題,他們也不會說出來。這也無可厚非,建立起自信需要時間,因為在你告訴別人問題之前,你需要知道確切的問題所在。

以上的這些條件對於萌新開發來說很苛刻。但是,日常工作中其實並沒有人期望你像大佬開發那樣能幹,這就是為什麼他們聘請你作為初級開發人員的原因。透過向大佬開發學習,你可以幫助自己獲得高階開發人員身份。

大多數時候,大佬們並不羞於與真正想要學習的人分享他們的知識。萌新可以做的其他事情就是不僅僅只專注於程式碼,也要涉獵其他知識。瞭解資料庫的工作方式和了解一些SQL將會有對你的工作有更大的幫助。

作為萌新,你需要堅持下去。即使遇見很多開發難題,你開始失去自信,也不要放棄。勿忘初心,方得始終,希望萌新開發們早日成就自我。

論萌新開發與大佬開發的不同?

文/Milecia

翻譯/許曄

本文翻譯自Hashnode網站

論萌新開發與大佬開發的不同?

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559359/viewspace-2641080/,如需轉載,請註明出處,否則將追究法律責任。

相關文章