導航:首頁 > 程序命令 > 編程大牛普通程序員區別

編程大牛普通程序員區別

發布時間:2023-03-16 01:27:24

❶ 普通公司員工的編程水平與阿里巴巴有多大差距

作為一個編程十幾年的老程序員,雖然沒有進過阿里巴巴,中間換工作時候也拒絕過網路和騰訊的offer,選擇了一個更適合自己的互聯網公司,編程水平主要決定因素還是和本人基本功有著極大的環境,前幾天回答了一個大公司和小公司編碼水平誰高誰低的問題,有外在因素影響但主要還是自身,自己沒有決心提升自己的編碼水平,外界環境再好也沒多大意義。

像阿里巴巴這種大公司由於職位安排的比較飽滿,正常來講代碼的提交都需要leader的審核通過,在一定程度上能極大的提高代碼的質量,在審核機制上會更加嚴格,並且在測試把關上也會更加嚴格,普通的小公司在人員配置上可能稍微少一些,會在把關上差一點,嚴格規范的制度在一定程度上能促進程序員更深層的改進,但本質上還是自身想不想讓自己變得更加優秀,願意不願意讓自己提升的更加快速。

其實提到阿里巴巴這種大公司主要還是人心態問題,覺得大公司一定要比小公司規范,換做經歷過大公司的人,還想著在裡面自己只是一個螺絲釘,還想著去小型公司讓自己發揮的更加徹底,小公司的人又嚮往著大公司的待遇以及規范。如同沒有結婚的人,總想著走進圍城,進入的人又羨慕沒有結婚的多自由,其實來來回回也就那回事。

曾經也是為了進入大公司舍棄了一個中型公司部門技術經理的職位,現在想像其實很不值當,進入一個成熟的大公司,自己做出的貢獻只是滄海一粟,想要向上走特別難,而真正的機會還是在創業公司或者中小型公司,當然這些東西需要親身體驗才能感受到,在年輕氣盛階段很難體味到,就是覺得自己所做的選擇是對的,實踐辨真知。

希望能幫到你。

以我自身的經歷來回答吧!我是做java開發的,在沒進阿里之前,我在外面其他公司幹了四年。頭兩年乾的最多的事情就是直接把業務翻譯成代碼,做的最多的事情就是curd。工程化以及結構化設計根本不存在的,什麼性能、可擴展性、易用性、可維護性通通不考慮。把功能實現了就可以了,活脫脫的把面向對象的語言使用成了面向過程編程。(因為大家都這樣干)主要還是因為剛畢業在這家公司做erp系統,功能可以用就不管了。接下來的兩年換了一家電商公司,這也是一個天坑,代碼跟 山差不多,我進去做庫存的,第一件事情就是熟悉了業務然後進行了重構。前面做這一塊的人都差不多走光了,模型抽象,領域分層,模塊分層一頓操作下來自我感覺良好。但是疊加了兩年的業務以後,媽的差不多也是 山了,為了業務快速迭代犧牲一些也是能理解的。然後我走了[捂臉]。

進入了阿里,我是做中台開發的。這里最喜歡乾的就是重復造輪子,幹啥都要講究高可用、可復用、可擴展、可維護、可讀性……寫代碼大抵是這樣的一個介面進去寫介面一般先上熔斷降級開關、分布式鎖,然後就是加緩存,接著業務就用領域模型+泛化抽象模型+工廠設計模式+策略模式 這一頓操作下來後,為了支持擴展性還得定製spi擴展點提供擴展。一個業務功能的代碼完全是割裂的狀態。不過項目跟代碼的質量跟之前的公司比確實上升不少。只能說環境的影響很大吧

雖然沒有去過大廠,但還是想強答一下,畢竟有不少認識的朋友在BAT工作或工作過。

我的看法是:BAT的牛人多,普通人也多,雖然他們不是每個人都能達到令人仰望的技術水平,但畢竟平台高,所以眼光會變得寬闊;代碼要求更為嚴格,所以普通的程序員也會被逼變得更優秀;身邊的牛人多,普通的程序員也會受到影響,提升的更快。

正好今天看到一篇文章,是講去阿里的面試經歷,也分享給大家,看看自己離著【進】阿里還有多大的差距。

