摘要:
什麼樣的水平稱得上高級工程師,什麼樣的水平只能稱得上普通工程師?
爲什麼大部分人停留在普通工程師的級別?
“我會做十道涼菜、三十道熱菜。”這是哪種級別工程師的自我介紹?
平常我們最喜歡做的事情,哪些價值更高?哪些毫無價值?
-引言-
如題,初級程序員和架構師的差別在哪裏?
工作年限?經驗?老闆重視程度?是否做出重大業績?
首先,工作年限長的技術就一定更加高深麼?
不見得!
這個世界上不知道有多少人,每天只是做着重複性的工作,毫無長進。雖說吃過的鹽比其他人吃過的飯都多,但就是沒記性,不斷的重複着過去的錯誤。甚至伴隨着年齡的增長、激情的磨損,反倒一年不如一年。
其次,工作經驗,蓋過100個房子的一定就比只蓋過10個房子的更有經驗麼?
不見得!
有些人只需要蓋過一個房子,就會對房子的地基、門窗、水暖管道、強弱電走線、等等瞭如指掌。而有些人,蓋了一輩子的房子,連插頭左右哪個是火線哪個是零線都分不清楚。
至於老闆重視程度,這是結果,而非原因。技術高深,自然就受到重視;而不是相反的:受到了重視,所以技術才變得高深。
是否做出重大業績,這確實是一個足夠客觀的衡量指標,但依然只是結果。更何況,如果是一羣人共同做出的業績,如何區分大家彼此之間的技術高低呢?
那麼,普通工程師和高級工程師,差別到底在哪裏呢?什麼樣的水平稱得上高級工程師,什麼樣的水平只能稱得上普通工程師?什麼樣的人一看就知道是高級工程師,什麼樣的人一看就知道最多是普通工程師?
-初級Java程序員與門外漢的區別-
初級Java程序員面對技術任務,至少是知道從何處入手的。
比如說修汽車,門外漢連空氣濾清器在哪裏都不知道,更不要說如何拆卸,如何安裝了。
計算機軟件專業的畢業生,至少明白做一個手機上的軟件是需要安裝編譯環境的,一個門外漢對於幾行代碼變出來的遊戲界面感到頗爲神奇。
但是作爲一個軟件工程師,我真的很好奇一大堆黃豆是如何變成液體豆汁而後突然變成固體豆腐的。
所以,初級程序員對自己所從事的行業,至少是有大概的瞭解的,甚至具有一定的工作經驗,可以在高級別同伴的帶領下完成最爲基本的操作。
-初級程序員與普通程序員的區別-
初級程序員剛剛入門,能夠在師傅的指導下完成最最基本的流程化操作。但是由於熟練程度不足,完成任務的速度和質量無法保證;稍有遇到自己沒做過,或者不熟悉的技術問題,都需要花費更多的時間學習。
在一個行業內做過許多事情之後(也可以是一個大事情內部的許多細分小事情),對各種技術問題都有接觸,並都有成功解決的經歷。於是,大部分的技術問題不再陌生,甚至非常熟練。自然而然,成長爲普通程序員。
兩者最典型的區別有:
1、行業相關的衆多技術點,是否都有了解;
2、行業相關的衆多細分工作,是否都有“熟練”操作過,完成的質量是否有足夠保證;
3、行業相關的不同任務,能否給出明確的工期預測;
-普通程序員與高級程序員的區別-
大部分人會停留在普通程序員的狀態,因爲伴隨着大家對自身工作內容的逐步熟悉,伴隨着大家日復一日重複同樣操作的逐漸熟練,這些知識和技能足以滿足通常的工作需要。
很少有人會考慮:
1、更快(效率):目前的操作流程是否是最快的?如何改進?
2、更好(效果或性能):目前的解決方案是否是最佳的?能否進一步提升性能?
3、更省(成本):什麼樣的方式能夠降低人力成本、財物成本?
會做炸雞的廚師很多——初級;
努努力做出口感好的炸雞,也不是太難,只要肯賣力練習就行——普通級;
盡心專研,做出超級口感的炸雞,真的需要好好專研、總結的——更好;
像肯德基那樣,讓入門級的廚師甚至門外漢都能夠做出口感好的炸雞,則需要對炸雞的油溫、時間等等做出仔細的研究,然後製作出對應的設備、操作流程。這是對一個行業的徹底顛覆。這樣的級別,就不僅僅是高級了,而是專家級別。
-如何最快速的成長-
如何最快速的從初級到高級?區別明確了,問題就好辦了!
1、爭取做自己不熟悉、不會做的;——不熟悉的熟悉了,不會做的會做了,自然就成長了;
2、多做自己不熟練的、有難度的;——不熟練的熟練了,有難度的變得輕鬆了,自然就進步了;
3、習以爲常的操作,多考慮一下是否能夠換個方式做得更快、更好、更省;(自己琢磨也好,參考業內高手也行)
4、可以的話,思考一下如何讓門外漢或初級員工更方便的做這個事情;
5、嘗試解決那些大家都解決不了的甚至被認爲根本不可能解決的問題。
- 從初級到普通級別,勤學苦練足矣;
- 從普通級別到高級,則需要多動動腦子,多思考,多對比,多總結,多摸索。
越是有難度的問題,越是沒人能夠解決的問題,越是從來沒有人考慮過的問題,價值越高!
-如何面試考察對方的級別-
1、你做過這個事情麼?(或者:簡歷裏你印象最深刻的事情是哪個?)
2、做的過程中遇到過什麼問題?
3、你是如何解決這些遇到的問題(或者其它一些奇葩的問題)的?
4、類似的事情重新讓你做的話,大概需要多久?
5、你們做過的這些工作,都有哪些地方可以繼續改善提升的?
6、業內的通常做法是怎樣的?爲什麼?有沒有更好的方案?
- 初級程序員的自我介紹是這樣的:我會做十道涼菜、三十道熱菜;
- 普通程序員的自我介紹是這樣的:我一小時能做二十道菜;
- 高級程序員的自我介紹是這樣的:打從我來到飯店後,客人更多了,賺錢更多了;
- 架構師的自我介紹是這樣的:你聽過這道菜麼?是我第一個搞出來的。