① 想學java軟體開發,去鄭州尚學堂培訓怎麼樣(尚矽谷java培訓多少錢)
對於學習Java軟體開發去哪裡培訓還是看個人的情況,尚學堂沒有了解過,你可以像其他人打聽一下情況,所以這里沒有發言權,學習Java開發如果自學能力比較強,可以選擇自學,對於要學習Java的小白我有幾點建議,你可以看一下。
如何學習程序設計?
JAVA是一種平台,也是一種程序設計語言,如何學好程序設計不僅僅適用於JAVA,對C等其他程序設計語言也一樣管用。有編程高手認為,JAVA也好C也好沒什麼分別,拿來就用。為什麼他們能達到如此境界?我想是因為編程語言之間有共通之處,領會了編程的精髓,自然能夠做到一通百通。如何學習程序設計理所當然也有許多共通的地方。
1.1培養興趣
興趣是能夠讓你堅持下去的動力。如果只是把寫程序作為謀生的手段的話,你會活的很累,也太對不起自己了。多關心一些行業趣事,多想想蓋茨。不是提倡天天做白日夢,但人要是沒有了夢想,你覺得有味道嗎?可能像許多深圳本地農民一樣,打打麻將,喝喝功夫茶,拜拜財神爺;每個月就有幾萬十幾萬甚至更多的進帳,憑空多出個"食利階層"。你認為,這樣有味道嗎?有空多到一些程序員論壇轉轉,你會發現,他們其實很樂觀幽默,時不時會冒出智慧的火花。如果你想學習Java可以來這個群,首先是二二零,中間是一四二,最後是九零六,裡面有大量的學習資料可以下載。
1.2慎選程序設計語言
男怕入錯行,女怕嫁錯郎。初學者選擇程序設計語言需要謹慎對待。軟體開發不僅僅是掌握一門編程語言了事,它還需要其他很多方面的背景知識。軟體開發也不僅僅局限於某幾個領域,而是已經滲透到了各行各業幾乎每一個角落。
1.3要腳踏實地,快餐式的學習不可取
浮躁是現代人最普遍的心態,能怪誰?也許是貧窮落後了這么多年的緣故,就像當年的大躍進一樣,都想大步跨入共產主義社會。現在的軟體公司、客戶、政府、學校、培訓機構等等到處彌漫著浮躁之氣。就拿筆者比較熟悉的深圳IT培訓行業來說吧,居悄空然有的打廣告宣稱"參加培訓,100%就業",居然報名的消談學生不少,簡直是藐視天下程序員。社會環境如是,我們不能改變,只能改變自己,鬧拿運碰市中的安寧,彌足珍貴。許多初學者C/JAVA沒開始學,立馬使用VC/JBuilder,會使用VC/JBuilder開發一個HelloWorld程序,就忙不迭的向世界宣告,"我會軟體開發了",簡歷上也大言不慚地寫上"精通VC/JAVA"。結果到軟體公司面試時要麼被三兩下打發走了,要麼被駁的體無完膚,無地自容。到處碰壁之後才知道捧起《C編程思想》《JAVA編程思想》仔細鑽研,早知如此何必當初呀。
1.4多實踐,快實踐
任何事情,一旦考慮好了,就要馬上上路,不要等到准備周全之後,再去幹事情。假如事情准備考慮周全了再上路的話,別人恐怕捷足先登了。軟體開發是一門工程學科,注重的就是實踐,"君子動口不動手"對軟體開發人員來講根本就是錯誤的,他們提倡"動手至上",但別害怕,他們大多溫文爾雅,沒有暴力傾向,雖然有時候蓬頭垢面的一副"比爾蓋茨"樣。有前輩高人認為,學習編程的秘訣是:編程、編程、再編程,筆者深表贊同。不僅要多實踐,而且要快實踐。我們在看書的時候,不要等到你完全理解了才動手敲代碼,而是應該在看書的同時敲代碼,程序運行的各種情況可以讓你更快更牢固的掌握知識點。
1.5多參考程序代碼
程序代碼是軟體開發最重要的成果之一,其中滲透了程序員的思想與靈魂。許多人被《仙劍奇俠傳》中凄美的愛情故事感動,悲劇的結局更有一種缺憾美。為什麼要以悲劇結尾?據說是因為寫《仙劍奇俠傳》的程序員失戀而安排了這樣的結局,他把自己的感覺融入到游戲中,卻讓眾多的仙劍迷扼腕嘆息。
② 要做程序員需要學會什麼
其實簡單來說,程序員的工作就是使用編程語言,根據需求寫出一個程序。
但是,在這個過程中,涉及如下幾個方面:
使用的編程語言 程序員需要選擇一門或者多門語言來編程,不同的語言適合編寫不同的程序,目前主流編程語言包括,Java、JavaScript、Python、C++、php以及其他小語種等等,每種編程語言適合開發的程序有所不同。目前從程序應用分來,主要可以分為三類a 企業應用,主要用於解決企業業務。各種企業管理後台系統,銀行系統,公安系統,圖書管理系統等等。
b 互聯網應用,面向互聯網用戶,為互聯網用戶提供各類服務。比如現在的京東淘寶各類電商系統等。
c 移動應用,各類在移動端使用的APP,有面向互聯網用戶的APP,也有面向企業內部的APP。
目前相對而言,在移動應用和互聯網應用方面,資本投入比較熱的風口,程序員的薪資較高。企業應用,發展了很多年,相對平穩。
2. 明白需求,實現需求
需求就是編寫程序的要求。一個程序要編寫成什麼樣子,具備哪些功能,都是由需求來具體說明。程序員要需要能看懂需求文檔,並且能准確地使用編程語言,根據需求中的要求來編寫成程序。企業開發的項目,往往會由該程序的架構師提供一個程序框架,程序員在該框架的規范下進行編程,實現需求的功能,以確保程序的規范、可讀,以及可維護性。
3. 日常工作寫程序
一個軟體開發一般流程是產品經理根據用戶需求做一個項目出來,然後UI設計師做一些圖片設計,前端開發編寫頁面,後台開發編寫核心編程,然後介入一些大數據和人工智慧,通過測試之類上線實施,後期還有運維進行相關維護。
程序員一般大多指的是前端和後台寫代碼程序的開發人員,除了編寫代碼,可能還需要通過介面和其它系統對接,實現系統間的數據交換。像單體測試,是程序員對自己寫好的程序單元進行測試,檢測這個程序單元數據輸入和數據輸出是否符合預期等等。測試出來的問題,需要修改正確,然後再測試,直至沒有問題。和同事共同開發的時候也需要聯合測試,以及用戶測試過後如果存在BUG繼續進行修改。
③ Java培訓哪裡好怎麼樣
Java培訓哪裡好?怎麼樣?據Java培訓數據統計,賀頃最近這兩年參加Java培訓的人越來越多,Java為什麼會這么火呢?它的功能到底有多強大呢,接下來就我自己對Java的了解和大家分享一下。
首先,參加Java培訓可以零基礎。Java是一門容易入門的技術,即使你沒有任何的基礎經過一周的培訓也能學會其中的門道,所以Java的門檻相對比較低,即使不是計算機專業的學習起來也完全無壓力。身邊有學設計的朋友在大學畢業時選擇了在昆明北大青鳥參加Java培訓,經過四個多月的強化學習,現在也有一個很不錯的Java開發的工作,與同期畢業的同學相比相當不錯。這也是Java吸引越來越多的人參加培訓的原因之一。
還有一個原因就是參加Java培訓能夠讓多數人人實現高薪就業,越來越多的人選擇Java培訓,爭取一個高薪就業的機會。在這個房價越漲物扮越高的時代誰不想高薪呢,想要多掙錢就要有真本事,參加Java培訓就既能學到真本事最後還能高薪就業,為什麼不參加培訓呢?所以,這也是越來越多的人選擇Java培訓的原因之一。
選擇好Java培訓機構後,就開始進入實際的學習階段了,在這個階段中,一定要注重基礎和實踐的重要性,很多學生認為參加Java培訓是一個快速充電的過程,只想著多掌握一些實用的和比較深層的技術,往往忽視了基礎的重要性。其實這是大錯特錯,無論學習什麼,都不能忽視基礎,雖然參加Java培訓是比較短暫的過程,掌握實用的技術是很有必要的,但是,從長遠發展來看,基礎牢固的學生在以後的工作中,往往提升的更快。還有,學習中一定不要忽視實際操作的重要,要多動手,學習編程最忌諱的就是只看不做,看懂和自己會操作根本就是兩碼事。從來沒有程序員只動嘴不動手的事情。
Java作為一個入門簡單、市場需求量大、能幫助大家實現高薪就業一種技術勢必會吸引越來越多的人來學習。對於一個無從下手又急切想學習一門技術高薪就業禪螞陸的人來說,參加Java培訓無疑是最快捷的方式。總體來說,選擇Java培訓就是選擇了一個高薪的職業和一個炙手可熱的技術。人們何樂而不為呢。只要將來想從事開發或者想實現高薪就業的人員肯定會選擇Java培訓。
關於Java培訓機構的選擇最好選擇大型Java培訓機構至少對自己是一種保障,另外再從課程、師資、就業、學費、合作企業等各方面進行比較從何選擇適合自己的Java培訓機構。
④ 程序員的工作環境是怎樣的
每個人職場人都希望在一個輕松、開心、干凈、舒適的環境裡面工作,這樣心情好工作起來自然效率高,但是這畢竟是理想狀態下的工作環境,當然現在絕大多數企業工作環境雖然達不到百分百,但至少有百分之六七十以上吧。
那麼對於程序員這種有點特殊的工種工作環境又是怎麼樣的呢?
程序員又被人們稱之為碼農,也有人調侃戲稱「程序猿」,程序員對工作環境往往需要有一張大的辦公桌,他們不僅用一台電腦在工作,有時候需要幾台電腦同時操作,而且遇到一些bug或者瓶頸的時候需要和同事協同工作,當然在硬體方面除了辦公桌要大外,還需要配置比較高的電腦,畢竟這是程序員最基本的工作工具,試想如果剛有靈感,結果電腦卡頓或者死機了,那有可能靈感頓時就消失了,所以他們大多數工作環境都擁有足夠大的辦公桌和高配置的電腦。
前面就提到了程序員是有點特殊的工種,因為他們往往加班到很晚,時常會通宵,這就和我們正常上班的時間上錯開了,他們往往白天睡覺,晚上工作,有時候為了打起精神工作,他們提神的方式各自不同,有抽煙的、有喝咖啡的、有聽歌的等等,大家可以想像這是什麼樣的工作環境嗎?但是程序員工作的時候,大多數情況下都需要安靜的環境,畢竟安靜能讓人更好的思考問題。
每個人對工作環境要求都不一樣,讓自己覺得舒服的環境是自己願意留在公司的原因之一吧,程序員也是一樣的。
大公司的程序員,工作環境基本上就是一個電腦版的「衡水中學」,每天就是開會寫代碼改代碼查代碼開會繼續循環往復,跟中學里每天就是拚命讀書刷題刷題讀書吃飯無味上廁所要跑一個樣。
硬體配置無需你考慮,肯定是夠你用。跟人的成本比起來,硬體就是個渣。
大公司的程序員工作比較穩定,每個人的分工是比較明確的,職業路徑也很明晰,越往上的職位對智商的要求越高,這點和靠情商往上升的工作還真有點不一樣。在程序員這個隊伍里拍馬屁搞關系基本沒啥用,你寫的代碼都無需用戶檢驗,自己一跑就知道成不成。這也是IT公司通常人際關系和氛圍都比較輕松且簡單直接的根本原因,特別適合那些不喜歡搞關系的同學去擼起袖子加油干。
如果你想在這個行業長期發展,智商一定要夠用,真的。有沒有基礎倒在其次,如果數學好更佳。有些業內大咖本身是學數學或物理這些靠智商吃飯的學科的。
小公司的程序員,尤其是那些非IT類小公司里的程序員工作壓力更大。面對不懂程序的銷售和老闆,還有極度貪心又不願多付費的客戶,需求三天兩頭變,界面是個人就可以提意見改,時間永遠是「明天就要」。他們覺得程序員比悟空辦法多,所以什麼要求都提得出來。能在小公司做出成績的程序員,真心讓人敬佩不已。
小公司的程序員是掌握公司核心機密最多的人,比老闆都掌握得多,所以通常他們的待遇也還過得去。另外他們一來二去把公司業務摸透了,出來自己乾的也不少,當然能不能幹成是另一回事。
其實程序員的工作環境真沒什麼要求,只要沒什麼干擾就行。學霸們在這里會找到十分熟悉的感覺,所以程序員之間以「同學」相稱的極多。
我是2015年本科畢業的,但是2014年就開始工作了,從程序員+運營的工作開始實習(其實也是看最後哪一個更合適就走哪一個方向)。
對於實習階段,因為當時待的是小公司,所以大家的配置都很一般。幾個主力程序員加上我這個實習的,工作用的都是windows筆記本,聯想的,除了我自己配的固態硬碟之外,很多都是機械硬碟在跑,沒有特別明確的代碼庫規范、沒有知識系統,交流全靠跑,有的是後端和前端一起干、前端和客服一起干,所以我兼職運營也是如此……平時要是不忙的話,那還沒什麼事兒,大家會閑聊扯淡,也算是其樂融融;但是要是忙起來,可能會突然加班到很晚——當然這種情況還是比較罕見的。
工作到了中型公司,跟以前的小公司就不在一個量級上了。這個時候主要的工作是後端開發,配置的電腦是聯想的ThinkPad,但不是最高配那種,仍然沒有固態硬碟,慢的要死。第一梯隊的程序員配置有雙顯示器、機械鍵盤、mac。我的話配置的是外接顯示器,座椅很一般,坐久了比較累。公司分工明確,辦公室跨越兩座樓,各個團隊都有自己的辦公室。有自己的wiki、定期站會、嚴格的代碼規范、安全規范。一般情況下主要是在解決各種bug,或者開發新系統。偶爾流量高峰的時候,會加班到一兩點,平常並不是特別忙,工作還是比較有序的。
其實想要招妹子進團隊的,因為我們團隊唯一的測試工程師長得真的一般,而且性格也很差……一個性格好長得好看的運營妹子真的能調動整個團隊的氣氛。
所以什麼機械鍵盤、Mac、外接多少顯示器、加多大固態硬碟、多好的人體工學座椅……這些都是假的,開發的團隊裡面有好看的妹子才真的是「好的開發環境」。
可以穿拖鞋?可以戴著耳機聽著歌?配備兩個顯示器?身邊總是圍繞這MM端茶遞水果?還是以上都不是,而是詩和遠方?
程序員,一個高薪卻嚴重亞 健康 的群體 。他們有著極客精神,瘋狂coding的時候可以廢寢忘食,但他們也追求精神自由,喜歡自由自在。對於這樣一個群體,良好而又恰到好處的工作環境顯得尤為重要。
1. 彈性上班制
常規企業的朝九晚五上班制度,說實話並不適合程序員一族,因為這種制度一定程度上扼殺了這個最需要差異性的群體的差異性,把程序員的Coding靈感等同於工廠流水線上機械手臂,希望按鈕一按下,靈感發動,按鈕再一按下,靈感結束。這是一種一廂情願的想法。
所以對於高層次的程序員群體,請不要在作息時間上嚴格限制他們,因為他們不是裝配工,有著獨一無二的個體差異性,有著不同的思維G點,他們需要差異性的時間作息來調整自己的最佳狀態,從而迸發激情和靈感。
2. 寬松的工作氛圍
程序員群體討厭管理,任何自上而下的所謂管理都容易引起程序員們的心理抵觸,特別是那種死板的、指令式的管理模式,尤其讓程序員們作嘔。
程序員們希望自己做的事情是出於內心的意願,那樣他們就會干勁十足,而不是來自於經理計劃文檔中那條冷冰冰的文字,哪怕是他們心裡意願的和經理的計劃本是同一件事。所以對於程序員群體的管理需要技巧,要化管理於無形,讓他們感覺不到管理的痕跡,讓他們感覺著做這些事情就是出自於他們自己的意願。
總結來說就是讓他們作為自己的管理者,而團隊的管理者所要做就是培養他們這種自管理的能力。
適度的壓力可以產生做事的動力,但長時間的持續的壓力卻是扼殺激情和創造力的罪魁禍首。壓力會讓程序員焦慮,同時也會造成低劣的設計和代碼實現,因為交付的壓力會讓程序員對匆忙設計出來的方案妥協,而不會持續的優化找到最優方案。而一系列看似微不足道的缺陷設計集合到一起,就會形成讓人意想不到的、不可控制的亂象。
所以,「快」不見得是好事,「慢」也不見得是壞事。
3. 鼓勵參與開源項目
開源項目社區的欣欣向榮,是一朵盛開的奇葩,無論怎麼贊譽都不為過。
一些著名的開源項目,例如Linux,Apahce, openssl等等,數不勝數的優秀設計,給我們帶來了多少的驚喜,同時也催生了多少的商業公司。
參與到開源項目中,是一個程序員從初級走向高級、完善技術的最有效途徑之一。一些著名的開源項目,架構設計和Coding技巧上都屬上乘之作, 浸淫其中,受益匪淺。
其實以上三點不僅是對程序員群體,對任何一個職業的人來說都是適用的。再看下知乎上程序員們理想中的工作環境是怎樣的。
@蕭井陌:我讀書的時候就有一個執念,一定要找一家可以穿拖鞋背心大褲衩上班的公司(當然我不穿大褲衩),如果我找不到這樣的公司,說明我學得不好,所以我一直以來努力的目標似乎只是為了進一個能穿拖鞋的公司?哈哈哈哈。。。
@知乎用戶:我只想要2個顯示器
@知乎用戶:1.安靜,沒有人隨便喊你或者在你耳邊說話;2.絕對的自由,程序員都有一定的怪癖,比如我喜歡聽著搖滾樂寫代碼。這些都要被允許。3.溫度,氣味舒適的環境。
4.有個養眼的MM同事,大概是這樣的
嘿,箭頭方向那個哥們才是真正的程序員吧
5.獨立10M光釺線
@Indream Luo,軟體工程師:1.女多男少,人均年齡不到27;2.身處白雲山上,與廣東外語外貿大學一牆之隔;3.無邊界文化,有問題可以找任何人溝通,包括高層,如果你見得到;4. 健康 文化,加班有補休,提倡8小時,自建食堂和農場,買下巴馬泉眼特供礦泉水
@石磊
硬體:
1. 頂配的 MacBook Pro。
2. 上廁所不需要排隊。
與人相關:
1. 不會在開發到一半時被通知要重新討論功能,然後把以前做的東西全部推翻。
2. 沒有不必要的會議,必要的會議速戰速決。
3. 行政人事什麼的做事清爽高效,這樣不用在各種日常手續上浪費時間,只管寫代碼就好。
4. 同事們效率高、工作態度嚴肅、善於溝通、活潑有趣。
@張英鋒:最理想的工作環境應該是能幫助團隊沉下心來,開發出最好產品的環境。
1.上級對程序員工作的認可和尊重;
2.對所作的工作有自主權和決定權;
3.營造能讓程序員專注於工作的設施,比如大家都提到的安靜、以及各種提高生產率的硬體條件;
4.最後是公司是盈利的,最好是暴利,能持續提供更多福利。
@庄生:其實最重要的工作環境,還是有一幫靠譜的同事,真心的。可以術業有專攻,但是該你負責的你負責到底,保質保量,不要麻煩別人。
那你呢?你希望你的工作環境是怎樣的?
上聯:一個項目兩部電腦三餐盒飯只為四千工資搞得五臟俱損六神無主仍然七點起床八點開會處理九個漏洞十分辛苦 ;
下聯:十年編碼九年加班八面無光忙的七竅生煙到頭六親不認五體投地依舊四肢酸軟三更加班只為二個臭錢一生孤苦;
橫批:苦逼程序員。
程序員飄過
作為一名程序員的我可以很負責任的說:是的,工作環境就像問主圖片那樣,可能會稍微好點,我們公司都是中央空調,不用電風扇!
我在程序員的崗位上也有好幾年了,也待過幾家公司,其實就工作環境來說,程序員的工作環境還是不錯的,不用風吹日曬雨淋,而且是冬暖夏涼!和人們眼中的白領工作人員的工作環境是差不多的。
工作氛圍其實也是很好的,程序員在穿著方面大部分公司是沒有什麼太大要求,可以穿著自己喜歡的風格(腦補一下大褲衩配涼拖的程序員正在擼代碼),同事之間的交流也是很活躍的,所以程序員的苦逼之處不在工作環境,而是工作內容和壓力。
程序員分工:
1.純軟體工程師,就是只靠電腦吃飯的,設計包括但不僅限於---網頁、架構、UI、數據、運維、系統等等,整天與代碼打交道;
2.Firmware(分位)工程師,半軟半硬的工種,要焊板,要搭建環境,還要寫代碼維護代碼,演算法可能沒有純軟體工程師牛,但動手能力絕對強,涉及的知識面可能更廣。
本人就是後者,來看下我的桌面:
各個公司對於辦公環境都不一樣,國外都注重個人隱私,很多都是一個人一個封閉的房間。國內大部分就像圖中所示那樣,半隔開。也有 科技 公司,鼓勵大家敏捷開發,多溝通,開方式辦公
請忽略那些包含「安靜,優美,閑逸的辦公環境」的答案吧!
圖中的環境,只是正常普通公司的工作環境。
不一定是程序員的。
程序員的工作環境,因工作內容,導致需要很多屏幕。
而且電腦配置也需要很高。
每個人因面對的公司、自身能力等因素,都會導致工作環境的不一樣。
所以就有了工作環境好壞的區分。
如果你曾對著大海構思過某個介面,
在櫻花飄落的院落里調試過代碼,
那麼你還覺得在寫字間喝著咖啡對著三屏顯示器敲鍵盤是理想的環境嗎?
工作環境,還是得靠自己改變。
在程序者的不斷追求下,編程是可以和寫作一樣成為藝術創造過程,
那麼任何一個能夠激發出你靈感的時刻和環境都應該可以成為你的辦公環境。
資深碼農應邀回答這個問題。籠統來說,程序員的工作環境與圖中展現的差別不大。但根據工作屬性和所屬行業來講,還是有一些區別。
甲方和乙方的區別
我在剛畢業時進入了一家軟體外包公司,幾乎所有的工作都是在甲方所在地完成的。
因為甲方員工是公司的穩定員工,所以工位來講就要精緻一些,配備也要完善一些。一般都會是隔間,有抽屜、插座、文件架、座機、台式電腦,甚至還有床等等。
而我們作為乙方因為流動性大,人數也不固定,甲方公司不太可能為我們准備這些精緻的辦公位,一般只是拉幾張桌子拼湊起來,然後再接幾個線板,有時候靠椅都沒有,還得坐獨凳。
技術驅動和業務驅動的區別
現在任何一個互聯網公司,技術部門是必不可少的。但是有的公司會以業務為驅動,有的公司會以技術驅動業務。
以業務為驅動的公司就會優先考慮業務的發展,然後技術來輔助實現。我現在所在的就是這樣一家公司,這樣的公司技術部門就會非常的小,人員也會很少。這樣的公司程序員的工位大體上和整個公司的風格沒有太大的區別,因為人少,一般只有5-6個人,做技術的也喜歡安靜,所以一般位置會選擇靠近辦公室的角落。
以技術為驅動的公司會依靠自身技術實力結合行業發展,碰撞出一些具有競爭力的業務品種,並與業務部門配合來實現並推廣產品。這樣的公司技術人員起碼佔到50%以上,這樣的公司更有可能為程序員規劃一個單獨的大辦公室,與外界隔離。一方面是為技術人員提供安靜、舒適的辦公環境,另一方面也是盡量避免閑雜人等進出公司技術核心所在地。
以技術為驅動的公司往往技術實力比較突出,所以他們會為自己的技術團隊配備「駕駛艙」、小機房等設施。
就問題中的格子間來講,不管是什麼性質的公司,只要場地不是特別的擁擠,都會設計成格子間,這樣既保護了員工隱私也充分利用了辦公場地的空間。這並不是程序員特有的風格。
⑤ 為什麼老程序員的效率如此高
程序員老師傅的解決問題能力要比初級甚至是普通的程序員都要高出很多倍,所以每個軟體公司都會在保留1,2個經驗豐富的資深級軟體工程師,這樣在遇到項目或者產品難點的時候能夠力挽狂瀾,這種水準的程序員也是很多公司追求的對象,而且和年齡沒有太直接的關系,編程最終的就是給出解決問題的方案,從解決問題的角度出發解決方案還是非常多,但是在不同的人會給出不同的解決方案,但是有經驗的程序員在解決問題的時候就會思考的比較多,不容易導致引入新的問題。
編程能力最直接的表現不是寫代碼的能力,因為隨著時間的推移時間積累夠了代碼能力自然就上去了,很多程序員在工作多年之後雖然代碼能力得到極大的提升,但是還是不具備獨立的框架或者功能復雜的模塊設計能力,所以很多人在工作多年之後工資一直不能得到上漲,這是主要原因編程的關鍵還是思路問題,關鍵點還是在於有正確的解決問題的思路,思路的切實性是需要經過項目實戰的積累。
所以優秀的程序員一定是身經百戰的經歷過項目的洗禮,只有經歷過項目才能真正意義上懂得編程是怎麼回事,而且每次經歷的項目都能夠獲取足夠多的營養出來,越是優秀的程序員經歷過項目之後知識體系構建越是完善,越是老程序員越是覺得程序深奧之初,所以老程序員輕易不動手都會思前想後把事情搞明白之後才去真正動手,所以講老程序員真正動手寫代碼的時間還是非常短,大部分的時間都是在構思其可行性,真正動手的時間會非常短所以大家看到老程序員大部分的時間都是在看代碼或者看一些資料,甚至有些人很少看到老程序員在大塊的時間寫代碼。
越是老程序員對於編程語法看的越是淡薄,編程語言到了一定層面就是工具般的存在,就是為了編程思想服務,如果還在為了編程功能實現代碼而煩惱證明了還在初級的學習階段,度過了這個階段之後就要考慮如何駕馭架構以及如何錘煉自己的編程思想了,編程的學習過程是需要循序漸進的不要覺得距離自己老程序員有非常遙遠的距離,從開始入行就要慢慢去積累不斷打磨自己的思想,希望能幫到你。
25年老程序員,20年CTO,來解答一下:
1、經驗、教訓使然,所謂虧吃多了,也就不吃虧了。
2、長久工作,養成了一定良好的習慣。
3、代碼量到一定程度,自然而然會更熟練。
4、一些非技術的經驗知識,還是需要時間來積累。
5、老程序員的思維經過多年的訓練,更有利於直達本質。
6、他們的方案可行性更高,這樣減少返工。
7、代碼質量高,測試通過率高,考慮的因素更周全。
8、代碼改起來更容易,找問題也相對容易。
9、對任務的理解更全面,能夠從更多的角度去設計程序,權衡效率、速度、性能、擴展性等各方面的因素。
10、也不是所有的老程序員都能這樣,這個還是跟這人的學習能力有關系,所以大家是能3年變成老程序員,還是10年,就看自己的個人努力了。
在IT編程開發的過程中,老程序員開發的效率會非常高。比如:一個網站模板,新程序員可能要花上一個星期的時間才可以完成,而老程序員卻可能只需要1-2天就可以做好。這是為什麼?莫非他們天生就有神相助。非也,這所以會這樣,據我分析,主要有以下幾點。
因為長期的編寫代碼,所以,會碰到非常多的問題,然後就會去解決這些問題,這就讓老程序員有了豐富的實戰經驗。反觀新程序員,碰到一個問題,因為以前沒碰到過,所以要花大量時間去解決。而老程序員碰到問題,因為以前解決過,所以,很快就會弄好。
在IT編程中,很多的代碼都是可以用來搬運的。因為長期的工作,老程序員會把一些功能代碼記錄或儲存下來,以備後期使用。也就是說,他們就像記筆記一樣,把一些功能代碼記下來,以備不時之需。所以,在新的編程中需要用到時,他們就可以直接拿來就用,自然效率就高,開發就快。
老程序員在編寫代碼時,一般都會對代碼的規范和格式比較重視,使用代碼清晰有條理,閱讀代碼時就不費力氣,而且還會做好每個功能代碼的注釋。這樣,不管是對現有開發,還是對後期維護,都是非常有利的。如有代碼出現bug,可以很容易地找到,這同樣節省了大量的時間。
老程序員在編寫代碼時,會先從大處著手,把大的框架給弄好,然後,再對整個編程的細節有針對性地編寫。這就好比開發一個高樓大廈,開發商會先把主體框架搭建好,然後,再一層一層地去弄每一層樓的細節。這樣,往往目標會更加清晰,只要按步就班地執行計劃,就可以很快完工。
熟能生巧
為什麼老程序員的效率如此高?
首先, 敲代碼的效率 != 工作效率
並不是老程序員效率就高,而是程序員要提高效率需要一些方法,這些 方法的學習和掌握需要一定的時間 ,結果就是老程序員的效率會相對要高一些。
所使用的編程語言的熟練程度我經常會看到一些新手程序員在寫代碼的時候需要頻繁的去查看文檔或者是網路搜索各種介面的用法,有時寫一個功能要查個幾十次,很多時間都浪費在了搜索上,真的寫代碼的時間很少。
而一個在這門語言浸淫了幾年甚至是十幾年的程序員,對這些介面瞭若指掌,使用的時候信手拈來,還知道介面裡面的實現機制,可能會碰到哪些坑也一清二楚,減少了很多bug的出現。
你是不是有把那些介面拿出來反復琢磨,去研究它的源碼,認真地了解它呢?
對編程工具的掌握程度工欲善其事,必先利其器。
一個好的編程工具有很多可以幫助程序員減少工作量的功能,比如代碼重構、自動格式化、語法檢查、代碼提示和補完等等,掌握這些也能大大提高開發效率。
隨著IDE的發展和進步,現在很多工具都不需要太復雜的學習就可以操作,所以這個是一個投入小而回報很高的事。
業務需求的熟悉程度代碼是為業務服務的,我們首先得理清楚業務邏輯,才能知道要怎麼寫代碼,而新手對業務不熟悉的時候,光是弄明白業務需求是什麼可能都需要不少時間,有時候還可能會錯誤理解需求,導致寫出的代碼文不對題,只能重寫。
所以多思考,多問,多討論,不會花太多時間卻會減少很多時間的浪費。
調試的效率寫出來的代碼還需要經過測試,如果有bug就需要調試了。
很多新手只重視寫代碼的工作,對於怎麼調試卻忽略了,有的人甚至只會使用列印功能一步步通過排查找bug,並且對寫出來的代碼沒有概念,連bug大概可能在什麼地方也不清楚。
老練的程序員不只是靠列印,有時候只看報錯信息就能知道bug大概在什麼位置,配合上列印還有斷點功能很快就可以找到bug的位置,更不要說他們很清楚怎麼寫出容易調試的代碼。他們會在寫代碼的時候就對可能出問題的邊界條件進行檢查,並且會利用自動化測試來減少工作量。
寫代碼之前的構思新手很容易犯的一個錯誤就是拿到功能需求馬上就開始寫代碼,可能寫到一半會發現前面的代碼有問題需要推翻重來,或者是寫錯了方向。
老程序員寫代碼之前會先進行構思,把功能需求拆解,分成不同的小模塊,甚至會在紙上把這些想法畫下來,基本上在這一步就把問題已經解決了,寫代碼只是把解決方案用代碼表達出來而已。
所以,如果你也想做一個十倍程序員,記得不要只是埋頭寫代碼,還要刻意去練習這些提高效率的好方法!
在寫代碼前,代碼差不多已經刻在腦子里了,寫代碼的時候,總覺得雙手敲鍵盤的速度趕不上腦子的速度,寫出的代碼幾乎不需要調試,你說效率高不高?
因為老程序員經歷多了,一些常規性的BUG基本不會出現,對用戶需求也能做到最大的完善,還有對需求增加和修改有個大概了解,會提前預留介面和模塊,還有對用戶的硬體有了解,在程序上會有相對優化。所以老程序員寫的程序不一定美觀,也不一定最簡化,但是可能是最合適的,可惜中國的程序員剛成熟就要面臨失業。年輕的程序員啥都不懂,片面追求性能,美觀簡潔的程序,在兼容性和實用性上大打折扣,不顧用戶的使用情況和硬體情況,項目一上線問題多。
老程序員分為兩種,一種是年紀老,常常被換做「老X」,一種是能力老,常被人換做「x老師」。
老程序員之所以效率高,離不開幾點:
程序員是一份高強度的腦力工作,能成為老程序員者,智力,體力無一不是同齡人中佼佼者。能夠更加效率的工作自然是理所應當,方符合家有一老,如有一寶的普世價值。
祝廣大碼農早日修煉成為這樣的老程序員。
老程序員,碼代碼速度並不見得比年輕人快。但老程序再面對需求時,能很快抓住技術關鍵點,難點,重點,如何突破都瞭然於胸。當出現問題,老程序員有經過實踐的診斷定位排錯的邏輯思路與手段 。其實這些熟能生巧是一方面,學習與實踐 領悟是另外的方面。年輕人觀察能力強 悟性高,也會青出於藍
老成員就是圖書館,硬碟存滿了各種經過調試且運行過的程序,只需要復制粘貼,效率肯定高
⑥ 程序員工作壓力大,身體也垮,為什麼還這么多人想做程序員
一、興趣使然
興趣會是你辛苦工作的一針強心劑,如果從事的職業就是你自己熱愛的領域,那想必即使辛苦你也會感到是苦中作樂、樂在其中吧。跟心中美好的理想相比,辛苦便也算不上什麼了。套用金庸的名句「那些都是很好很好的,可是我偏不喜歡」,這里應該說「那些確是極辛苦的,可是我心中喜歡」。
二、性格偏內向
不太會在商場里打交道、陪客戶、談生意等等,更沒有有錢有勢的親戚朋友幫忙,程序員是一個很典型的純粹靠自己技術和能力吃飯的工作,當然如果一個程序員提高人際關系和溝通能力會有很好的發展,比如終極目標之一的CTO或類似職位。
三、收入可觀
工資相對於常見的大多數職業來說偏高,基本做個兩年左右月薪至少10K起步,甚至很多應屆生也可以拿到月薪10K+的水平。
四、對學歷沒有過於苛刻的要求
是如果技術夠好、工作態度認真負責的話,可以放寬學歷是本科的硬性要求。
五、市場需求大
隨著互聯網+戰略的提出,進一步激發了大家對於互聯網行業的嚮往,互聯網創業公司如雨後春筍地遍地生花,同時互聯網行業需要大量的程序員去搭系統、寫代碼,所以導致了供需不平衡,導致了程序員特別是優秀的程序員缺口比較大,互聯網行業的程序員薪水一路飛漲。
程序員這項工作根基於計算機產業。計算機產業的特點就是爆炸式的增長,技術以不可想像的速度迭代。對於公司而言,要跟上發展速度,必須不斷的推陳出新,不能有一絲懈怠;對於程序員而言,也要時刻保持專注,不斷地學習新的技術和理念。所以要想時刻保持競爭力,辛苦磨礪是必然要經歷的過程,不僅是程序員,其他行業亦是如此。
⑦ 什麼工作時最適合愛動腦而不愛動手的人
貌似是乞丐吧,通俗一點說就是要飯的。
不信,你仔細想想:
裝作殘疾人要飯的:他們得好好動腦子想慧滲想怎樣不被人識破。好端端的人看上去還得讓人產生缺胳膊少腿的錯覺,不費腦子,能行嗎?
裝迷路學生要2塊錢路費回家的,得費腦子吧?裝火車站裝聾啞人要錢的,得費腦子吧?地鐵上拎前橡脊著音響要錢的,他們是不是如虧也得考慮一下播放什麼歌曲才能容易騙到錢呢,費腦子吧?舉一反三吧,我就不做具體說明了
⑧ 知乎熱議:程序員的悲哀是什麼
最近在知乎看到一個很意思的問題,「 程序員的悲哀是什麼? 」
很多人會以為程序員「 脫發、加班、壓力大、上班摸魚 」等標簽是悲哀,而實際上這只是大眾對此的刻板映像,並不是程序員真正的悲哀
畢竟這些標簽在其他行業也都是普遍存在的,只是對於程序員群體來說,這些標簽被互聯網放大了所以顯得格外的悲哀
但實際上的程序員的悲哀卻來自我們程序員這個群體的內在通病
只關注技術的實現,不關注業務邏輯
大部分程序員在學習技術的時候,只會在乎技術的實現,而不去考慮更多的業務邏輯
經常出現的畫面就是:
也正因為如此有了產品經理這個冤家,國外的產品經理更多的是對於商業業務的推進,而國內的產品經理更多的是對於產品細節的把控
因此,程序員的發揮能力進一步被局限,工作日常就是等著產品和設計給出流程圖,按照圖紙去步步執行
這樣不僅禁錮了自己對業務的思考和成長,而且等項目做砸了,第一個背鍋的可能就是程序員
只關注技術的分享,不關注商業邏輯
開源精神是程序員所推崇的,各個項目託管網站、學習資料、視頻的分享造就了一大幫跨行進入互聯網的程序員
要是沒有現在那麼多開源的技術,估計市場上有一大半的程序員得下崗
但是也正因為程序員的開源精神,造成了大量的人才湧入,畢竟環化材生只需要拿出發一篇SCI的精力,就能成為個初級程序員,加入程序員的面試大軍
造成的結果就是初級人才越來越多,越來越內卷,最後35歲提前退休,卷王脫穎而出
讓一個看起來高技術的職業人才通通成為了前期英雄,只要到第二年校招,就會發現自己很大概率被倒掛了
以為職業發展都是線性增長
溫水煮青蛙在各個行業可能都有,但是別的行業可能是溫水慢慢的蒸,但對於程序員這個行業水溫還沒上去來著,就有人拿著網兜把帶走了
一行曾經見過,做項目前老闆發獎金鼓勵你把技術完成,但是項目完成上線後,為了節約成本就開了大部分程序員,留下少量的員工來進行維護
作為前期英雄的程序員,年輕點還好,趕緊去找下一份工作,但是年紀大了一點就難受了
這就是因為很多人按照慣性認為程序員的職業發展是線性模型,以後會越來越好,但很大情況下對於程序員來說職業發展是拋物線的,先增長後下降
如果沒有預案准備,未來將會非常難受,當然做到一半提前轉崗的不在此列
與其溫水煮青蛙,不如主動的規劃未來,那具體怎麼做呢?
就算說程序員35歲退休,那也是針對初級程序員,技術專家的生命周期要長的多
畢竟工資增長靠工齡是不可持續的,能持續支撐工資增長的就是技術的不斷精進了
不僅懂技術,而且還得更深層次的底層邏輯,才能再日常核心問題上發揮出自己的價值,這樣就算優化也很難優化到自己身上
一直在技術圈子裡很容易形成信息繭房,就像現在的各類演算法推薦的流媒體,只推薦你感興趣的內容,對你有幫助但不感興趣的內容卻離你越來越遠了
同時跟電腦打交道久了,就更不想跟人進行交流了,越陷在信息繭房之中
所以還得多離開你的電腦桌,與人交流
只有不斷的邁開腿,張開嘴,你將會發現,未來很多機會都是在與人交流中的碰撞摩擦出來的
為什麼轉行做程序員?那還不是因為工資高嘛
如果要提前規劃未來的話,最好還是多嘗試去了解兼職和副業,知道錢除了從工資里來,還能怎麼來
至少賺1塊錢也是好的,因為很多個項目都是從1塊錢開始,然後不斷滾雪球變大
只有副業開始不斷有收益,那什麼35歲危機、提前退休等危機全都不用考慮
程序員悲哀也都將會煙消雲散了
書籍的好處就在於權威和體系健全,剛開始學習的時候你可以只看視頻或者聽某個人講課,但等你學完之後,你覺得你掌握了,這時候建議還是得去看一下書籍,看權威技術書籍也是每個程序員必經之路。
安裝 Python 環境 !
工欲善其事必先利其器。學習Python常用的開發軟體也都整理在這了,給大家節省了很多時間。
光學理論是沒用的,要學會跟著一起敲,要動手實操,才能將自己的所學運用到實際當中去。如果你不知道你該做什麼,可以查看下面的實戰案例。
我們學習Python必然是為了找到高薪的工作,下面這些面試題是來自阿里、騰訊、位元組等一線互聯網大廠最新的面試資料,並且有阿里大佬給出了權威的解答,刷完這一套面試資料相信大家都能找到滿意的工作。
需要資料的小夥伴請私信我哦!
每個行業都有悲哀,雖然程序員的悲哀被放大了,但仍然是最有潛力的崗位
無論未來轉崗、還是創業,技術能力都會成為buff為自己服務
加油,打工人~
⑨ it寫作文檔
其中的原因很多,我自己歸納了幾點:1.怕煩程序員從入門之日起,就在心裡埋藏了一顆編程的種子,認為程序員就是編程序的,就是和計算機打交道的,程序就是程序員的全部。
無論是在編程之前寫文檔,還是在編程之後寫文檔。他們都認為寫文檔很煩人。
1)文檔種類太多。越正規越多。
一想到要寫那麼多的文檔,程序員的頭都要大了。2)文檔寫作要求不低。
有格式要求、內容要求,還需要畫各種流程圖、示意圖、關系圖、界面圖和填寫各種表格說明,以及要收集各種資料。雖然沒有技術含量,但是要花的時間比編程序多,而且也不一定能寫好。
3)在正規的開發公司中一般一個變更就要編寫一系列的變更文檔。當不斷變更時,只有最後的變更文檔是最重要的。
當我們不知道當前是不是最後一個文檔時,我們就不願意寫可能被後面的文檔替代的文檔。4)當寫了文檔之後,就會不斷有使用文檔的人來詢問細節,這些詢問往往會讓人崩潰。
這是因為很難寫出讓每個人都提不出問題的文檔。2.沒空在很多情況下,程序員都處於一種「時間緊、任務重」狀態。鄭首穗
在急於得出編程結果的驅使下,程序員一心撲在編程上,恨不得一分鍾一個變化,哪有心思和時間先把文檔寫好再去編程呢?即使他們擁有先把程序編出來,然後再補寫文檔的想法,但是一旦他們完成一段程序之後,就會立即撲向第二段程序。如此下來,編寫文檔只能放在項目開發的後期了。
你要是真的寫文檔,那寫文檔的時間早已將編程時間給擠佔了,你的編程工作就完不成了。3.沒有用文檔的重要性其實對不同對象是不一樣的。
如果你說文檔沒有用,立即會有人用唾沫把你淹死,他們立即會搬出哪個哪個說文檔是重要的,文檔是不可缺的。唯獨不敢說「我自己認為文檔是重要的」。
這也反過來說明文檔的有用性程喊卜度對不同人是不一樣的。對於程序員來說,只要能把程序編出來就行了。
很多程序員不寫文檔照樣編出程序來,在他們的觀念中文檔不寫也罷。如果按文檔編程序,那就要確保文檔的正確性、不可更改性。
而實際上,文檔不如編程快,編程不如變化快,不斷變化的需求和代碼讓文檔如同一張過時的廢紙一樣。在現實中,有的文檔變成了項目開發後的總結,對開發本身並不起作用,只是保留一個存在的形式,以應付各種各樣規范的需要。
在這種情況下,文檔沒有任何實用價值,所以即使程序員寫了,也沒有什麼作用。尤其是項目投產後,幾經升級,最初的文檔早已和現實的情況對不上號了,文檔更新和系統的一致性更是難於控制。
4.沒好處既然認為編程序才是正道,那麼程序員寫文檔就是一種額外和輔助的工作,做了就做了,對於程序員來說沒有任何好處。當然,文檔的好處更多地體現在軟體公司、單位、軟體用戶、後續程序員身上,它是一種「前人栽樹,後人乘涼」的好事。
所以程序員不願意寫文檔。文檔有多麼重要呢?有人把它上升到「程序員頭腦的拷貝」的高度,有的人甚至說,程序員走了後,只要有了文檔,軟體公司可以再招新人,公司照樣運轉起來。
如此說來,天性聰明的程序員會把文檔寫得清清楚楚嗎?5.不會寫從寫作本身來看,芹慶寫好一篇文檔不是一件容易的事。文檔有文檔的格式和寫作要求。
現在的人只喜歡動嘴說事,沒有多少人在平時會動筆寫字,更不用說寫文章了。所以,寫文檔從理論上來說也是需要學習和訓練的,需要在平時進行寫作積累。
當要求一些程序員寫文檔的時候,他往往會回答你:「怎麼寫呀?我不會。」你不會寫可以不怪你,你不去學,反而理直氣壯地說不會,則是你的不對了。
難道那些會寫文檔的人都是「獃子」嗎?難道他們不懂幹活辛苦的道理嗎?當一個男子向一個自己喜歡的女子示愛,需要用情書來表白的時候,難道他不會寫情書嗎?即使他不會寫,他也一定會克服千難萬險把情書寫出來的,這是他的主觀使然。如果程序員主觀上想寫文檔,怎麼會怕煩?怎麼會怕沒空?怎麼會怕文檔沒有用?怎麼會怕不會寫?這些怕其實都是借口。
真正優秀的程序員應該不單是編程的高手,同時也應該是寫文檔的高手。程序員真正不喜歡寫文檔的原因是:文檔是給別人看的,不是給自己看的。
如果要使程序員喜歡寫文檔,那就要提高程序員的意識和境界,或者要給寫文檔的程序員以獎勵。而靠制度、管理讓程序員去寫文檔只能是一種職業上的弊端。
當有一天寫文檔也成為一個專業化的崗位,程序員和文檔人員分開時,程序員就會一心一意看文檔寫代碼,文檔員就會以此為職業,一心一意寫文檔拿工資。我們將不再為此進行討論。
這種分工一定是未來的趨勢。一些大的公司或管理規范的公司都已經有這樣的分工了。
只是很多中小軟體公司或企事業單位里的IT部門還沒有專業化到如此程度。程序員不喜歡寫文檔也許說明他們不願意承擔太多的角色吧。
不管怎麼說,作為一個程序員(尤其想成為優秀程序員)一定要學會寫文檔,一定要學會欣賞文檔。無論你是否喜歡,你都應該可以在文檔的各種問題面前可進可退。
可以這樣說,那些既不會寫文檔,又不會欣賞文檔的程序員是沒有資格說「我就不喜歡寫文檔」這種話的。
我就是文檔工程師。就技術要求上說
1.需要你對文字的表達能力,畢竟多是要你自己「寫」文檔,而且針對對象不同,表達的方式不同。寫作技巧,文字細節等,需要揣摩。主要是簡介明了,准確易懂,有針對,不羅嗦。
2.需要你能比較熟練操作MS 工具,主要是word,寫文檔主要靠這個,其次還有excel和PPT,較之word少。不是說非要精通,很多東西都是在實際工作中慢慢學來的。
3.需要你對公司產品有個了解,比如產品系統架構,主要的工作流程,各個組件的功能和原理。由於寫文檔很直接跟這些相關,所以要盡快掌握。
4.要不斷自我學習。雖然文檔工程師不像,研發和測試工程師那麼累,但是也要不斷學習。學習英語,因為可能需要翻譯。學習IT行業的一些基本知識,買幾本書,手頭翻翻。學習產品相關的軟體使用,比如Linux指令等。如果涉及程序代碼的,就要學習那些編程語言了,不過也只是架構上的,不需要你看懂每一行語句。
差不多就這些了。任何職業都要有自己的能力和興趣的融入,才能工作開心,生活開心。祝你好運
第一種是先把自己的文存在word文檔里 在相應的貼吧發文
例如 言情小說 可以在言情小說吧里發文 不過這種一般都是寫的好玩的
第二種是在小說網上
比較好的就是 小說閱讀網 起點 晉江
如果是校園的小說的話 可以去聚星 不過聚星很卡
如果文筆比較淡 比較成熟的話 可以去花火
不過這種方法一般要通過審核才可以發表 第一種可以自己發表
第二種方式比較考文筆
如果ll不想審核的話 可以去貼吧發 不過吧友的回復也是一種審核吧
第二種如果文筆比較拖沓的話 就很容易功虧一簣了 可能寫了一大堆 但通不過審核╮(╯▽╰)╭
但這兩種都最好要把文文存在word文檔里 雖然小說網一般可以作家存稿 但還是文檔里保險一些
網路工程師每個公司和任職要求不一樣,一般分為初級、中級和高級,初級任職要求相對較低,任職要求一般為: 計算機及相關專業大專以上學歷; 熟悉相關系統;熟悉網路協議,對網路有一定了解;具有一定的英語閱讀能力和英語基礎; 了解相關伺服器。
中級和高級要求工作經驗兩年以上,任職要求也較高具備網路維護或相關工作經驗,掌握各種網路環境搭建(LAN/WAN),具備較強的技術基礎;掌握數據網路基礎知識;具備較強的網路維護和故障處理能力,熟悉網路測試工具;熟悉網路安全、主機安全相關知識,能熟練配置主流的防火牆,等等,不過每個公司的職位要求還得視該公司具體職位要求為准。
其中的原因很多,我自己歸納了幾點:1.怕煩程序員從入門之日起,就在心裡埋藏了一顆編程的種子,認為程序員就是編程序的,就是和計算機打交道的,程序就是程序員的全部。
無論是在編程之前寫文檔,還是在編程之後寫文檔。他們都認為寫文檔很煩人。
1)文檔種類太多。越正規越多。
一想到要寫那麼多的文檔,程序員的頭都要大了。2)文檔寫作要求不低。
有格式要求、內容要求,還需要畫各種流程圖、示意圖、關系圖、界面圖和填寫各種表格說明,以及要收集各種資料。雖然沒有技術含量,但是要花的時間比編程序多,而且也不一定能寫好。
3)在正規的開發公司中一般一個變更就要編寫一系列的變更文檔。當不斷變更時,只有最後的變更文檔是最重要的。
當我們不知道當前是不是最後一個文檔時,我們就不願意寫可能被後面的文檔替代的文檔。4)當寫了文檔之後,就會不斷有使用文檔的人來詢問細節,這些詢問往往會讓人崩潰。
這是因為很難寫出讓每個人都提不出問題的文檔。2.沒空在很多情況下,程序員都處於一種「時間緊、任務重」狀態。
在急於得出編程結果的驅使下,程序員一心撲在編程上,恨不得一分鍾一個變化,哪有心思和時間先把文檔寫好再去編程呢?即使他們擁有先把程序編出來,然後再補寫文檔的想法,但是一旦他們完成一段程序之後,就會立即撲向第二段程序。如此下來,編寫文檔只能放在項目開發的後期了。
你要是真的寫文檔,那寫文檔的時間早已將編程時間給擠佔了,你的編程工作就完不成了。3.沒有用文檔的重要性其實對不同對象是不一樣的。
如果你說文檔沒有用,立即會有人用唾沫把你淹死,他們立即會搬出哪個哪個說文檔是重要的,文檔是不可缺的。唯獨不敢說「我自己認為文檔是重要的」。
這也反過來說明文檔的有用性程度對不同人是不一樣的。對於程序員來說,只要能把程序編出來就行了。
很多程序員不寫文檔照樣編出程序來,在他們的觀念中文檔不寫也罷。如果按文檔編程序,那就要確保文檔的正確性、不可更改性。
而實際上,文檔不如編程快,編程不如變化快,不斷變化的需求和代碼讓文檔如同一張過時的廢紙一樣。在現實中,有的文檔變成了項目開發後的總結,對開發本身並不起作用,只是保留一個存在的形式,以應付各種各樣規范的需要。
在這種情況下,文檔沒有任何實用價值,所以即使程序員寫了,也沒有什麼作用。尤其是項目投產後,幾經升級,最初的文檔早已和現實的情況對不上號了,文檔更新和系統的一致性更是難於控制。
4.沒好處既然認為編程序才是正道,那麼程序員寫文檔就是一種額外和輔助的工作,做了就做了,對於程序員來說沒有任何好處。當然,文檔的好處更多地體現在軟體公司、單位、軟體用戶、後續程序員身上,它是一種「前人栽樹,後人乘涼」的好事。
所以程序員不願意寫文檔。文檔有多麼重要呢?有人把它上升到「程序員頭腦的拷貝」的高度,有的人甚至說,程序員走了後,只要有了文檔,軟體公司可以再招新人,公司照樣運轉起來。
如此說來,天性聰明的程序員會把文檔寫得清清楚楚嗎?5.不會寫從寫作本身來看,寫好一篇文檔不是一件容易的事。文檔有文檔的格式和寫作要求。
現在的人只喜歡動嘴說事,沒有多少人在平時會動筆寫字,更不用說寫文章了。所以,寫文檔從理論上來說也是需要學習和訓練的,需要在平時進行寫作積累。
當要求一些程序員寫文檔的時候,他往往會回答你:「怎麼寫呀?我不會。」你不會寫可以不怪你,你不去學,反而理直氣壯地說不會,則是你的不對了。
難道那些會寫文檔的人都是「獃子」嗎?難道他們不懂幹活辛苦的道理嗎?當一個男子向一個自己喜歡的女子示愛,需要用情書來表白的時候,難道他不會寫情書嗎?即使他不會寫,他也一定會克服千難萬險把情書寫出來的,這是他的主觀使然。如果程序員主觀上想寫文檔,怎麼會怕煩?怎麼會怕沒空?怎麼會怕文檔沒有用?怎麼會怕不會寫?這些怕其實都是借口。
真正優秀的程序員應該不單是編程的高手,同時也應該是寫文檔的高手。程序員真正不喜歡寫文檔的原因是:文檔是給別人看的,不是給自己看的。
如果要使程序員喜歡寫文檔,那就要提高程序員的意識和境界,或者要給寫文檔的程序員以獎勵。而靠制度、管理讓程序員去寫文檔只能是一種職業上的弊端。
當有一天寫文檔也成為一個專業化的崗位,程序員和文檔人員分開時,程序員就會一心一意看文檔寫代碼,文檔員就會以此為職業,一心一意寫文檔拿工資。我們將不再為此進行討論。
這種分工一定是未來的趨勢。一些大的公司或管理規范的公司都已經有這樣的分工了。
只是很多中小軟體公司或企事業單位里的IT部門還沒有專業化到如此程度。程序員不喜歡寫文檔也許說明他們不願意承擔太多的角色吧。
不管怎麼說,作為一個程序員(尤其想成為優秀程序員)一定要學會寫文檔,一定要學會欣賞文檔。無論你是否喜歡,你都應該可以在文檔的各種問題面前可進可退。
可以這樣說,那些既不會寫文檔,又不會欣賞文檔的程序員是沒有資格說「我就不喜歡寫文檔」這種話的。
一般來說,產品文檔分為產品需求文檔和產品使用文檔兩種。產品需求文檔主要面向的是產品的開發、設計者,期望是產品的實際開發人員了解產品的細節,讓開發完成的產品達到前期設計需求的預期;產品使用文檔面向的主要是使用者,使其通過產品文檔掌握產品的功能使用,也就是我們常說的產品使用幫助;如果不搞清楚文檔面向的對象,往往寫出來達不到預想的效果。類似這樣專業的文檔文案,其實是有一定共通性的;掌握這類文案的寫作技巧,尤其對我們IT從業人員來說,是一項非常不錯的技能。筆者從業這兩年,跟此類文檔打過不少交道,在這里跟各位分享一些經驗。
1、對象要清楚
開篇就提到了,清楚文檔面向的對象的重要性。對於不同的對象,必須使用不同的寫作思路來對待,盡可能的站在對方的角度去思考。他需要看到什麼?什麼內容對他有用?我如何闡述給他?對於產品設計人員,他所需要了解的是產品的樣式、界面、交互等情況,對於實際編碼人員,他則偏重於產品的可實現性,你的內容則需要偏注產品的功能細節和內部處理。所以,文檔面向的對象決定了文檔的功能和內容。確定文檔面向的對象才能做到有的放矢。
2、條理要清晰
文檔的條理清晰不僅讓你的文檔看起來比較順暢,更讓閱讀者能夠很清楚的理解。所以,下筆之前就應當知道自己的文檔內容大致分為哪幾個大的模塊、模塊下又細分了多少個子模塊,然後在大綱的基礎上,再進行詳細的內容填充。筆者之前的經驗,往往在文檔下筆之前認真思考了好幾天,總希望在下筆之前就希望把所有的問題都想清楚。這對於寫作者來說,是一件不好的舉動。其實,東西在腦子里轉悠,不如在紙上來的直觀。大綱列出來之後,然後再來反復的添加、修改,比你按筆不動要來的有效率得多。對於寫作來說,最難的也是開始。
3、邏輯要嚴謹
產品類的文檔不同於平常我們書寫的文檔類型。對於內容敘述的嚴謹性要求非常嚴格。因為你的文檔不單單是一個你對這個項目、產品的理解,它更是需要做為一個協作的載體讓其他的同事同時使用,更可能成為其他同事工作方向的指引。因此,嚴謹是必須的。所以,在滿足了文檔條理清楚的前提下,仔細斟酌、思考文檔可能會出現歧義、漏缺的部分,反復修改文檔成為了一項必須的工作。在大家協調工作的背景下,你一個人不可能將所有的問題都考慮清楚。所以往往出現同事指出你文檔中存在的毛病和漏洞。但是你還是應當在前期多做一些考慮,將問題盡量減少。
4、用詞要專業
專業的用詞不當可以幫助你提升文檔的專業度,更可以幫助你提升效率,減少重復和不必要的溝通成本。既然是行業那就需要行業標准,使用專業的行業術語是一種職業化的表現,這樣既可以很快和同事達成共識,又讓別人覺得你很專業。我想,同事之前這樣的協作才是有效率的。當然,對於新手來說,如何掌握專業的用詞,這就需要平時多看多讀了。多了解小眾的博客,多認識一些前輩和朋友,無論是對寫作還是對工作的認識,都是很有幫助的。
5、格式要規范
對於一個IT行業從業人員來講,規范化、流程化的工作模式是非常重要的。對於需要經他人手的文檔、或者需要進行存檔的文檔來說,格式的規范與否是一個衡量你專業化程度高低的重要衡量標准。當然,說到這個規范,你在第一次寫作之前就應該了解這個規范是一個什麼樣的規范。是行業規范?還是公司內部的規范?這取決於你所在公司或所從事項目的情況。對於大公司,你所要做的就是找之前前輩們寫過的同類文檔進行拜讀,了解這些規范。對於小公司或者新創的項目,之前沒有過同類產品文檔的情況。你所要做的就是沿用標准規范再加上項目特點,盡可能細致的書寫。相信,經過你的努力的,你寫的文檔將會成為該類文檔的案例,成為規范。
其實無論是產品需求文檔(PRD)、產品策劃書還是商業計劃書,其實都是需要我們下功夫仔細研究的。畢竟中國互聯網發展才十幾年,很多細節都還不是很專業。對於一個會思考的互聯網人,武裝自己的頭腦,豐富自己的技能才能找到更好的職業發展。
⑩ 程序員吐槽:好多在阿里混不下去的去小公司當領導,只BB不幹活!
公司其實就像一個江湖,能力有高有低,因此很容易造成彼此看不起的現象。有小公司的程序員就在網路上吐槽,稱其公司來了阿里前員工,感覺就是個渣渣,天天只動嘴不幹活,能力也不見得高到哪裡去。
如下就是這名程序員吐槽的詳細內容。
其稱:發現好多在阿里混不下去被踢出來的,去了各種小公司蹭著阿里的名頭混個領導當當,搞事情,就是不幹活。天天滿嘴大數據,協同過濾的,然後招幾個開發幹活,自己啥也不幹,你們身邊有這種渣渣嗎?
這名程序員吐槽的點在於阿里混不下去去小公司不專心做事情,成天想著如何搞事情,滿嘴跑火車,最後招幾個幹活。對於樓主的吐槽,有網友稱自己也很想這樣的說活:去哪裡混,我也想去。
我也是一名從事了6年java開發的全棧工程師,花了近一個月整理了一份較適合18年學習的java干貨,送給每一位學習java小夥伴, 加QQ群領取:818464711
不過也有網友稱混也是一種本事:你有本事也許進阿里磨煉幾年,然後出來當個小領導啊,人家在這個位置,不一定是能力問題,也許是你看不到它的能力。
按照另外一些網友的說法,能進去阿里的肯定是有一定本事的,不然阿里也不會錄用,其從阿里跳槽出來去小公司當領導也是出於職位上升的緣故,當領導一般不會親自動手幹活的,主要就是大體方向上的指引。
還有標簽為阿里的員工站出來稱:有,我本人就是,居然一年了沒被戳穿,離職還各種挽留。不過從其描述來看,應該是自嘲的口吻。