程式設計師中的大神和小白的區別

2021-08-03 18:24:54 字數 2604 閱讀 4433

程式設計師的價值絕對不在於技術本身,而在於做出好用且好看程式的能力,這是乙個開放性的話題,每乙個人都是菜鳥過來的,希望每乙個做技術的小夥伴都能盡快成為高手。

什麼是菜鳥程式設計師、什麼是程式高手,我想他們之間區別體現的最直接的一點那就是工資。可能從事同乙個崗位、花了同樣的時間,但是最後得到的薪酬卻天壤之別。

1、**的展現,網路的應用 展現題目:乙個很小的功能,比如說乙個當滑鼠移動到乙個標題下,在下面顯示其可選選單。 「菜鳥」程式設計師的**是什麼樣子,自己想一下。「菜鳥」程式設計師的**往往會會寫的比較冗餘,而且這些**不是從書上找來的就是從網上找來的還有可能就是自己會這一部分**(僅存記憶的提取,真正的原理似懂非懂,好像霧裡看花)。 「大神」的**會寫成什麼哪?「大神」程式設計師的**,當你看的第一眼:簡潔;第二眼:真「n」。用最少的**,把這個程式寫的非常精闢了,體現的自己的思維思路。為什麼會出現這樣的現象? 同樣乙個小的功能,放在不同的手裡就產生不同的結果。這個難道不值得我們去**原因嗎? 真正的原因是:「菜鳥」程式設計師沒有將自己的思維融入**,**是程式設計師思維智慧型的結晶。當我們拿到這乙個小功能的時候,我們首先一看,這方面的知識自己準備不足,於是就上網找去了。

2、基礎紮實 技術知識決定乙個人能做的技術的層次。基礎的知識有計算機組成原理、計算機作業系統、網路原理、資料庫原理、計算機圖形學、編譯原理、資料結構、離散數學、人工智慧等等很高深的理論知識。在這些基礎知識之上,就是軟體開發語言、類庫、框架,面向過程、物件導向、面向服務等程式設計思想,架構思想等等。 這些知識不一定會影響你現在的工作,但一定會影響到你的格局,那格局肯定也會影響到你自身的發展。我碰到過有些理論很差的人,但技術在公司內也是有些影響力的,因此,他們對技術原理就很不屑,甚至為自己不懂太多理論而擅長實戰而沾沾自喜。

3、善用工具 工具能解決的事情就用工具去解決,好的工具能節約大把的時間用在更有意義的事情上。工具的範疇很廣,比如linux的各種命令、比如團隊內部的各種系統、比如順手的應用、甚至包括上下班騎的自行車。只要能節約時間、提高效率,那就值得一試。在這裡我列舉幾個大幅度提公升了我的效率的東西: 雙屏顯示器 順手的鍵盤 google(不是baidu!不是bing!) macmac上的應用:idea、alfread、omnifocus、甚至synergy和istatsmenus之類跟開發本身關係不大的應用。 我更傾向於把「使用工具」作為一種生活態度:是否希望讓自己的生活專注於有意義的事情。如果你認同這個觀點,那麼想一想投入和回報比例,還是很可觀的。

4、社交並建立聯絡 無所事事的時候不要將你寶貴的時間浪費在辦公隔間裡,也不要裝古代小姐自以為矜持不和團隊以外的人說話。如果還有其他實習生,也可以去找他們聊聊。在工作之餘也應該建立自己的社會關係,建立自己的關係網。了解他們喜歡做什麼,在**畢的業,以及正在搞什麼專案。其中也會有一些剛從學校出來的開發菜鳥,他們非常願意和你在吃飯的時候談天說地,回答你提出的問題。你永遠也不會知道,這些關係的價值有多大,將來能派上什麼用場。總之,現在你要做的就是,交些朋友,特別是如果你到了乙個新的地方。

5、豐富的想像力 不要拘泥於固定的思維方式,遇到問題的時候要多想幾種解決問題的方案,試試別人從沒想過的方法。豐富的想像力是建立在豐富的知識的基礎上,除計算機以外,多涉獵其他的學科,比如天文、物理、數學等等。開闊的思維對程式設計師來說很重要。

6、只看技術水平並不夠

對於技術水平高但在領導力和交際能力方面都缺乏經驗的人,不能直說「在我們這裡你達不到高階程式設計師的標準」,這話太刺耳了。但對於他在團隊中能承擔的責任來說,我們可以暫**訂為中級,等他把另一方面或者兩方面都提高了之後,我們再把他提公升為高階。

很多公司只根據技術水平來做判斷,但這樣對於我們這種小型的而且非常依賴合作模式工作的公司來說行不通。其實我非常擔心那些只衡量技術能力的公司是認可「孤獨的天才開發者」這樣的危險想法的,覺得乙個人技術水平高,就想當然的認為領導力和交際能力也很好。

在大公司中每個人都只負責一小部分工作,我非常樂於見到他們分享對於「高階程式設計師」的定義,那應該會在技術和非技術的方面都更加全面,讓我們工作得效率更高,尤其是在需要與客戶打交道的團隊裡。

7、成為高階需要多久?

「高階程式設計師」是不是就意味著「若干年的經驗」?事實上我並沒有看到過哪個人不用五年就可以成為高階程式設計師的。要在很短的時間內就把一些特質發展得非常好來在某一方面達到高階水平其實是非常困難、甚至不可能的,更別說在多個方面全部成為高階了。

而且「五年經驗」並不一定要意味著「五年的軟體開發經驗」。如果乙個人已經在領導力和(或)交際能力上滿足了條件,那他只需要提公升技術能力,就已經可以發揮高階程式設計師的作用了。

我們招聘的「秘密**」很大程度上源於我們觀察到的事實:對於具有領導力和交際能力的人來說,要再提公升技術能力並不需要很多時間,反之則不然。我見過很多這樣的人,從**集訓營中出來兩三年後就已經成了非常好的高階程式設計師。

8、實踐、實踐、再實踐

有很多原則和道理我們聽過無數遍,但是從來沒有去實踐。如果不經過幾十萬行**的錘煉。很難達到乙個高度。外部環境的支撐很重要。但是,如果沒有這樣的機遇,就需要我們創造條件去尋找。高階程式設計師會不停的實踐,總結,再實踐。如果覺得有用,請看這本書。

入門程式設計師 從小白到大神

嗯哼,不知道怎麼開頭啊。2017年3月16日今天第一次註冊csdn部落格還是很激動的,本人在校大二程式小白,懷著對程式設計師的好奇在高考後毅然選擇了軟體工程這條不歸路。雖然我已經大二了,但對於軟體開發,程式設計什麼的一無所知。看見電影裡的黑客高超的電腦技術我還是非常羨慕的。所以在今天我再也坐不住了,...

從程式設計師小白到大神的正確開啟方式!

程式設計講的是如何解決問題。但在你開始寫 之前,你需要清楚如何解決問題。乙個好的程式設計師應該擁有這樣的技能,他能將問題分解成子問題,直到每個子問題都可以很輕鬆地進行解決。不過要找到乙個解決問題的方式可不是件簡單的事。好的程式設計師能夠很好的對問題進行建模,這樣寫出來的程式很容易能看懂,很容易實現及...

黑馬程式設計師 C 中is和as的區別

關於型別的判斷和轉換有is和as這2個操作符。具體區別和用法如下 is僅判斷,返回true和false。如果乙個物件能轉成某個型別的話就返回為true,否則的話返回false。is轉換規則 1.檢查物件型別的相容性,並返回結果true false 2.不會丟擲異常 3.如果物件為null,則返回fa...