Java多線程
線程池的原理,為什麼要創建線程池?

線程的生命周期,什麼時候會出現僵死進程;

什麼實現線程安全,如何實現線程安全;

創建線程池有哪幾個核心參數? 如何合理配置線程池的大小?

synchronized、volatile區別、synchronized鎖粒度、模擬死鎖場景、原子性與可見性;

JVM相關
JVM內存模型,GC機制和原理;GC分哪兩種;什麼時候會觸發Full GC?

JVM里的有幾種classloader,為什麼會有多種?

什麼是雙親委派機制?介紹一些運作過程,雙親委派模型的好處;(這個我真的不會...)

什麼情況下我們需要破壞雙親委派模型;

常見的JVM調優方法有哪些?可以具體到調整哪個參數,調成什麼值?

JVM虛擬機內存劃分、類載入器、垃圾收集演算法、垃圾收集器、class文件結構是如何解析的;

Java擴展
紅黑樹的實現原理和應用場景;

NIO是什麼?適用於何種場景?

Java9比Java8改進了什麼;

HashMap內部的數據結構是什麼?底層是怎麼實現的?

說說反射的用途及實現,反射是不是很慢,我們在項目中是否要避免使用反射;

說說自定義註解的場景及實現;

List和Map區別,Arraylist與LinkedList區別,ArrayList與Vector 區別;

Spring
Spring AOP的實現原理和場景;(應用場景很重要)

Spring bean的作用域和生命周期;

Spring Boot比Spring做了哪些改進? Spring 5比Spring4做了哪些改進;(慚愧呀,我們還在用Spring4,高版本的沒關心過)

Spring IOC是什麼?優點是什麼?

SpringMVC、動態代理、反射、AOP原理、事務隔離級別;

中間件
Dubbo完整的一次調用鏈路介紹;

Dubbo支持幾種負載均衡策略?

Dubbo Provider服務提供者要控制執行並發請求上限,具體怎麼做?

Dubbo啟動的時候支持幾種配置方式?

了解幾種消息中間件產品?各產品的優缺點介紹;

消息中間件如何保證消息的一致性和如何進行消息的重試機制?

Spring Cloud熔斷機制介紹;

Spring Cloud對比下Dubbo,什麼場景下該使用Spring Cloud?

資料庫篇
鎖機制介紹:行鎖、表鎖、排他鎖、共享鎖;

樂觀鎖的業務場景及實現方式;

事務介紹,分布式事物的理解,常見的解決方案有哪些,什麼事兩階段提交、三階段提交;

MySQL記錄binlog的方式主要包括三種模式?每種模式的優缺點是什麼?

MySQL鎖,悲觀鎖、樂觀鎖、排它鎖、共享鎖、表級鎖、行級鎖;

分布式事務的原理2階段提交,同步非同步阻塞非阻塞;

資料庫事務隔離級別,MySQL默認的隔離級別、Spring如何實現事務、

JDBC如何實現事務、嵌套事務實現、分布式事務實現;

SQL的整個解析、執行過程原理、SQL行轉列;

Redis
Redis為什麼這么快?redis採用多線程會有哪些問題?

Redis支持哪幾種數據結構;

Redis跳躍表的問題;

Redis單進程單線程的Redis如何能夠高並發?

Redis如何使用Redis實現分布式鎖?

Redis分布式鎖操作的原子性,Redis內部是如何實現的?

看完了有什麼感想,自己和BAT的要求有差距么?

反正我覺得自己想要面試通過是有些困難,很多框架新版本的特性都沒有了解過,看來年前還得抽時間學些一下了。

大公司如bat大部分普通程序員,由於做的太專一了,基本上在某一方面做得不錯,整體能力差很遠,但是自己覺得啥都行。

這么比喻吧,如果說把程序員比作廚師。

普通公司的程序員基本上是各個飯店的大廚,啥菜都會做。

bat是御膳房,程序員什麼大菜都見過,但基本上一個大菜也做不了。很多人就是御膳房後勤部切蔥花大隊的切蔥花手

普通公司員工的編程水平與阿里巴巴有多大差距?要說阿里巴巴每個程序員都牛逼得不行那也是扯淡,普通公司牛逼的程序員也不少,這本身就沒有一定的定論。

