鄙視像條食物鏈,無處不在。
工作篇
B. PHP跟java哪個找工作更容易
我做JAVA開發的。我有朋友做PHP的,說句心裡話,不建議你在這個年紀轉行做開發,你可以轉行做別的,但是軟體開發真的別來,一個是你的年紀偏大,另一個是你的基礎應該不會很好。千萬別聽那些培訓機構忽悠。我是大學已畢業就做的java,三年了,現在工資1W1,北京,我做的這幾年遇到很多被培訓機構忽悠的半路出家的人,真的是浪費錢,關鍵是浪費時間,java這個行業不缺低端程序員,可以這么說,如果你基礎不好,去培訓機構然後再找工作,除非你學的特別特別好,而且會忽悠,第一份工作能有7000塊錢,基本上普通的也就5000多點,在北京。而且頭一年你會相當痛苦,因為首先你要適應項目節奏,再次你會不斷的被各種BUG,各種加班。真的是青春飯。另外,說一句,培訓機構太忽悠,那些培訓的老師大多是開發人員轉行,試問一下:要是開發像他們說的那麼好,他們為什麼專業做培訓呢
看到最近還有人贊我幾年前的回答,就再補充一下,現在還在從事java研發,6個年頭了,想說的是,真的不建議沒有基礎的人去培訓機構培訓,然後轉行,尤其是年紀稍大的,因為目前整個行業初級工程師已經飽和了,根本不缺。在好的公司,高級工程師又各種卡學歷,卡行業背景,甚至年紀都有一定要求。舉個我自己的例子,目前在一家算是有點名氣的公司,公司社招,只要top150學校,5年工作經驗以上的高級研發(業務方向必須要求金融背景),雖然沒有明面上說卡年紀,但是35歲以上的還沒有轉研發管理層,繼續應聘研發崗位的一律不要。校招只招top100學校的科班出身。當然研發工資待遇確實比其他行業要高,目前我的月薪20K+項目獎+補助,但是每天都要加班到晚上9點多,項目緊時要到11點以後,周末也經常要加班,工作強度很大。真的是很累很累。或許有人說做到管理層就好了,其實也好不到哪裡去,我目前也在轉管理,帶一個團隊,但是,一樣加班,一樣累,經常晚上加班回家以後,想轉行,可是除了敲代碼,啥都不會了。女怕嫁錯郎,男怕入錯行。就業方向一定要謹慎,千萬別聽那些培訓機構的忽悠。另外說PHP,不是說鄙視PHP,現在就業行情,整個大環境都不好,包括java,但是PHP,安卓,IOS還要差一些,我之前說的朋友做了五六年PHP,去年開始轉JAVA
C. 我是個沒涉及過編程的人,我想學習編程,難嗎
肯定不簡單。告訴你點我的體驗。
上學時,學過兩個編程vb、8086系列的匯編。計算機基礎,學過windows操作系統最基本的用法,學過網路,學過數據結構與演算法。這些就是到畢業接觸過的所有計算機知識。截止畢業vb寫不出一個計算器程序,匯編連個交通信號燈的程序都未調試出來。網路基礎未及格,補考了一次上學後兩年+上班的三年我都喜歡玩游戲。對網吧電腦做些破壞行動(刪文件、找個小黑客軟體分析怎麼侵入游戲伺服器)。這期間不會寫什麼代碼。但是額外看了java基礎。因為家裡沒電腦也懶,編程一直沒學會。
編程因為玩游戲太多,找不到工作,隨便去了個公司做技術支持,其實就是混日子。我看別人寫代碼,我是很喜歡。用辦公室電腦也練習過一段時間,寫實用代碼沒人教,項目經理操蛋貨問到寫代碼的一些技巧死都不願意說。
抵不住熱愛。第二份工作,自己學著做一些功能,被客戶鄙視過N次。鑽地縫的心都有了。第三份工作我認識我現在的領導,他剛好在招人,第二份工作做固件的工程施工方面的工作+維護。不願意做,讓現在的領導給招過來。專職寫程序。頭兩年,什麼狗屁不會,想到哪寫到哪。被領導,客服又鄙視過n次。其間剛好碰上行業不景氣。事情少,花了大量的時間學習。同事一來出差,就被我拉著邊喝酒邊問技術。公司某段時間要用java寫介面,sametime。哪個痛苦,半年多做不出一個東西來。又被鄙視了很長時間。我都不知道是怎麼厚著臉皮堅持下來的。很多知識無從問人,公司就沒人懂。懂的人也不願意教我。就這樣忍受著。磨蹭,第三個年頭混完的時候,出過很多事故。被鄙視了n次後,終於慢慢可以獨立做出東西。
本來到此也就差不多了,我也 不想多學,能混一天算一天,此時我已經30歲(編程3年,除寫點簡單java、domino的lotusscript,網頁、js、css別的不會),還掛著個高級工程師的頭銜丟人。某次同學婚禮受到刺激(人掙到的錢遠遠比我多),剛好碰上一個很厲害的同事,給我指導了一些方法。系統的自學會了java,因為想換工作同時學會了C/C++,因為自己能力還是有限,著時期寫的代碼還沒有注入我的靈魂。到此也僅僅是基礎,學完這些東西,花掉2年時間,32歲。並且我發現很多東西還是不會。
這時期,我發現網路、操作系統、硬體、io等等這些概念,基本就是個白痴。於是又開始沒日沒夜的學。這段時期設計的系統寫的程序,已經有質的改變,不會再有其他同事的影子。甚至我都可以教其他同事怎麼樣才能把代碼寫好。33歲我做到了不頂軟體高級工程師這個虛銜。也就是32-33這一年,我做了很多代碼,腦子也開竅,對編程算是可以完全獨立干。不問人也行。直至現在,java,lotusscript,js,css,html,xml,c鍛煉得爐火純清。基本上也駕馭得住軟體架構設計,系統架構設計。想讓它怎麼跑它就怎麼跑。後來學的swift、objective-c,了解過的php、python、unix系統上的shell腳本就很簡單,因為開竅了嘛。對業務理解也能做到熟能生巧,當初我拿別人的代碼做模版寫。現在我寫的代碼可以給別人做模版照著寫。
做開發7年多我自己的定位,軟體高級工程師綽綽有餘。軟體架構方面,快接近高級軟體架構師。系統架構還處於中級階段。做到我想離職老闆就是想著辦法讓我留在公司。哪怕有些東西遷就我都行。
但這個過程,絕對是個煎熬的過程。不說加班辛苦,心裡煎熬那才叫難受。如果不是對計算機,對編程有極厚的興趣。建議別走著行。現在這年齡,寫的代碼,設計的系統都很不錯。但也快失業了。長久看不劃算入這行。更何況,這行競爭越來越激烈,學完了沒經驗也未必好找工作。時間倒退回10年前,我絕對不選擇編寫代碼當作職業。
一句話,編寫代碼付出的努力太多,回報是不成比例的。自三十歲開始直徑,一直不停的學習。能推掉的應酬就推掉。至今,我曾經跟老大說過一次,你讓我寫什麼系統都行,對我來說就是時間問題(合理時間)。寫應用代碼對我而言就像吃飯喝水穿衣這么簡單。但是又能如何,如果選對行業。可能同樣的付出,得到的回報會更多。很多人說程序員工資高,騙鬼去。做到頂尖,60W以上的 年薪,最多拿得到三年。不離開不行,沒人要。一個是公司的成本問題、一個是年齡問題
D. 作為程序員的你,常用的軟體有哪些
這個就非常多了,下面我以常見的編程開發軟體和資料庫管理軟體為例,簡單介紹幾種,感興趣的朋友可以嘗試一下:
01 編程開發軟體這個要看具體編程語言了,不同語言開發工具自然不同,這里以常見的C/C++、Java和Python為例,簡單介紹3種比較常用的軟體:
這是Windows平台下一個非常專業的集成開發工具,號稱宇宙第一IDE環境,不僅僅只是C/C++,常見的C#、VB等編程語言,這個軟體都能很好支持,智能補全、代碼高亮、語法檢查等功能非常不錯,除此之外,還支持單元測試、代碼重構和分析等高級功能,因此非常適合大型項目開發和維護:
這是一個非常專業智能的Java開發工具,在企業和個人桌面中,有著非常高的使用率和歡迎度,自動補全、語法提示、代碼高亮等功能非常不錯,除此之外,還支持JUnit、CVS整合、代碼重構等高級功能,自帶有Maven和Gradle構建工具,因此更適合Java項目開發和維護,個人使用起來非常不錯:
這是一個非常專業的Python開發軟體,和IntelliJ IDEA一樣,Jetbrains公司的產品,在業界非常流行、受歡迎,智能補全、代碼高亮、語法提示等功能非常不錯,除此之外,還支持代碼重構和分析、單元測試等高級功能,因此更適合大型項目,個人使用來說,也非常簡單,很容易上手和掌握:
02 資料庫管理軟體
這個就非常多了,不同資料庫都有專門的管理軟體和工具,這里簡單介紹3個比較通用的資料庫管理軟體,分別是HeidiSQL、DBeaver和DataGrip,對於日常使用來說,非常不錯:
這是Windows平台下一個非常輕巧靈活的資料庫管理軟體,基於Delphi開發而來,目前支持MySQL、MariaDB、MSSQL、PostgreSQL等主流資料庫,常見的建庫建表、視圖索引、觸發器等基本功能,這個軟體都能很好兼容,除此之外,還支持SQL腳本導入導出、數據備份恢復等功能,對於日常資料庫管理來說,非常不錯:
這是一個基於Java開發的資料庫管理軟體,免費、開源、跨平台,目前支持Oracle、MySQL、PostgreSQL、SQL Server等十幾種主流資料庫開發,建庫建表、視圖索引、觸發器、存儲過程等基本功能 都 可輕松查看和設計,資料庫導入導出、數據 恢復 備份等功能也都非常不錯,對於日常資料庫管理和維護來說,是一個非常不錯的工具:
這也是一個通用的資料庫管理軟體,Jetbrains公司的產品,支持跨平台,但原則上針對個人不免費,常見的PostgreSQL、MySQL、Oracle等資料庫,這個軟體都能很好支持, 數據導入導出( 恢復備份 )、 智能代碼填充、版本 集成 控制等功能非常不錯,對於日常資料庫管理來說,也是一個不錯的工具:
每天常用開發工具:
0.Git:分布式版本控制系統;
1.IntelliJ IDEA:java語言開發的集成環境,IntelliJ在業界被公認為最好的java開發工具之一;
2.Sublime Text:不只是代碼編輯器;
3.Postman:Http請求模擬工具和功能強大的網頁調試工具;
4.DataGrip:支持幾乎所有主流的關系資料庫、多功能的資料庫操作工具;
5.Vagrant:用於創建和部署虛擬化開發環境,配合虛擬機使用;
6.Gradle:自動化構建工具;
7.JIRA:項目與事務跟蹤工具;
8.iTerm2:Mac上的終端工具;
9.Jenkins:持續集成工具。
做了一個寫代碼用了十幾年的人,很多編程的習慣已經養成了,現在就羅列下每天必用的軟體:
直接安裝的linux系統,因為幾乎所有的代碼都是在linux下完成
不同的開發語言,每天要用到的軟體可能不一樣。
我是開發java web的,電腦安裝了很多工具,但是說每天要用到的好像就幾個。
作為程序員使用最多的軟體,莫過於編程開發所用到的軟體編輯器,但是編輯器的種類有很多。我們需要做到的是,找到你最喜歡的編輯器然後熟練的使用它。
同時掌握常見的一些快捷鍵的操作方式,從而來提升我們的工作效率,而不是以軟體而論軟體,什麼都去接觸使用。畢竟軟體是工具是幫助我們提升開發效率。
下面我就列舉我們PHP經常使用的軟體
IDE工具類軟體這一類是開發軟體編寫代碼用的。這一類的軟體非常多,我就推薦一個經常使用的PHPStorm,因為太多的話大家也用不到,也沒有那麼多的精力去熟練每一個編輯器。
PHPStorm是 JetBrains 公司開發的一款商業的 PHP 集成開發工具,旨在提高用戶效率,可深刻理解用戶的編碼,提供智能代碼補全,快速導航以及即時錯誤檢查。可以說是PHP開發程序員必備的神器。
常用快捷鍵如下:
1.復制快捷方式
F5 復制文件/文件夾
CTRL+C 復制
CTRL+V 粘貼
CTRL+X 剪 切,刪除行
CTRL+D 復制行
CTRL+SHIFT+V 可以復制多個文本
2.自動代碼
ALT+回車 導入包,自動修正
CTRL+ALT+L 格式化代
碼CTRL+ALT+I 自動縮進
CTRL+ALT+O 優化導入的類和包
CTRL+SHIFT+SPACE 切換窗口
CTRL+SPACE空格 代碼自動完成,代碼提示,一般與輸入法沖突
CTRL+ALT+SPACE 類 名或介面名提示(與系統沖突)
CTRL+P 方法參數提示,顯示默認參數
CTRL+J 自動代碼提示,自動補全
CTRL+ALT+T 把選中的代碼放在 TRY{} IF{} ELSE{} 里ALT+INSERT 生成代碼(如GET,SET方法,構造函數等)
3.運行
Alt + Shift + F10 選擇的配置和運行
Alt + Shift + F9 選擇配置和調試
Shift + F10 運行
Shift + F9調試
Ctrl + Shift + F10運行范圍內配置編輯器
Ctrl + Shift + X運行命令行
4.其他快捷方式
CTRL+Z 倒退(代碼後悔)
CTRL+SHIFT+Z 向前
CTRL+H 顯 示類結構圖
Ctrl +F12 文件結構彈出
CTRL+O 魔術方法
CTRL+/ 注釋//取消注釋
CTRL+SHIFT+/ 注釋/*...*/
ctrl + '.': 折疊選中的代碼的代碼
ALT+ / 切換代碼視圖,標簽切換
5.其他快捷方式
CTRL+Z 倒退(代碼後悔)
CTRL+SHIFT+Z 向前
CTRL+H 顯 示類結構圖
Ctrl +F12 文件結構彈出
CTRL+O 魔術方法CTRL+/ 注釋//取消注釋
CTRL+SHIFT+/ 注釋/*...*/
ctrl + '.': 折疊選中的代碼的代碼
ALT+ / 切換代碼視圖,
資料庫相關常用的工具 Navicat for MySQL是管理資料庫的操作工具,都是可以連接遠程的雲資料庫。方便簡化開發,還可以手動備份、可視化的sql分析。
常用快捷鍵:
ctrl+q 打開查詢窗口
ctrl+/ 注釋sql語句
ctrl+shift +/ 解除注釋
ctrl+r 運行查詢窗口的sql語句
ctrl+shift+r 只運行選中的sql語句
F6 打開一個mysql命令行窗口
ctrl+d (1):查看錶結構詳情,包括索引 觸發器,存儲過程,外鍵,唯一鍵;(2):復制一行
ctrl+l 刪除一行
ctrl+n 打開一個新的查詢窗口
ctrl+w 關閉一個查詢窗口
ctrl+tab 多窗口切換
伺服器連接軟體XShell6是非常強大的SSH遠程終端客戶端,幫助我們連接遠程的Linux伺服器來進行操作。
粘貼:Shift+Insert
歷史 命令編輯ctrl + p 返回上一次輸入命令字元
alt + > 返回上一次執行命令
其它
ctrl + s 鎖住終端
ctrl + q 解鎖終端
ctrl + l 清屏相當於命令clear
Tab鍵,快速補全命令
輕量級文本編輯器Notepad++。這個很輕量,打開一下文本非常的方便。
常用快捷鍵
Ctrl+C 復制
Ctrl+X 剪切
Ctrl+V 粘貼
Ctrl+Z 撤消
Ctrl+Y 恢復
Ctrl+A 全選
Ctrl+F 鍵查找對話框啟動
Ctrl+H 查找/替換對話框
Ctrl+D 復制並粘貼當行
Ctrl+F2 切換書簽
F2 轉到下一個書簽Shift+F2 轉到上一個書簽
F11 全屏模式
前端 :
visual studio code
後端:
pycharm
IDEA
安卓:
android studio
瀏覽器:
谷歌
火狐
資料庫管理:
navicat
遠端鏈接:
fileZilla
xshell
electerm(mac上使用)
流程圖設計:
xmind
processOn
筆記:
為知筆記(付費一年60)
有道雲筆記
虛擬機(容器)
VMware Fusion(mac上)
docker
其他:
postman
jmeter
作為一個12年開發經驗的前端程序員,我來聊聊每天必用的幾個軟體。
寫代碼自然離不開 編輯器 。目前我主要使用的是微軟的 Visual Studio Code 。VS Code比較輕量,功能足夠應付日常開發所需,跨平台,而且完全免費 。因為之前長期使用Visual Studio在Windows平台上做開發,後來技術棧變化,經常需要在Linux和MacOS上做開發,VS Code就成了我順理成章的選擇。後來乾脆在Windows上也用VS Code了。目前整個團隊都已經被VS Code圈粉了。其它類似的如Sublime Text(需要付費)和Atom也有不少人使用。
因為是團隊開發, 源代碼管理工具 自然必不可少,而 git 是目前最熱門的一個。我們公司也不例外,幾年前從Perforce遷移到了 GitHub企業版 (和公眾版本UI完全相同)。平時的代碼審查也都是在GitHub企業版上完成的,不再使用單獨的代碼審查工具。有些不習慣使用命令行方式的同事使用 SourceTree 完成日常的代碼分支管理和提交,而我則比較熱衷於命令行方式。VS Code也提供了比較完善的git集成,但因為習慣的原因,除了直觀比較不同代碼版本的差異,我一般也不用VS Code執行git操作。
作為一個Web前端, 瀏覽器及前端調試工具 自然不可或缺, Google Chrome + Developer Tools (F12) 自然是首選。使用Developer Tools,可以對JavaScript進行調試,監控HTTP請求/響應,分析CSS計算問題和JS性能問題。 Chrome下還有很多功能強大的插件,個人比較常用的包括React Developer Tools、PostMan、Proxy SwitchOmega和AdBlock。當然,因為經常面對瀏覽器兼容性問題,Firefox、IE、Edge、Apple Safari以及各自的Developer Tools都是免不了要用的。
團隊目前使用Scrum模型,自然需要一個做 任務規劃和質量管理 的工具。我們採用了 JIRA , 每天的站會(daily stanp meeting)都會對scrum看板(board)進行更新。
遇到技術問題,自然免不了要上網查找資料。 Google 的使用頻率非常高(需要科學上網)。大部分問題都能在 StackOveflow 上找到線索,但有時候也不得不跑到大名鼎鼎的同性交友網站 GitHub 上看源碼。 MDN (Mozilla Developer Network)對於前端開發也是不可或缺(此處鄙視一下w3cschool,上面到處是錯誤知識)。
其它如node.js/npm、docker等,因為和具體的技術棧相關,就不具體展開講了。
作為一個開發人員,你每天使用什麼軟體呢,歡迎說說看。
盡管我是後端出身的,不過也經常寫前端代碼,甚至還用C#/C++參與過一些客戶端開發,自認為也算是一個Web全棧工程師。隨著前端技術的不斷進步,現在的前端已經不再是寫寫頁面這么簡單了,很多邏輯在前端就寫了,我建議每一個出色的開發者應該盡可能對前後端都能有不錯的掌握。
今天給大家推薦一些我認為前端和後端開發都需要經常用到的一些軟體,這裡麵包括了查詢資料工具、原型工具、文本編輯器、版本管理工具。
原型工具 不管前端還是後端,尤其是前端程序員,在跟產品經歷溝通之後肯定會要查看原型的,方便自己在開發過程中使用,基本上大公司輸出的原型都比較規范,除非你遇到張小龍這種級別的大神,哥們兒直接盯著你做了。
目前主流的原型工具主要有Axure、MockPlus、墨刀等,其中Axure依然是應用最為廣泛的原型工具,大多數開發者也都應該用來看原型。
文本編輯器 不管是前端還是後端程序員,當然前端程序員就不說了,在WebStorm出現之前,沒有一款真正可以叫做IDE的前端開發工具,那麼基本上文本編輯器就是前端程序員最重要的編程工具。同樣後端程序員即使不需要寫前端代碼,文本編輯器也是必備的,您不需要每次看代碼都打開龐大的集成開發環境,像IDEA這種比較耗費資源的,平時查看代碼啥的完全沒有必要,何況你還經常要看一些前端代碼。
當然你比較習慣Linux/Unix下開發,Emacs/Vim可能是你用得比較多的文本編輯器,還有UltraEdit、Sublime Text、EditPlus、Atom這些老牌的文本編輯器,不過現在我覺得每個程序員都應該下載一個Visual Studio Code,支持的語言比較多,而且插件非常豐富,是微軟官方支持的開發者工具,開源免費而且顏值非常高。
查詢資料、版本管理工具不用多說,每個程序員都要學會很好的使用Google、Stack Overflow兩個工具,可以說你日常開發當中可能遇到的問題,通過這兩個工具你全都能找到解決方案。
另外一個是Dash文檔管理工具,Dash是一個非常好的開發者幫助文檔工具,這個工具的好處是給所有的開發文檔做了一個整合,C/C++、Java、PHP、Python、Latex、Emacs Lisp、Haskell、JavaScript、Go語言等文檔都能夠在這個工具當中下載使用。
最後一個就是版本管理了,SVN和Git依然是目前使用最為廣泛的版本管理工具,不過就使用來說我還是推薦Git版本控制系統,可以說這個時代Git就是最好的版本管理工具了,尤其是開源時代、互聯網時代,Git已經成為了最重要的版本管理工具,不管是命令行管理還是使用Github等客戶端工具,堪稱完美。
入行十一年,現在主要做一些管理和架構方面的工作,也會做一些Coding,主要是一些新技術的研究和「踩坑」。
編輯器首先是EditPlus,這是一個文本編輯器。最常用的兩個功能:正則表達式查詢和文件夾內所有文件內容搜索。
平時經常需要看一些系統日誌,甚至要從好幾天幾十個日誌文件中找到內容,這個軟體很好用。(原諒我們沒有上日誌平台)
然後就是IDE啦,我還是喜歡用Eclipse,有時候會用STS(Spring Tool Suite),它也是一個被包裝過的Eclipse,方便做一些Spring框架的研究。
一個是DbVisualizer,凡是具有JDBC資料庫介面的資料庫都可以管理,什麼資料庫都能連。
還有一個是SQLyog,這是一個快速而簡潔的圖形化管理MYSQL資料庫的工具,我只用裡面一個功能,就是數據的導入導出,效率非常高!
大部分項目只對外提供介面服務,所以介面測試工具少不了,我一般使用SoapUI,WebService/Rest都可以進行測試。
每天肯定會用的肯定不止上面幾個,還有版本控制工具svn和git,都會用到是因為單位svn現在開始往git遷移。
因為用的Scrum敏捷開發流程,所以JIRA、Sonar、Fisheye這些也是都會用到的。
Maven也不用說了,幾個項目基本都是基於Maven構建的。
必用的基本就是這些,只要電腦開著,這幾個軟體基本都是打開狀態。
E. 學習編程好不好
不好學。未來發展十分不錯。
1、編程的課程比較抽象。
編程是依靠計算機進行運算,並最終得到相應結果的過程。需要將解決的問題思路、方法和手段讓計算機能夠根據人的指令一步一步去工作,完成某種特定的任務。這種人和計算體系之間交流的過程就是編程。編程的課程比較抽象,理解起來會有點困難。
2、編程更傾向於實操。
計算機專業的人對編程更有發言權,編程的理論性東西居多,但實際上陣時,全靠實際操作。所以如果沒有老師從旁指導,很難理解為什麼代碼要這樣寫?
3、編程學習需要花費時間。
計算機專業的學生學習編程會稍微輕松一些。但是計算機零基礎的人,建議先買本《計算機組成原理》或者《微機原理》看看,了解下計算機的體系結構。學習一門技術,需要花費長時間的心思和精力。
隨著互聯網和移動互聯網的發展,企業對於程序員的需求量也越來越大。編程的前景還是非常好的。
F. 程序員學哪種語言最好
1 、對普通人而言不建議C或C++
高手請略過,該語言底層,比較難,用的少。但對該語言一直懷有深深的敬意
2 、不建議學習Oracle、Cisco和C#系列
使用的公司少,就業面狹窄。Oracle主要金融、銀行在用,Cisco是路由器技術,用的公司也比較少,C#運行的Window伺服器環境貌似只佔了5%,這些語言並不是說不行,而是使用面狹窄
具體看下不同語言的差異
3、Web前端
web前端是最近才火的一個專業,遙想兩年前,做前端的還是被親切的稱為「前端仔」,從事的是一些切圖、布局、做瀏覽器兼容性等等不是那麼有技術含量的工作,很多公司的前端甚至外包出去,「前端仔」一直生活在程序員鄙視鏈的最底層。
4、服務端開發
如果想學服務端開發,隨便選一門語言即可,無論是Java、PHP還是Python,都是得到廣泛應用。
服務端主要工作包括業務邏輯的開發、數據模型的設計、可能還有中間件的開發、部署上線任務等等。
服務端工程師的發展方向是架構師以及CTO了,需要根據用戶量,產品特徵來設計整個系統的架構。比如現在需要做一個互聯網產品,這個產品的用戶量你需要估計有多大,根據用戶量推算需要多少伺服器,是否要做分布式,前端緩存要不要,用什麼語言開發等等.....這都是架構師或者CTO需要解決的工作。
其實服務端還包括很多內容,比如可能需要開發中間件,還需要部署開發測試環境,自動化測試工具等等,這些都屬於後端工程師的范疇。
5、機器學習工程師(數據科學)
其實市面上對機器學習的理解不對的,機器學習應該屬於數據科學的范疇,可笑的是社會上只是吹噓這個概念,而連基礎的概念都很少有人清楚
6、C/C++
C++能做什麼呢?貌似什麼都能做,又什麼都不能做... 但學習C++對了解計算機體系結構還是非常有作用的,其應用范圍包括操作系統、驅動開發、黑客技術、反編譯軟體破解、外掛開發等等,包括Nodjs、Java虛擬機、資料庫的底層代碼都是用C++來完成,所以如果你立志做一名極客,可能C++還是必須掌握的。但是其比較難,不像其它語言擼幾天就能擼個網站跑起來,C++從入門到應用實在是一件挺困難的事。
7、硬體工程師
偏傳統行業,研發周期長,沒軟體行業迭代快。需要的技能包括C/C++語言、匯編、電子電路、濾波器、arm等等。由於產業鏈條長,迭代慢,缺乏爆發性增長能力,整體收入並沒軟體工程師高。當然,硬體公司一旦成長起來更容易形成行業壟斷力,比如大疆、Intel等等,而且,確實很好玩是不是?