Ⅰ 低學歷程序員,如何在職場逆襲
雖然相對於其他職業來說,程序員的實際能力和工作經驗顯得更為重要,但是在具體情況下,學歷依然是影響程序員未來職業發展的不可忽視的因素。尤其是對於學歷出身一般的程序員來說,在職業發展過程中需要克服的客觀阻力可能更大。
1
專科畢業之後,他寸步難行
李成的故事
「現在回望過去,我其實感到非常懊悔,高中時太貪玩,沒有好好學習,沒能考上很好的學校。這導致我在當時上學時用一分努力能夠得到的東西,現在可能需要十分的努力來彌補。」
2007 年臨近畢業要找工作的時候,李成卻發現自己幾乎是寸步難行。
「我畢業那會兒自己找工作的時候,非常難,非常難」,李成的語氣中帶著一絲嘆息,「一方面是那個時候計算機相關的工作機會還不多,尤其是我所在的二三線省會城市;一方面是沒有工作經驗,人家根本不要,但我又無從尋找工作經驗;還有就是自己學歷起點確實不高,大部分單位根本也不想招這樣一個專科學歷的人進來」。
為了找到一份工作,李成花了整整一個月的時間,「那時候找工作,不像今天這樣打電話加面試幾個小時就能搞定,我是跑遍了整個濟南的大街小巷,但還是一無所獲」。
最終,李成只能依託家裡的關系,進入到濟南的一家大型國有 IT 企業做開發工程師。
「進是進去了。但在第一份工作中,由於技術能力有限,我遭遇了很多的挫折,而且做的事情跟預期的差別也很大,不過幸好我是一個越挫越勇的人,扛了一年時間。而且由於這份工作需要經常出差,我也到了北京、上海、南京等大城市,也算是漲了點見識。」
與此同時,在經歷了初次找工作的困境之後,李成也認識到自己學歷的競爭力太不夠;於是在父母的鼓勵和支持下,他決定在繼續工作以積累經驗的同時,進入山東省的一家二本學校讀一個在職本科的學歷。
Ⅱ 程序員的壓力有多大
作為一名程序員,壓力來自於生活中各個不同的方面,寫代碼完成工作只是一部分。
第一就是來自家庭的壓力,其實和大多數人一樣,程序員的第一壓力來自於家庭。單身的被催婚,結婚的又為生活中的瑣事各種鬧心。所以一個和諧穩定的家庭可以減少程序員絕大部分壓力。
第二是來自學習的壓力,為什麼是學習呢?因為IT技術變革和更新非常快,不想落後就得不停地學習,一個不擅長於學習和研究的程序員職業道路走不遠,因而也會因為自己的學習腳步跟不上而產生恐懼。
第三是來自房子的壓力,大多數程序員特別是在一線城市的,想買房太困難,去二三線城市發展,薪水很低,所以就像一個圍城效應。有房產的程序員就比較自由了,沒房產的就會壓抑一些。
第四種壓力,工作!沒得說,遇到坑跪著也得填完。
第五種就是年齡大了干什麼工作的壓力,畢竟程序員是青春飯的,到了35歲左右可能公司就要裁員了,隨著年齡的增長可能腦力活著學習能力都在下降,敲代碼熬夜的話可能會熬不住的。
關於程序員壓力的問題,網上普遍認為程序員「壓力大」、「996」、「易猝死」,就算直接采訪程序員:「你壓力大不大」,估計不同的人也有著不同的答案;下面我根據十多年的程序員工作經驗,談談自己的看法。
關於加班,關於996
首先不能否認,作為程序員,幾乎沒有沒加過班的,只是加班多少的問題。有些公司常年996,甚至到半夜也是經常的事情;能夠正常下班的公司,也至少在需求緊急的時候,項目上線的時候加加班。我現在在一家金融公司的IT部門,這些時候都是需要加班的:
但是,根據我的觀察,很多公司、很多人996都是 「政治996」 ,他們的工作量並不需要996,而是因為公司要求、領導要求、回家也沒事兒乾等原因,留在單位直到很晚。對於真假996我的看法是:
程序員的壓力究竟有哪些?
那麼程序員的壓力究竟有哪些,在我看來,有這幾個方面:
不過在我看來,哪些行業又能說毫無壓力呢?既然選擇了這個行業,那就堅持下去,如果真的覺得自己不太適合做程序員,那就果斷轉行。
我將持續分享java開發、架構設計、程序員職業發展等方面的見解,希望能得到你的關注。
項目工期的壓力
從我的從業經驗來看,尤其是從事互聯網行業的程序員壓力是很大的,經常會遇到來自運營那邊的緊急需求,比如什麼時間要上線個活動,時間都卡的很死,如果上線不了,對整個公司來說影響很大,我還清楚的記得,有一次公司臨時來了一個很重要的對外的合作,公司要求七天內上線,如果不上線,就會影響投資方對我們的投資,沒辦法啊,我們整個開發團隊,七天沒回家,在酒店住了一周封閉式開發,幸運的是,我們完成了,如期完成了項目上線,類似這樣的事情還比較多,有時候會讓人心力憔悴,還好那段時間我們年輕,扛了過來。
加班的壓力
首先選擇這一行,我們就應該有清楚的認識,加班是避免不了的,比如 996 這個概念有一陣子被炒的很火,我個人覺得,在一段時間內,比如為了趕一個項目上線,進行996我覺得是可以接受的,但是長時間,比如一年兩年都是這種狀態,你就得思考這正常嗎?問題出在哪了?這個公司是不是值得呆了?其實出現這樣的情況,大多數是內部管理問題或者所謂的領導為了迎合老闆的喜好,政治996,如果收入又不高,佔用太多的私人時間,就沒有了自己的生活,除了工作就是工作,你沒有辦法去提升自我,長久下來,你的技術會與時代脫鉤的,建議盡早離開。
年齡增長,工資增長慢,收入少的壓力
隨著年齡的增長,曾經我認為年輕的90後,也慢慢的30了,也不小了,大多數已經結婚有孩子了,雖然到了這個年紀,工資大概能到2萬左右了,但是這兩萬真的夠用嗎,房貸,孩子教育,贍養老人、自己的各種生活開支,算來算去,自己能留下的錢已經所剩無幾了。
我曾經看過《雲棲社區2017中國開發者調查報告》中顯示中國開發者月收入水平在10000元以下的佔49%,另有32.2%的人月收入在1萬~2萬元,真正月入10萬元及以上的高收入群體僅佔1.4%。 社會 普遍認為開發者群體是高收入人群,而實際上,相當多的人並不是。其實我們大多數程序員只是一個普通的打工仔而已。我們要正確認知這個現狀,拿高薪的只是少數而已。
技術更新太快的壓力
作為開發的我們深有體會,就拿我從事的前端來說,前端幾乎每年都有新的東西出現,有時候還沒學完,新的版本又出來了,為了讓自己的職業有保鮮期,不落伍,只有不斷的逼迫自己學習,不能有絲毫的放鬆。及時自己從事了管理崗位,對技術我也不敢絲毫的怠慢,還是在不斷的充電和完善。
每年湧入不少新人的壓力
我們都清楚,如果要是從事基礎的編程工作,門檻並沒有想像的這么高,基本上培訓學校出來的人只要有幾個月的時間,高中基礎的人,出來以後也能上手基礎的項目工作。因此造就了每年有大量的新人來到這個行業,剛入門的新人,工資低,又年輕,多少對我們這些比較一般,還從事基礎編碼的程序員增加不少壓力。沒有誰是不可替代的,即使你是老員工,有時候公司為了生存和發展,也不得不犧牲一些人老人,去招聘能力又強又便宜的新人。
焦慮:在別人眼裡你很「光鮮」,其實你就是一個普通人
我經常會遇到身邊的朋友這么說,你們這些在北京工作的人,尤其是做互聯網開發的,年薪也至少50萬+了吧,甚至還補充到,我朋友或親戚誰誰,在BAT、微軟、華為做開發都年薪百萬了,難道你不是嗎?每次聽到這個問題,我真的是很無奈笑而不語,難道真的是自己很失敗嗎,千萬不要被身邊的人左右了你的心情,你需要清楚的認識到開發者群體中只有少數人能成為管理者或高薪的技術人才,絕大部分還是普通人。一定要把自己的心態放平,不要被這些所謂的外因,讓自己整天憂心忡忡焦慮,做好自己就行了。
如何擺脫這些所謂的壓力和焦慮呢?靜下心來,踏實工作,做好職業規劃
首先我們要清楚的認識到我們是一個很普通的人,特別隨著年齡的增長,尤其到了中年之後,面臨著年輕人的壓力同時還有生活的壓力,確實要求我們有著強大的內心,生活確實很艱難,千萬不要給自己定性認為自己不行了,你越這么認為,生活就會越針對你。
其次想必大家和我都想過這個問題,如果我40歲了,還要和現在一樣從事這樣基礎的業務代碼工作嗎,環顧四周,這么多小年輕,我和他們從事一樣的基礎工作,是不是很尷尬,IT行業發展太快,需要不停地學習,年齡大了身體不如年輕人,就容易被淘汰。
然後你還要思考自己是不是一直要走技術路線,對開發來說,經驗沒有太大幫助(少數還是有幫助的,比如技術架構的能力),而且技術淘汰速度快,就拿我們前端的jQuery框架曾經是多麼的火,自從有了vue、react後用的就少了,這就說明了一個問題經驗往往很快就過時了,而轉管理崗位又太考驗天分了,比專研技術更難。技術路線,堅持精進和學習,跟著潮流擴充自己的知識體系,是沒問題的。但是開發能力只是個工具,做到最後牛的還是那些思維能力好、推演能力強的人。你在走技術路線的時候,千萬別忘記了基礎學科的學習,比如數學,計算機基礎理論。(搞AI的那幫人水平真高。大部分都是博士、數學等基礎學科方向畢業,而且接受過很好的教育,而這樣的人才,即使不在互聯網行業做開發者,往往也能獲得高收入,因此比我們選擇更多),所以建議大家在條件允許的情況下,考一下本專業的研究生,讓自己的理論和思維更加寬闊起來,及時以後不從事這個行業了,也能有更多的選擇。
最後,如果你實在堅持不下去了,無非就是轉行,你就要提前思考下做什麼,找個一個自己的興趣愛好,比如先做當下比較流行的自媒體,短視頻,或者弄個生意都行,還有一個比較有意思的事情,我也忘記在哪看過的文章,說的是一些一線技術大牛40多歲後,利用自己的互聯網思維,搞起了傳統的餐飲行業,而且弄的還很不錯,可見傳統行業也未嘗不可,只要自己喜歡,有時候我就想著弄個奶茶店,哈哈。
小節
今天和大家聊得比較多,請大家見諒,我們要清楚的認識到,天無絕人之路,不要杞人憂天,做好自己就行,我們就是一個普通的人,平平淡淡過好自己,做好職業規劃,堅持學習就夠了,老天是不會不辜負努力付出的人。
對於科班出身的程序員我不是很確定,但是對於非科班出身,尤其是培訓的程序員,他們的壓力真的是非常大,每一個堅持下來的同學都非常了不起!
金三銀四的時候,一位老學員和我說的:自己經人推薦,面試一家大企業,技術面試通過了,但在談薪水階段,hr很明顯的傳達,表示自己是非科班出身,不是特別滿意……雖然最後還是拿到了offer,但心中不免有些意難平!
相比於計算機相關專業,作為非科班出身的學員,從開始工作到有2年經驗這個階段,跳槽幾乎都會「被照顧」到這個問題,這很容易讓人產生對自身的不認可。同時因為基礎不夠扎實,對所學知識半知半解,不確定更大,從而加深自卑心理。有的時候明明已經學好了,但總覺得心裡沒底。
焦慮解決不了問題,只能拚命學習!
晚上下班回去依舊學習,像現在的演算法,python都自主的學習;
因為非科班的出身,剛開始基礎不算好,所有周末都會去上海徐匯的圖書館學習;
這只是他和我交流中說到的這幾句,但是這幾句話背後付出了多少努力只有他知道吧,這僅僅只是自己在學習方向的壓力!
而面對職場,還有各種各樣的壓力向每一個程序員襲來,尤其是危機意識很強的人。因為技術變化也是非常快速的,而程序員可以說的上是技術前沿的職業,面對這種變化比旁人是更加清晰的,為了延長自己的職業壽命,多少程序員已經開始自學Python、自學演算法了,為的就是在今後的變化中自己能有競爭力!
你說壓力大不大,每個人都有壓力的,畢竟 互聯網帶來了機遇,也放大了焦慮,在焦慮面前,誰能淡然一笑!
沒有哪一項工作不辛苦,沒有哪一項工作毫無壓力。對於我們來說,最重要的是正面壓力,讓自己成長。
作為一個曾經在Oracle、阿里、網路都待過的程序員,來談談我對這個問題的看法。我認為,程序員的壓力,一部分來自工作環境,一部分來自內心的焦慮。
來自工作環境的壓力
來自工作上的壓力是必然的。特別是互聯網公司,長期處於快速迭代的節奏, 並且以結果為導向,以成敗論英雄。筆者從業多年來,曾經幾度面臨崩潰的邊緣,好在通過不斷調整,內心變得強大從容。總結下來工作上的壓力可能來自幾個方面:
來自內心的壓力
身在職場,工作是永遠都做不完的。其實更多時候,壓力是自己給的。這里筆者主要來剖析一下自己所面臨的問題:
做好規劃,時刻保持競爭力
有壓力不可怕。在外企朝九晚五,也會面臨諸多壓力。在互聯網公司小步快跑,加班成了一種常態,壓力更不用說。那麼我們要做的只能是調整好自己,直面壓力,獲取更大的成長。
歡迎關注筆者,每天分享架構干貨 。
程序員加班多,壓力大,有多大呢?有辣么大!
我不說壓力有多大,我就說說為啥壓力會這么大。
作為程序員,需要通過編程做出一款產品,然後把產品賣給客戶,這樣才能有持續的收入。而程序員的壓力很多是來自自己公司的銷售和客戶。
1、自己公司的銷售
銷售要把產品賣給客戶,就需要與客戶坐下來,大家一起開個會,銷售向客戶介紹自家產品,有時會出現吹牛皮吹過頭的現象。比如產品某個功能目前沒有實現,或者未來很長時間也不能實現,但是銷售已經誇下海口了,不能自己打自己的臉啊,於是,這壓力就轉到程序員身上了。
2、客戶的需求
銷售或者項目經理與客戶開會,談某個項目落地的事情。由於客戶比較急,要求多少多少天之內落地,於是壓力又集中到了程序員身上。
3、還是客戶的需求
項目落地了,但是客戶的需求隨時在變化。每變一個需求,程序員就要改動一次。如果需求變更比較急,程序員又要加班加點了。
程序員的壓力總是有的,在壓力中挺過去海闊天空!
程序員的壓力有多大?
壓力肯定有,至於說程序員的壓力是不是最大的,那就不知道了。各行各業的壓力都大,主要壓力來源於幾個方面,就看自己的調節能力了。
1、工作壓力,這個主要根據項目,要求按時交貨,必須加班加點完成。特別是產品調試階段,出現BUG的話,基本都是通宵,想辦法來解決問題,有時候連續幾個通宵。
2、知識更新太快。前端幾乎每年都有新的東西出現,有時候還沒學完,新的版本又出來了,為了讓自己的職業有保鮮期,不落伍,只有不斷的逼迫自己學習,不能有絲毫的放鬆。及時自己從事了管理崗位,對技術我也不敢絲毫的怠慢,還是在不斷的充電和完善。
3、家庭的壓力。雖然說程序員的工資高,基本都在加班,沒有時間談個戀愛啥的,家裡天天催。結了婚的,由於天天加班,不能好好的陪伴家人,也容易產生家庭矛盾。
4、程序員對年齡要求嚴格。一般程序員過了35歲,企業基本就不再會錄用了,所以程序員必須在35歲錢,完成兩件事,一,賺足錢,實現財務自由。二、努力提升成為管理者。過了35歲的程序員,沒有走上管理崗位的,基本都考慮轉行了。
歡迎留言討論
都這樣了,還有啥說的~
這個需要區分在什麼單位或者是部門做開發以及開發軟體的性質。工作中的壓力來自幾個方面,包括如下等一些方面:
首先,工作進度壓力是指要在規定的時間完成開發任務,上級確定的開發完成截止時間前必須完成任務,而開發工作具有很大的不確定性,每個系統的開發都和之前的開發工作有不同,雖然所用的技術是類似的,但總能碰上不一樣的或者需要公關的技術。所以為了完成任務有時只能加班加點,還要預留足夠的時間做測試等,每個人都不想拖項目的後腿,不能因為自己一個人延期而影響整個項目的進展,所以平時最大的工作壓力來自進度壓力。
第二點,軟體開發的技術更新非常快,參與開發時會碰到很多你不熟悉的技術,包括新的技術選型所採用的新技術,也包括開發軟體所涉及的業務領域的新技術,比如軟體涉及到系統安全,就需要學習加密解密,邊學習邊開發導致難度增加,還要保證進度,所以壓力就大。
另外,如果所從事的是核心系統的開發,比如電信的線上計費系統,互聯網的線上實時運行的系統,開發這類系統的壓力也會比較大,因為如果這類系統運行出錯,則影響會比較大,會導致使用者的經濟損失和惡劣的影響,所以從事這類開發的都需要小心翼翼,盡可能的避免出錯,需要嚴格的審核和測試,這種對工作後果的擔憂會對開發人員產生很大的壓力。
總體來說,程序員的壓力還是很大的,但也有一些單位或者項目對開發進度要求不緊或者對成熟的程序員來說沒有什麼難度,又或者說是不太重要的系統,參與這樣的項目會則會相對輕松,但熟悉的工作對開發者的技能提升有限,就看個人如何取捨了。
是很大,這個行業能在這么短時間發展的這么好,應該說是目前發展最好的行業之一吧。發展這么快,技術不斷更新升級,必須保持學習的狀態,否則很難做好這行,將面臨的就是淘汰。
這個行業薪資相對高,從業人員素質比較高,大都不安於現狀,每個人都不甘心落後,再加上大多公司都採用末尾淘汰制,不努力的淘汰掉。每年都有大量優秀的畢業生加入,競爭壓力可想而知。
錢不是那麼好掙錢的,通過薪資就可以看到一個行業的壓力。
Ⅲ 你見過的程序員都寫過哪些逆天的程序呢
成都程序員培訓:怎麼樣才能成為真正的程序員?
程序員這行當,不貧不富,靠技術吃飯,一直還算個體面職業。進了程序員這行的兄弟們,即便日後飛黃騰達了,談起早年的編程生涯,都還是自豪的。
不過呢,程序員這個職業,有個挺悲哀的地方,那就是無效工作的佔比極高。
直接點說,程序員辛辛苦苦敲的代碼,大部分都是沒用的,都是要扔掉的。
這個特點非常鮮明,和別的職業差距相當大。
和農民比,農民種的作物,幾乎很少浪費。有的年景里,白菜豐收價格太低,但也能喂豬吧?即便只能爛在地里,那也能肥田呢,不算完全浪費。和建築工人比,那建築工人砌磚蓋房都是要用上幾十年的。雖然也有爛尾樓,但佔比非常低吧?蓋了一半的樓,因為質量不行拆了重新打地基的,也很少見吧?即便有新蓋好的房子,被強拆了,但那也是少數。
哦,有一種職業,無效工作比例高,那就是軍人。軍人天天苦練,要打千萬發子彈,但大部分軍人終其一生,都不曾將子彈射進過人體。但是呢,從另一個角度看,軍人的有效工作還得把震懾算進去,扛著槍效果就很好了。這樣說來,軍人的無效工作比例那就真不算低。
可程序員就不一樣了。
隨便在上地西二旗攔住一個塵滿面、鬢已霜的男子,問他這十年或者二十年所寫的代碼,有百分之多少,還在運行中?他細想之下,怕是要淚千行的。
要是有程序員反駁說,不對啊,我多年來寫的代碼幾乎都跑起來了,都用起來了啊。那他肯定是做企業應用項目的,而不是做產品的。企業應用項目么,怎麼著胡亂對付也能用個幾年。做產品的,不扔個幾版,能出精品么?
程序員的宿命啊,就是被扔,這代碼啊,是寫了扔,扔了寫。而且,程序員的代碼扔了就徹底扔了,一點用處都沒有。衣服扔了還可以捐給災區,廢代碼是不能捐給災區的,更不能喂豬,爛在硬碟里也不能肥硬碟。徹徹底底的無用廢物。
程序員應該說:我們是程序員,註定代碼是要被扔掉的。這句話聽起來,卻是別有一番凄涼滋味啊。不要拿Ken,Linus之類的大牛來說事,他們是「創造者」,「創造者」不是職業,也不能用百分比來衡量有效工作。扔就扔吧,好在,程序員們都是有佛性的,懂得色即是空空即是色,一切皆是虛幻,本來都是虛擬數碼,扔吧。再說,扔的多,開發工作機會就更多。老闆們其實也並不心疼,雖然扔的都是他們的錢。
有位老闆,打過一個比方:這個代碼呢,和精子也差不多,寫代碼就跟啪啪啪一樣,你不能指望次次都孕育成果。過程重要,要學會享受過程。
這位老闆就喜歡扔代碼。
開發到了一半,需求有問題,扔;開發完了上線,架構不對頂不住壓力,扔;上線了找用戶,沒有用戶願意用,扔;上線有用戶用了半年,界面過時不好看,扔;不喜歡某個程序員,把這廝寫的都給我扔了,扔了;不過,有意思的是,這個老闆最成功的產品,乃是10年前開發出來的,技術早就老的要掉牙,卻一直捨不得扔。
做過程序員,寫過代碼的老闆,更喜歡扔代碼,團隊里浪費也更多。這些有技術情結的老闆,喜歡追求完美,都有強迫症,還熱衷維持龐大的程序員隊伍。浪費是浪費,但過癮啊。
而營銷出身的老闆,就沒那麼浪漫,多流於市儈,總要問:能改改湊活上線用么?
若是問程序員喜歡那種風格的老闆?程序員當然有自己的偏好和選擇了,就是給錢多的那個。
有些行業追求作品的流芳千古,比如繪畫寫作這類藝術行當。但有趣的是,其行業中的頂尖人物,卻容易逆反。例如,作家卡夫卡死前燒掉自己的小說,畫家高更死前燒掉自己的畫作,沒人能看懂自己,自己死了更沒法去解釋奧義。唉,才高寂寞啊,燒掉干凈。
程序員不會。程序員首先就不會流芳千古,更不用死前燒掉自己的硬碟。程序員的代碼,在離死前很久,就都已經扔掉了,徹底扔干凈了。
萬一在臨死時分,竟然還有自己寫的代碼在世界上運行,程序員就會很恐慌:我操,我死了,代碼誰來維護啊?
所以,代碼還是早早扔掉為好。
Ⅳ 頂級的程序員是怎麼樣的
頂尖程序員常說:「這個我以前寫過一個模塊,我找找,很快。「簡直是沒有對比就沒有傷害!
有人認為,普通程序員用復雜的代碼解決簡單的問題;而高級程序員能把復雜的問題簡單化並用簡潔的代碼去實現。在w3cschool看來,頂尖程序員和普通程序員至少在以下6個方面大有區別。
1、文檔能力
「文檔是第一生產力」,這一點在程序員的世界是毫無異議的。看看Spring,hibernate,Struts等最流行的開源軟體的文檔就知道,他們tutorial,他們的getstarted,他們的reference文檔寫的多麼的易懂。
如果要獲得更高的報酬,文檔是絕對關鍵的因素。有文檔就有溝通,就有交易。搞技術的容易忽視文檔的力量,也因為寫文檔十分困難,更多程序員選擇舒適區,習慣寫下代碼,但正因為如此,妨礙了不少程序員的進階。
2、解決BUG的效率差別
普通程序員可以利用搜索引擎(網路)尋找答案,經常性找不到好的解決辦法,然後更換技術方案!頂級程序員也利用搜索引擎(Google)尋找答案,一般bug都順利解決(其實跟前期框架選擇等關系非常大)。
3、表達能力
表達能力決定了你所做的技術的影響范圍,決定了你的影響力,決定你的威信,決定了你的報酬。普通程序員和頂尖程序員的表達能力差別非常大,這主要還是取決於他們格局的不同。良好的溝通能力讓你理解產品經理的設計思路,讓你更好的展現自己的特長。
對於累積人脈,當你的閱歷越來越豐富,人脈對你的幫助也越來越明顯。
4、優雅和美觀的抽象能力
普通程序員和頂尖程序員之間的區別在於優雅和美觀的抽象能力。好的系統通常是要做到兩個方面才合格,其一是好用,其二是好看。但是令人遺憾的是,普通程序員僅僅從實現的角度進行堆砌。頂尖程序員往往能夠更進一步,經常會去思考用戶在操作這個功能的時候,到底還會做什麼事情。
所以,頂尖程序員和普通程序員區別就是是否擁有用戶意識,是否敢於直面用戶。好用,好看一直是軟體能夠被普遍採用的前提,因此,我們有必要學會抽象優雅。
5、面對如何開源社區態度
普通程序員幾乎沒有在開源社區混,這也導致經常對新技術發展關注度低。而頂尖程序員則是擁抱開源社區。
6、面對功能點
普通程序員:立馬開始構思自己如何實現腦海里出來一個方案。
頂尖程序員:發現功能點很普通github上面早已經有非常多的解決方案,著手根據業務選擇一個最適合最優的方案
Ⅳ 想學習編程,0基礎小白學Java還是Python合適呢
如果你未來要立志成為一個專業的程序員,建議先學習Java,Java是程序員公認的專屬語言,現在主流的軟體還是以Java為主。千鋒教育就有線上免費Java線上公開課。
Ⅵ python. 與java.有什麼區別學哪個好
我覺得Python對比Java優點就是語法簡潔表達力強。其他的也就沒啥了,哦,還有python是腳本語言,在某些情況下腳本語言比需要編譯語言有點優勢。
python群眾基礎好。初學容易,基本上都會寫上一段。其他不如java
語言是一門工具,更好的做好工作,更好的掙錢,Python也好,java也好,如果能給自己增值,或者實際上給工作帶來幫助,那麼就是好的語言,在大方向上,我推薦java
Python的優勢就在於程序開發速度快,因為是動態語言,而且對象之間的傳輸很方便。所以敲代碼根本不用想數據類型什麼的。
python自帶了函數的curry化以及遲滯運算方式,以及閉包語法更容易實現,所以在一定層面上python還是比java難掌控的。
內存佔用:Java拖著龐大的JVM虛擬機內存蛋疼,Python解釋器佔用CPU高些,內存較少
語法優美:Python是我見過最優美的語言,java語法太過於繁瑣
褲子:Python標准庫和第三方庫簡直是太豐富,java標准庫雖然多,但是還是比不上python
靈活性:相對於Java來說Python更加靈活
健壯性:請無視Python的健壯性
系統支持:灰常多的系統內置了Python,無須在安裝
框架支持:比不上Java
社區:Python社區更加年輕活躍,Java社區也不賴
python最大缺點:2.x和3.x不兼容(請忽略這個缺點)
總的來說:Python是為懶人准備的
Ⅶ 程序員口中所說的「大神」到底是什麼樣的
分享之前我還是要推薦下我自己創建的web前端學習群:680847368,不管你是小白還是大牛,小編我都挺歡迎,包括我自己整理的一份最新的適合2017年學習的前端資料和零基礎入門教程,歡迎初學和進階中的小夥伴
「大神」在程序員的職業中真的是一個非常熟悉的詞,往往一個菜鳥遇到一個可以幫助自己的人,那麼就會尊稱這個人為「大神」,但是在計算機中的「大神」的意思到底是什麼呢?好像程序員的職業中只有兩個等級,一個是大神一個就是菜鳥,而且都是相對而言的,也就是說一個人可能即是大神又是菜鳥,那麼「大神」這個職位被扣在了一個人的頭上的時候,是不是這個人就會像仰慕他的人一樣呢?
首先來說說小編眼中的「大神」,小編認為,可以稱的上大神的一定是有一定的社會閱歷,豐富的開發經驗,雖然在某一個領域已經風生水起但是還會經常性的給自己充電,時刻保持著一顆自我修養的心;一開始小編以為可以真正稱得上大神而且當之無愧的小編一定還沒見到過;可就在昨天小編聽到這樣一個故事,令小編的心中為之震動;故事要從朋友圈的一條說說開始:
在我的朋友圈中,就有公司的boss,他發了一本書的截圖,在譯者序的部分看到了感謝的人中就有我們boss的名字,我當時佩服的一定boss,並沒有想到這本書的翻譯者,後來在下班後談論起這個譯者序的事情,boss無意中說起,這個譯者是他的同學,從小這個人就是家長口中經常提到的「別人家的孩子」,後來專攻技術開發,他看書的速度很快,一本技術的書,基本上3-4天就可以看完,一個星期可以看兩本,不管是中文還是英文,曾經自己開過培訓學校後來因為掙的錢不多就給別人打工了,因為以他的水平給別人打工收入也是很可觀的,平時還會去一些高級培訓公司充當高級講師,平均每半年會為清華大學出版社或是電子工業大學出版社翻譯一些與技術相關的書,其中包括一些 android,iso,c++,java,c等一些主流的技術書籍;
這些只是boss雖便的提了幾句,並沒有替他的朋友吹噓的意思,因為boss不懂技術,所以問我們他這樣是不是應該算是還行?我當時沒有回答只是,在想自己事情,因為自己也是程序員,平時雖然也看技術的書但是看一本少說也要一個月,就更不要說什麼看英文的技術文件了,還有就是翻譯書,這都是自己想都沒有想過的,我想說真的是,人外有人天外有天!
有的朋友們會問有真的有這樣的」大神「么,如果真的已經這樣了一定是大家都會公認的「大神」,一定是萬人敬仰的成功者,但是大家不要誤會可以成為「大神」,但並不一定是成功者,就想金庸筆下的東邪西毒南帝北丐一樣,都是當之無愧的大俠,但是他們並不是當時的成功人士,說白了還是一屆武夫;但是他們不得不讓我們佩服,雖然不一定有很多的錢,但是他們就這么偉大,就像是科學家,發明家一樣,別人可能認為他們是瘋子,可能認為他們傻,但誰能否定他們的一生沒有意義呢?
所以小編認為成為大神在編程界有一席之地固然牛逼,再是在這之前付出的辛苦,也許只有當事人知道,所以各位學編程或是從事編程工作的朋友,一定要堅持,這是一個逆水行舟的時代,不要做到當別人叫你大神的時候自己都覺得臉紅,讓我們一起為了成為大神共同努力吧
Ⅷ 你印象中的程序員
沒有情調,不懂浪漫,也許這是程序員的一面,但擁有朴實無華的愛是他們的另一面。
我個人感覺印象中的程序員就是,頭頂英年早禿,發際線英年上移(開玩笑的說),其實我朋友做程序員的就會下意識的看我的頭發,說不像啊,其實很多程序員的時毛發濃密的,並不是所有的都聰明絕頂,很多程序員的智慧是「掩蓋」著的!
在網上看到一句關於程序員的話:
我的代碼曾運行在幾千萬用戶的機器上,作為一個程序員,還有什麼比這更讓人滿足的呢?如果有,那就是讓這個用戶數量再擴大 10 倍。
我感覺程序員是值得我們尊敬的。,程序員的雙手是魔術師的雙手。 他們把枯燥無味的代碼變成了豐富多彩的軟體(現在我們使用的健康碼,行程碼)。
程序不是年輕的專利,但是,他屬於年輕……
Ⅸ 如何辨別一個程序員水平的高低
1.自己介紹項目,看對項目的提煉總結能力(也是抽象能力);
2.自己印象最深的bug,可以知道大概技術深度;
3.設計模式提問,看有沒有學習方法;
4.語法基礎問題,多線,分布,安全等問題,看知識面廣度;
5.智力問題,看反應能力,分析問題思路等
上述五步基本可知是否是一個好程序猿
計科專業從事軟體開發十幾年了,主要在瀏覽器內核領域研究的比較多,最近在研究伺服器後台方向,辨別程序員水平高低主要看做出了什麼產品,如同現在的程序員主要是項目經驗,簡歷上寫的一堆項目經驗都是面試的時候主要提及的問題。經常在面試中會問兩個關鍵點:一個是做過什麼項目;一個是在項目組中承擔什麼職務,畢竟參與過和做的多少程度是不一樣的,這些都是可以通過一些具體的細節檢測出來,問題越具體越是容易看出水準,具體的東西不是能夠編造出來的。
有很多技術公司直接不通過筆試,僅僅通過簡單的面試就確定工資水準了,最簡單的測試程序員水平的直接用筆試的方式,筆試可以把一些細節量化,盡量的細節化也是能測試出程序員基本功的,但這種基本用來測試初級程序員的,很多高級的程序員看到有筆試直接就抬腿走人了,因為有些程序員在一個方向做的時間太長了,很多基本功都忘得差不多了,所以筆試可能不過關,現實中很多程序員筆試不過關,面試還可以,也一樣可以做項目說的就是這類人,起碼這算是非常優秀的程序員。
有很多公司採用谷歌的方式,直接採用上機寫代碼的方式檢驗程序員水平,這種方式比較直接,但在現實中可能消耗的時間以及面試官的精力,目前只有極少數的公司用這種方式,國外的公司用這種方式比較多,這種看基本功非常有效。通過代碼可以看到編碼習慣以及演算法的設計上,都能直接看的出來。
普通的程序員直接看項目的經驗,高級的直接看做過的產品,特別是產品主要設計人員,這就是程序員內心的自豪感,畢竟作為一個程序員起碼要有自己設計開發的產品,也算是不白做一個程序員,在程序員的職業經歷中如果能經歷過一個產品從開始設計的初稿到最後推向市場,如果是完整的經歷,將是一種巨大的財富,只要經歷過一次都會對產品設計有一個比較層次的認識,這種能力需要靠直接的面試語言表達來展示出來,談下對產品的認識以及產品穩定性性能等方面的總結,能到這個層面起碼是高級軟體工程師的級別。
當然有些程序員內在的東西不是靠語言或者寫代碼看出來的,因為一個優秀的程序員不僅僅是代碼能力以及框架能力,還有幾個非常重要的能力
程序員的能力表面是可以直接展示出來,但很多內在需要是需要時間的磨合才能了解,人就才能見人心,而且很多優秀的程序員是培養出來的,能夠長時間在一起的隊友都是時間長了磨練出來的。
希望能夠幫到你。
自認為不是一個好的面試官,因為我認為在這么短的時間內,准確地衡量出來程序員水平的高低是有比較大的難度的,並且我有多次看走眼的時候,面試的時候覺得能力還不錯,但是入職工作了一段時間之後,編程能力不忍直視。
工作之後接觸一段時間,我會從這么幾個方面觀察他們,以判斷技術能力的高低和發展潛力。
能不能出活兒、能不能debug
能不能把開發任務按時按質量地完成,當然是最主要的衡量標准了:
解決問題的方法
在開發過程中,難免會遇到沒有見過的問題,有些程序員遇到問題無從下手,而優秀的程序員,自有一套解決問題的方法。
分析問題、流程設計的思路
有人會認為,程序員的主要工作就是敲代碼,上班大部分時候都是在敲代碼,其實並不是這樣:
總結問題和改進問題的能力
好的程序員,相同的問題不會犯第二次,差的程序員,總會在一個問題上栽跟頭:
我將持續分享Java開發、架構設計、程序員職業發展等方面的見解,希望能得到你的關注。
不請自來,一介碼農路過,留下些看法。
程序員主要是有四種綜合能力,也就是debug 能力、 performance分析、 保護性編程和 投入產出比。
僅僅獨立完成日後必然成高手?在這里不能說一棒子打死,至少對於很多人來說,能獨立完成是沒什麼問題的,有的是因為對業務熟悉,有的是真的基礎扎實。但怎麼說呢,程序員和瀏覽器打交道是最多的,現在這個互聯網時代,遇到的大部分問題網路都是可以解決的,也就是普通程序員 + 網路 = 超級程序員。 但很多人也沒明白具體的原理,甚至都是這個項目抄抄那個項目抄抄的,久而久之雖然解決了平時的業務,但進步的空間卻很少,甚至止步不前,寫出來的代碼也可能存在很多坑,所以,僅僅能獨立完成任務的話,離高手還有比較遠的一段距離。
如何辨別高手程序員?也就是結合我們一開始列舉的那四個能力進行判斷。不同級別的程序員,在那綜合能力面前,強弱也是不同的。例如在奔潰的或者其他性能調優問題上,即使是面對大量復雜的代碼,在信息不全的時候也會一步步的分析,抽絲剝繭縮小范圍,最終定位根本原因
,並且最終給出一個好的方案。
如何成為高手程序員?
當然還有看他摘了帽子是否禿頂這樣的笑話,就再不贅述了。
第一階段(黃金):會用編程語言實現需求,比如現在的業務系統,都會找一些會搬代碼的人來拼工作量,也就是能自己獨立基於搭好的框架實現crud常規操作。
第二階段(鉑金):除了crud,還會有一些自己踩過坑的經驗,知道如何處理一些常見問題,或者可以基於搜索引擎快速解決一些異常情況。
第三階段(鑽石):能解決一些疑難雜症和會通過debug部分源碼類庫查看到這些疑難雜症是如何引發的,並通過編碼解決這些問題,還能進行一些局部的性能優化,類似某個系統介面緩慢可以單獨去優化。
第四階段(星耀):會基於整個系統進行設計和規劃,根據業務特性選擇合適的框架,從源頭控制開發遇到問題的頻率,可以自主的搭建框架並完善機制,了解各個組件工作原理。
第五階段(王者):小說裡面總是說練武功的永遠比不過創造武功的,同樣的道理,用框架的也往往不如寫框架的,所以寫框架的這類人單獨分層。
第六階段(榮耀):其實這個階段不應該列入進來,因為這類人往往不編碼的,只是給出思想;像Hadoop這種框架就是基於人家發表的一些論文(bigdata)進行編碼實現的,這類人注重的是思想和演算法,區塊鏈,大數據,雲計算等等概念的創造和理論的支撐是這類人提出來的,這些人才是真正影響行業走向的人。
程序員的水平高低,不是靠語言或外在表現就能看出來的,不是看他會多少技術、參加過多少項目、寫了多少博客,而是看他在實際業務場景中解決問題的能力,尤其是面對一些特別復雜的問題,或在高強度、高壓工作狀態下解決問題的能力與態度。
技術可以通過學習掌握,但是解決問題、定位問題的能力卻不是一蹴而就。大家可能會說,「解決問題的能力」這個太寬泛了吧,可以更具象化嗎,有具體的測量方法嗎?簡單整理了以下幾點供參考。
會寫出滿足需求的代碼,早就不是評判程序員水平的標准了。代碼編寫既要滿足業務需求,同時還要考慮後續的軟體維護,說得通俗些,既要自己爽,也要別人爽。一個優秀的程序員,會致力於寫出更簡單、更效率、可讀性強、擴展性強的程序代碼。
程序員在日常工作中,需要理解各式各樣的業務需求,所以這就需要程序員具備一定的邏輯思維能力。可以說,邏輯思維是程序員的靈魂,因為每一行代碼都是程序員邏輯的體現。
項目著急上線,發布時出現問題?
業務高峰時段,系統宕機了?
業務催、運營催、用戶催、老闆催!
各種形態的bug,各種著急的心情,背後無數支眼睛盯得內心慌慌......
這些都是一位合格程序員所需要面對的日常。不同的程序員,在解決問題的方法、效率、質量等方面,都各有千秋。一個經驗豐富的程序員,能夠扛住各方壓力,在復雜條件下找到核心問題,通過抽絲剝繭的分析來找到產生問題的原因,並快速進行應對處理,事後及時復盤總結,減少同類問題出現的概率。
隨之互聯網的發展,越來越多的人湧入程序員這個賽道,競爭日益激烈,加之新技術層出不窮,更新迭代快,程序員所使用的語言、框架、模式都會發生天翻地覆的變化。如果不主動學習,你很快就會被落伍淘汰。
這種其實在面試過程中能體現出來,溝通主要是技術溝通,以及和客戶之間的溝通,所有技術都不是閉門造車就能搞定的,溝通能讓事情推進起來更加順暢,包括和產品經理之間的流暢的溝通也顯得非常重要。程序員的能力表面是可以直接展示出來,但很多內在需要是需要時間的磨合才能了解,人就才能見人心,而且很多優秀的程序員是培養出來的,能夠長時間在一起的隊友都是時間長了磨練出來的。
線上出bug了,第一時間響應、處理;
團隊項目進度緊張、人手緊缺,主動補位;
又或者,在項目推進過程中如果只是關心自己模塊內容,對於整個項目置之不理,只守著自己的一畝三分地。
隨著時間軸的拉長,你會發現,有此f技術能力不是最好的,甚至不如你的小夥伴,最後做到了技術主管或經理、甚至更高職位,這裡面除了技術實力,還有一個叫「責任心」的東西。
結束語
判斷一個程序員的水平高低,核心是其解決問題的能力,而解決問題的能力養成,需要扎實的底層基礎來支撐,要綜合其代碼質量、項目經驗、框架能力、邏輯思維等等多方面,不能單看某一方面。
而對於1-6歲的程序員來說,想要成為一個高級程序員,變得越來越優秀,唯有持之以恆去學習、積累、實踐、修煉。
----end----
一:50歲的時候,頭發還是黑色的濃密的。
二:賺到的錢能保證家人快樂的生活。
三:當公司不要你的時候能成功轉型。
其他的例如編程經驗、寫代碼厲害啊什麼的根本不值一提。
這就是程序員的面試嘛 :-)
(1)是否能熟練使用所用編程語言的主要功能;
(2)是否知道用合適的數據結構解決問題;
(3)是否知道基本的演算法,並且用這些演算法解決問題;
(4)只看少量代碼的話,從變數命名和程序結構一般能夠判斷是否是新手;
(5)給出具體問題,能夠用程序解決,能考慮到所有的邊界條件;
(6)考慮程序的可擴展性,可維護性;
再往高一點走,就需要
(7)面對模糊的問題能夠分析並且找到細節和具體的需求;
(8)知道利用已有的庫,架構和工具等來解決新的問題,而不是什麼都自己實現;
(9)能發現並改進已有程序中的瓶頸;
(10)對整個大項目的程序架構有很清晰的了解,知道相互之間的依賴,以及知道為什麼採用這樣就架構;
(11)給一個大的項目,能夠對整個項目的程序架構和組件進行合理的設計,考慮並行性,低延遲,大數據量等各種需求和應對方式。
帶領團隊已多年,項目數十個,對判別程序員水平的高低,我有自己的看法,歡迎大家一起交流。
1.代碼質量。
優質的代碼,首先是經得起考驗。靜態分析工具過一遍,無錯誤,無警告。當然警告部分需要人工重審,因為靜態分析工具不一定完全正確。過了這一關,重要的還須過測試關,少Bug或無Bug的代碼,才是好代碼。優質的代碼帶有技術氣質和藝術氣質。閱讀起來,有一種賞心悅目的快感,即工整美觀,干凈利落,又蘊含著理論常識,運用技巧,精準到位。
2.表達能力。
3.文檔能力。
文檔形式包括但不限於PPT,文字,圖表,音視頻。文檔內容包括但不限於API說明,工具手冊,項目事項,技術論述,陷阱總結,方案展示,指導手冊。文檔要求必須是滿足公司或部門的規范和格式,否則五花八門的,不利於交流和傳承。
以上3點,是我量化判斷程序員水平的標准,僅供參考。相比水平,其實我更看重程序員的態度,執行力,時間觀念,自學力等等,也是很重要的團隊作戰能力,也可以說是程序員水平的考量吧。
謝謝大家。
Ⅹ 你印象中的程序員是什麼樣的
🐬在印象中的程序員呢,肯定是非常樸素的,不愛說話,不愛出頭,默默做事,能悶聲干大事的人,這是提到程序員這三個字的時候,我腦中的第一反應,下面詳細說說印象中的程序員究竟是什麼樣的。