在阿里巴巴這樣公司的程序員來說,應該比較幸運的是能夠遇到大型互聯網軟體的開發,比如像架構設計、場景設計等,這對於很多程序員來說應該可以開眼界,參與其中也能鍛煉自己。同樣的,很多大型軟體公司雖然沒有阿里這樣的場景,但同樣也有自己特殊的應用設計、場景在阿里也見不到。

而對於單個程序員的編碼水平來說,普通公司與阿里的程序員可能根本就沒啥區別。普通公司里也有嚴格按規范、嚴格按流程、嚴格測試等來做軟體,進入裡面同樣可以遇到大牛帶領項目、大牛的傳幫帶等,耳聞目染再加努力實踐,這些程序員的水平並不能說就比阿里的程序員差。當然,阿里這樣的名氣不外乎就是進入時經過了嚴格的挑選,這些程序員的基礎都是不錯的,但真正要有水平,那還得除了環境也得要靠自己努力。

但大公司程序員與小公司的程序員還是有一些差異的。小公司人員可能接觸的項目基本不大,而像萬金油那樣啥都接觸到一些能搞一些,但深度卻不夠。比如小公司的程序員今天搞Java編碼,可能下個項目就去搞PHP,再下個項目又去搞python等,今天是程序,每隔兩個月可能又是下個項目的設計者、Leader等有可能。但恰恰在某一項編碼上卻又不像某些大公司的程序員那樣一個蘿卜一個坑兒,又專又精。

另外小公司的開發流程及規范都不夠,有些甚至是只要搞出來能運行就可以,所以章法上不像大公司一樣規范。甚至有些都沒有嚴格的測試就到客戶那裡去上線,讓客戶去當小白鼠,做一個敗一個。

所以作為程序員最好是能開始到大公司去學習鍛煉規范的軟體開發那是很有益的。至於是不是阿里倒不一定,能進入阿里當然好。而說到編碼水平,絕大部分還是要靠自己的努力,特別是培養思維能力、基礎知識、見多識廣、多加實踐與交流,對自己編碼能力提升是必不可少的。天賦程序員確實有,但絕大部分程序員要說天賦都談不上,大部分也就是上面幾項用了更多的時間吧。

能力上,bat的程序員遠超小公司程序員;不要相信那些什麼小公司的程序員什麼都要做所以咋樣咋樣,大公司就只是一顆小螺絲釘,自欺欺人而已;大公司的程序員天賦就強於小公司的程序員,技術靠的是天賦+努力,天賦遠遠重要於努力,你不信那就是你傻

在阿里三年的老人說一下。主要是能夠獲取和見識到小公司不能給你的經驗,場景和挑戰

說到電腦的編程,對於學計算機的人來說真的是一件非常頭疼的事情,每天的編程工作都要面對各種各樣的字母,各種各樣的特殊符號,一般人看見也就只能一懵一懵的。每個程序員之間也都是有技術好技術低的,並且程序員在選擇公司的時候也面臨很大的困難。

現在 社會 上找工作的人都有一個普遍的現象,在小公司工作的人都想去大公司,在大公司工作的人想去中小企業工作。每個程序員都想得到一個展現自己的機會,讓自己所學的知識有所用武之地。能力較強的程序員就去了大公司,能力有點差異的就去了中小企業,但是這兩者在各自公司的發展並不一樣。

在中小企業工作程序員有可能會在公司有更大的發展空間,在大企業裡面有著許多優秀的程序員,就像是阿里巴巴,有可能在這個團隊裡面自己的能力不能跟好的發揮。有一點要清楚,技術高的人在一起會越來越優秀,他們各自有各自的特點,都會互相學習互相進步,前進的動力也大。普通公司的程序員自我提升的空間較小,沒有像阿里巴巴這樣的公司程序員水平高。

大企業對程序員的要求也很高,這些程序員所要面對的困難也非常大,逼迫著自己去提升自身的能力,如果兩個技術相匹配的程序員一個去普通企業,一個去阿里巴巴這樣的大公司,在工作一段時間後,在阿里巴巴工作的程序員要遠遠超過普通公司的程序員。雖然大公司的程序員想去中小公司,但是對他們更是一種較大的損失。
更多優質內容,請持續關注鎂客網~~

大公司的程序員,在代碼專精度方面確實超過小公司程序員。他們往往在技術的某一方面鑽研頗深,在代碼實踐上做得細膩完美無可挑剔。小公司程序員在專精度上不如bat程序員,因為大環境使然,無法讓一個程序員只負責某一模塊的代碼,他們往往一個人當兩三個人用,常常遇到的復雜業務用現有框架和技術無法解決,需要自己結合多個技術框架和知識點才能解決復雜的業務。

所以都是程序員,環境和平台造就了程序員代碼風格和側重點不同,但就工作態度和對技術的專注程度來說,大公司的程序員無疑是有更優異的條件來養成這些良好習慣的。作為程序員,一生還是應該去大廠體驗不同的企業文化和更高素質的從業人員,自身的見識和深度也會有所不同。

單純從技術上來說,大公司是小公司沒法比的,

大公司系統要更加復雜,研究的東西更加深入。

比如高並發,大數據,

小公司沒有那麼大流量和數據量根本沒辦法研究,

大公司一個系統N台機器,

為了節省資源就要研究怎麼使機器能力最大化,優化代碼,優化邏輯。

小公司可能一兩台機器就能支撐一個系統,只要沒bug就能正常運行。

非技術層面的就看公司的業務能力了。

個人看法,

❷ 初級程序員、中級程序員、高級程序員最大的區別是什麼

程序員之間也是存在很大的區別,他們之間最大的區別主要表現這這個方面,跟大家分享一下。

  1. 能力。一些程序員剛剛進入一個單位,學習的東西還不多,他們的能力差距要比老員工差很多。

  2. 經驗。有的程序員,自身的能力是提升上去了,但是,由於呆的時間相對比較短,經驗還不是很足,面對一些疑難雜症,還是不能解決。

  3. 薪資待遇。因為能力不同,所以獲得的回報也是不一樣的,一般高級程序員的薪資都是非常高的,畢竟他們能夠解決很多困難以及復雜的問題。

當然,除了這幾個方面之外,還有一些也是有差距的,比如說頭發,思維以及工齡等等。

❸ 計算機程序員和電腦編程員有什麼區別

計算機程序員實際上就是電腦程序員,也是你所說的電腦編程員,行業內統稱「程序員」。
電腦編程通俗來說就是編輯程序讓電腦執行的過程,也就是讓計算機代碼解決某個問題,對某個計算體系規定一定的運算方式,使計算體系按照該計算方式運行,並最終得到相應結果的過程。
為了使計算機能夠理解人的意圖,我們就需要將需解決的問題的思路、方法和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據人的指令一步一步去工作,最後達到我們的目的。這種人和計算體系之間交流的過程就是編程。
程序員則是從事程序開發、程序維護的基層工作人員。程序員主要負責軟體項目的詳細設計、編碼和內部測試等工作,所以程序員都需要掌握一定的電腦編程技術。因此我們一般認為電腦編程就是程序員。

❹ 低級程序員和高級程序員的區別

低級程序員認為自己與高級程序員的區別, 主要是高級程序員任何功能都能編碼實現, 編碼速度快, 代碼無 bug. 正如一慣的那樣,
低級程序員之所以低級, 正是因為他們勉強能看到(或者根本看不到)事物的表象而看不到本質. 所以, 低級程序員總結出的一切東西,
你都可以大膽的忽略.

所以, 我們來聽聽高級程序認為自己與低級程序員的區別是什麼. 高級程序員之所以高級, 在於他們認識到代碼 bug 是不可避免的,
有千萬種理由可以導致 bug, 但他們可以在設計和邏輯上保證(追求)滴水不漏, 並用邏輯的百分之百准確性還減少代碼 bug. 沒錯,
嚴謹的邏輯能力是高級程序員區別於低級程序員的最主要原因.

可以舉一個簡單常見例子: 網路購票終端的開發. 當然, 比低級程序員還低級的程序員做不出來. 我們先看看低級程序員是怎麼做:

order = Db::new_order();
ret = Network::place_order(order);
if(ret == TRUE){
order.finish();
}else{
order.cancel();
}

你看到的沒錯, 這段代碼邏輯清晰, 一般 90% 的情況都能正常工作, 有的甚至能達到 99%, 在某些特定的時間段, 這樣的系統 100% 能正常工作(幾乎是完美的系統).

你可能發現了問題: 網路是不可靠的, 網路請求可能發出去了, 也可能沒發出去; 對方可能收到了, 也可能沒收到; 響應可能由對方發出去了, 也可能沒發出去; 你可能收到了響應, 也可能沒收到.

但是, 低級的程序員會這樣解釋: 我用的是 TCP 協議, "TCP 是一種可靠的傳輸協議", 哈! 可笑的照本宣科. 這種低級程序員,
不僅在於他們寫出了邏輯上不完備的系統, 而且還惡劣地引經據典來做錯誤的辯護. 但他們引用的經典是不合時宜的(不能支撐他們的結論).

正確的做法應該是假設上面的每一行代碼都可能中斷執行, 然後進行相應的對策. 正如狹義上的網路協議其實是廣義上的交互協議, 我們可能把 TCP/IP 協議上的許多思想和機制應用到系統間的交互上來.

簡單來講, 可以加上就是重試(超時重傳)和對賬(請求確認). 所以, 邏輯上更准確的代碼應該是這樣:
Process_0{
order = Db::new_order();
}
Process_1{
order = Db::find_new_order();
ret = Network::query_order_result(order);
if(ret == NOT_FOUND){
ret = Network::place_order(order);
if(ret == TRUE){
order.finish();
}else{
order.cancel();
}
}
}

Process_0 和 Process_1 是相互獨立的處理邏輯.

Process_0 即處理用戶交互, 接受訂單.
Process_1 請求服務提供商進行對賬. 進行采購下單(補單), 更新訂單狀態.

上面的代碼邏輯實現了重試(超時重傳), 對賬(請求確認). 但上面的代碼在邏輯上還不是 100% 准確的, 例如, 如果對方系統誤報呢? 但其它的異常情況可以根據實際情況來忽略. 如果你發現這段代碼還有重要的邏輯上缺陷, 歡迎告訴我.

記住, 低級程序員和高級程序員的區別在於邏輯和抽象.

❺ [探討]優秀程序員和一般程序員差別在哪

還記得研發頻道此前發表過的一篇《白班程序員 VS. 夜貓子程序員》嗎?在這個世界上有兩種程序員,我們稱之為:Day Programmers(白班程序員)和Night Programmers(夜貓子程序員)。本文我們將探討優秀程序員和一般程序員有哪些差別,看看您是屬於那一種?來自知乎網上的大牛們各抒己見,一起來看下他們是如何區分的。創業者郭凜:如果純以編碼能力來看,可分為五類1. 拷貝型拷貝型選手就是傳說中的「代碼拷貝員」了,他們對實現功能幾乎沒有思路,所作的事情就是從網上或是之前其他團隊成員寫的代碼中拷貝出片段,然後放到項目中,如果運行項目出現了期望結果,則表示任務完成。這類人只會改代碼,卻不會寫代碼。他們大多對編程毫無興趣,只是希望以此糊口而已。2. 新手型當產品有功能需求時,由於經驗有限,程序員並不完全知道要如何實現這個功能,需要通過學習、尋找資料等方式來解決問題。這種情況下的編碼過程,程序員的主要目標是「完成功能」,那麼很難有多餘的心思去考慮邊界條件、性能、可讀性、可擴展性、編碼規范等問題,因此代碼bug可能較多,穩定性不高,常常會發生開發花費1個月,改bug卻要改上好幾個月的事情。3. 學習型這類程序員對所在領域的語言已經比較了解,對於一般功能可以有較為清晰的實現思路,給出需求時可以通過自己的思路來實現,並且會一定程度上考慮邊界條件和性能問題。但僅此而已,他們對可讀性和可擴展性考慮很少,也沒有項目級別的考慮,主要是希望通過實現代碼來練手或是學習。這類程序員最大的表現在於喜歡「創造代碼」,即使有現成的實現,他們也希望自己來實現一套,以達到「學習」的目的。他們不喜歡復用別人的代碼,看見項目中別人實現了相類似的功能,他們會以「需求不同」的借口來自己重新實現一套。這類人一般來說對技術有著較為濃厚的興趣,希望能夠通過項目來進行學習。從項目的角度來說,這種做法最大的麻煩在於開發周期可能較長(相比直接使用現成的實現),並且會使得項目代碼膨脹,影響未來的維護。但這類程序員由於有興趣,如果好好培養或許會成為明天的牛人。4. 實現型這類程序員一般有較為豐富的經驗,由於寫得太多,因此不再追求「創造代碼」來進行學習,同時對所在領域可能涉及的很多第三方框架或是工具都比較熟悉,當接受到產品需求時,對功能實現方案已經瞭然於胸,因此他們可以快速的實現需求,並且對邊界、性能都有一定程度的考慮。因為能夠快速實現需求功能,經常會被團隊評價為「牛人」。但他們一般僅僅停留在「完成功能」級別上,對代碼的可讀性、可擴展性、編碼規范等考慮較少,對項目總體把握也較少(例如控制項目膨脹、方便部署等架構級別的東西)。這類程序員最大的表現在於喜歡「開發項目」,卻不喜歡「維護項目」。他們產出的代碼最大的問題就是維護較為困難,可能過上幾個月回頭看自己的代碼都會暈頭轉向。因此即使是自己寫的代碼,仍然不願意維護,一般會苦了後來人。因為介面設計的缺乏,當需求變更時,發現代碼要改的東西太多,然後抱怨需求變化,卻很少認為是自己的代碼問題。這樣的項目如果經過長時間的變更維護,最終會變得難以維護(一般表現在需求變更響應時間越來越長)甚至無法維護,最終要麼是半死不活,要麼是被推倒重來。5. 架構型這類程序員比實現型更進一步,他們經驗豐富,對相關框架和工具等都很熟悉,「完成功能」、「穩定性」、「性能」這些已經不再是他們的追求,更優美的代碼、更合理的架構才是目標。這類程序員代碼設計大多建立在對需求的詳細了解和對需求變更的預測上——可擴展性較好;代碼細節也盡量多的考慮邊界情況、性能——穩定高效;代碼命名和注釋都恰到好處——可讀性較高;同時在開發過程中他們會不斷重構,對代碼做減法——保證項目可持續發展等等,但由於考慮問題較多,單從「實現功能」階段來看,完成速度不一定會比「實現型」要快。只是到了項目中後期優勢才會慢慢體現出來。知乎刪代碼工程師 安江澤:創造型、管家型、學院派、鍾表型、折騰型1. 創造型/創新型以創造/創新為樂的程序員。以新的方法解決現有問題,發明方法解決尚未解決的問題。問題本身並不限於技術領域。矽谷很多技術創始人具備這類的品質。雖然他們創業後都不再全職寫代碼,但他們這種品質貢獻了他們事業的第一步。2. 管家型以管系統演化為樂的程序員。有潔癖,有強迫症,容不得系統有一點的瑕疵。如果你招聘了一個程序員/架構師,2-3年後你的互聯網產品再也沒有在可見/可擴展性上遇到瓶頸,他多半是這種程序員。3. 學院派型通常在CS某一領域擁有博士學位,或者深受他們的影響的人。對該該領域興趣濃厚,通常參與企業核心競爭力相關的研發工作。當然,也有一部分也具備第一種特質,中途去改變世界去了。4. 經驗型在行內具有多年豐富的經驗,可承擔責任,考慮全面。團隊擁有了這種人,通常會少走很多彎路。但面對新的挑戰還是要和其他人站在同一起跑線上的。5. 鍾表匠型喜歡並擅長把一個系統從里到外研究通透的人。分享出來都是從里到外讓人垂涎欲滴的干貨。很多後端工程師都是這種類型。6. 折騰型擅長「折騰」,方案沒有最好的,只有最難的。興趣廣泛動手能力強,通過折騰留下很多技術積累。想用哪一塊的新技術?先問問他把,8成他很久前就已經玩過了。7. 肉盾型哥甲高血條長,加班如同切菜一般,逼急了不睡覺也行。只伸手要過兩件東西:原型和咖啡。適合打閃電戰。當然,可能事後要打打後勤重構下代碼。iApp4Me創始人、iOS開發者郝培強:七大標准 邏輯思維很重要優秀程序員的標准:要懂邏輯,這點其實挺難達到,很多很不錯的程序員其實邏輯能力不行,所以我覺得限制了他們更深一層次的發展,或者說限制了他們解決特別復雜問題的能力。要有分析能力。這也是解決復雜問題不可或缺的能力。要會自學,技術發展速度很快,如果沒有自學能力會被淘汰的。所以在中國英語要好,不然看不懂最新的技術走向。要有良好的時間管理習慣和意識。要有耐心,肯於付出。要有良好的工作習慣。會看且勤於看文檔。產品管理、IT項目管理 何明璐:優秀程序員具有較明顯的自戀和偏執特徵對編程有濃厚的興趣,由興趣能驅動自己的探索和鑽研精神,優秀程序員一般喜歡用業余時間探索和自己琢磨點東西,研究點開源框架和源代碼,關注新技術,喜歡研究和探索演算法,邏輯方面的內容。優秀程序員一般比較懶於做重復的事情,對於重復事情有獨有的程序員思維,即通過程序或其它自動化方式解決重復問題,而留更多時間去思考。優秀程序員更多的會從簡單功能實現,花哨的界面轉移到對安全,性能,可擴展等底層架構的關注。優秀程序員一般有較明顯的自戀和偏執特徵,有較為希望獨自工作的特徵,比較難於被非技術背景管理者駕馭,高度強調自我能力價值的被認可,而且很多優秀程序員並不是好教練。優秀程序員一般有較為扎實的演算法,數據結構等理論知識的基礎。這些讓他們在迅速進入新領域的時候快人一籌。總結:不管是優秀程序員還是一般程序員,小編認為只要你喜歡思考,愛學習,對編碼有興趣,那麼你就是最好的。當然掌握技術才是硬道理,套用別人的一句話「不想當CEO的程序員,不是好的產品經理」。程序員們,加油吧!

❻ 普通的程序員和大神級的程序員有什麼區別

❼ 頂級的程序員是怎麼樣的

頂尖程序員常說:「這個我以前寫過一個模塊,我找找,很快。「簡直是沒有對比就沒有傷害!
有人認為,普通程序員用復雜的代碼解決簡單的問題;而高級程序員能把復雜的問題簡單化並用簡潔的代碼去實現。在w3cschool看來,頂尖程序員和普通程序員至少在以下6個方面大有區別。

1、文檔能力
「文檔是第一生產力」,這一點在程序員的世界是毫無異議的。看看Spring,hibernate,Struts等最流行的開源軟體的文檔就知道,他們tutorial,他們的getstarted,他們的reference文檔寫的多麼的易懂。
如果要獲得更高的報酬,文檔是絕對關鍵的因素。有文檔就有溝通,就有交易。搞技術的容易忽視文檔的力量,也因為寫文檔十分困難,更多程序員選擇舒適區,習慣寫下代碼,但正因為如此,妨礙了不少程序員的進階。
2、解決BUG的效率差別
普通程序員可以利用搜索引擎(網路)尋找答案,經常性找不到好的解決辦法,然後更換技術方案!頂級程序員也利用搜索引擎(Google)尋找答案,一般bug都順利解決(其實跟前期框架選擇等關系非常大)。

3、表達能力
表達能力決定了你所做的技術的影響范圍,決定了你的影響力,決定你的威信,決定了你的報酬。普通程序員和頂尖程序員的表達能力差別非常大,這主要還是取決於他們格局的不同。良好的溝通能力讓你理解產品經理的設計思路,讓你更好的展現自己的特長。

對於累積人脈,當你的閱歷越來越豐富,人脈對你的幫助也越來越明顯。
4、優雅和美觀的抽象能力
普通程序員和頂尖程序員之間的區別在於優雅和美觀的抽象能力。好的系統通常是要做到兩個方面才合格,其一是好用,其二是好看。但是令人遺憾的是,普通程序員僅僅從實現的角度進行堆砌。頂尖程序員往往能夠更進一步,經常會去思考用戶在操作這個功能的時候,到底還會做什麼事情。
所以,頂尖程序員和普通程序員區別就是是否擁有用戶意識,是否敢於直面用戶。好用,好看一直是軟體能夠被普遍採用的前提,因此,我們有必要學會抽象優雅。
5、面對如何開源社區態度
普通程序員幾乎沒有在開源社區混,這也導致經常對新技術發展關注度低。而頂尖程序員則是擁抱開源社區。

6、面對功能點
普通程序員:立馬開始構思自己如何實現腦海里出來一個方案。
頂尖程序員:發現功能點很普通github上面早已經有非常多的解決方案,著手根據業務選擇一個最適合最優的方案

❽ 碼農和程序員的區別

碼農和程序員的區別如下:

1、一個好的程序員不光是考慮怎麼去用代碼實現功能,而是要考慮整體,模塊之間關系,這個功能影響的地方有哪些,以及效率等問題。而碼農就是只為了實現功能而去編碼。簡單來說,同樣一種功能,程序員只需100行代碼,而碼農則需要300行,顯的臃腫。

2、碼農寫的是代碼,而程序員寫的則是系統,代碼只能是一段代碼,實現功能的代碼段,而系統則需要,各種模塊,功能及軟體組成。從本質上將,碼農只是「機器人才」。通常只懂幾種語言,不知變通,他們只知道寫代碼。

3、真正的程序員不是完完全全的技術工人,其除卻技術高超之外,其思維邏輯上的價值,讓其不可替代性比碼農強多了。自動寫代碼工具,這對於大量的程序員們來說可能是福音,但對於單純的碼農而言,帶來的卻是毀滅。

4、在程序員的發展歷程中,大家幾乎都是從碼農走過來的。自動寫代碼工具會淘汰大量在碼農期間無法加強自己學習能力,加強自己不可替代價值的初級程序員,也就是我們所說的碼農。

❾ 低級程序員和高級程序員的區別是什麼

低級程序員和高級程序員的區別如下:

❿ 程序員面試被要求手寫代碼普通程序員高級程序員之間的差別在哪

如果一個求職者能現場寫出代碼,並得到正確結論,那樣,他對代碼、演算法的臨場應變能力還是很強的,在平常工作中,高效率都是有保障的。許多人對程序猿有錯誤觀念,認為他們寫代碼時,就應該像影視劇的網路黑客一樣,噼噼啪啪敲一陣電腦鍵盤,顯示器不斷地翻轉更新白底黑字的英文,就能迅速獲得想要的結果。現實是,許多程序猿寫代碼時,必須通過網頁搜索等手段查看許多材料,有一些代碼甚至拷貝得來的,調節看上去遠沒那麼酷。

筆試題目主要針對應屆畢業生,自然一些規模大的公司面試的流程較為繁雜,一般第一關都是先讓做筆試題目,筆試題目的題一般非常簡單,絕大多數對於剛畢業的學生們看一下基本上的理論能夠了解是多少,這類筆試題目的方式反是難住了好多人,許多程序猿由於做一個專業方向做的時間比較長了,許多有關的編程知識早已忘掉的差不多了,因此看到這類筆試題目直接放棄,也無法這部分人不可以從業開發軟體,至少不能作為出色程序員的規范看待,因此在平常程序編寫環節中要重視基本技能的復習,終究基礎理論知識是一個程序員的必不可少基本技能。

閱讀全文

與編程大牛普通程序員區別相關的資料

熱點內容
android錄音開源 瀏覽:453
弗洛伊德演算法c 瀏覽:6
udp命令字 瀏覽:659
app服務端java源碼 瀏覽:798
電腦用文件夾玩大型游戲 瀏覽:254
安卓耳塞失靈怎麼辦 瀏覽:765
華三交換機保存命令 瀏覽:605
命令方塊怎麼調鍵盤 瀏覽:841
不把密碼存在伺服器上怎麼辦 瀏覽:398
怎麼讓指令方塊的命令消失 瀏覽:543
用單片機做plc 瀏覽:404
雲伺服器進入子目錄命令 瀏覽:795
伺服器機櫃如何配電 瀏覽:578
怎麼刪除iphone資源庫里的app 瀏覽:940
pdf魚 瀏覽:648
單片機pcf8591什麼作用 瀏覽:805
sql命令學院 瀏覽:283
加密軟體在電腦那個盤 瀏覽:988
android獲取外部存儲 瀏覽:573
怎麼查自己家的伺服器地址 瀏覽:858