軟體工程師除了寫代碼,還能做什麼工作?

2021-01-11 騰訊網

作者 | Karl Hughes

譯者 | 冬雨

策劃 | 蔡芳芳

很多學過、做過軟體開發的人不想再從事軟體開發工作,這篇文章將向軟體開發人員介紹許多可行的職業道路。我會解釋每一份工作是做什麼的,你可以怎樣跨入這一職業的大門,你已經掌握的開發技能和知識在其中能夠發揮什麼優勢,以及這些工作的長期前景。

本文最初發布於 freeCodeCamp.org,經原作者及網站授權由 InfoQ 中文站翻譯並分享。

在過去的五年裡,我做過幾十次客座演講。大家總會問到這幾個問題:「我接下來應該學哪種語言?」、「如何準備技術面試?」、「你們招人嗎?」

但是當時有一個問題我一直無法給出很好的答案,那就是,「如果我不想當個開發人員去編寫軟體,那麼該何去何從呢?」

最近,我一直在思考這個問題。在帶過近十年的產品和工程團隊後,我意識到自己已經做好了迎接新挑戰的準備,於是今年夏天,我開始進行自由的技術寫作。

當我籤下第一個客戶時,還沒覺得技術寫作可以像許多職業道路一樣成為前軟體工程師的新職業,但沒過多久我就意識到了這確實是可能的。

軟體開發人員還能做什麼?

這一發現令我陷入沉思:「除了寫軟體,軟體工程師還能做什麼?」答案之多令人咋舌。

這篇文章將向軟體開發人員介紹許多可行的職業道路。我會解釋每一份工作是做什麼的,你可以如何邁入這一職業的大門,以及從長遠來看前景如何。

不管你是因為沒有找到合適的軟體工程師工作,還是因為你意識到軟體開發不適合你,正在尋找另一條職業道路,這個指南都會幫你依據自己的能力找到合適的職業。

面向客戶的崗位

人際交往能力是一項軟技能,很多職業都能從中受益,軟體工程師也不例外。但有很多軟體工程師並不甘於此,我採訪過的一些人不希望整天靜靜地坐在那裡寫代碼。如果你希望你的職業道路有更多的機會與人交流,可能以下工作會適合你。

開發者關係,宣傳,或傳道

現在越來越多的公司在努力建立與開發人員的關係,開發人員就是他們的客戶、用戶或擁護者,開發者關係領域也因之迅速發展。

開發者關係專家(一些公司稱他們為開發人員提倡者、開發人員傳道者、社區經理或「DevRels」)負責幫助建立一個以公司軟體為中心的社區。

他們經常參與開發應用程式 Demo、撰寫博客文章、在會議上發言,以及管理科技公司的社交媒體帳戶。許多知名科技公司(如 Facebook、谷歌、亞馬遜等)都聘請了開發者關係專家團隊。

如果你對這個領域感興趣,可以了解一下 Mary Thengvall 和 PJ Hagerty 現在正在做什麼。他們是這個領域中我最喜歡的兩個人,具有很高的影響力,一起推出了社區脈搏播客。

開發者營銷

雖然這一工作與開發者關係有一些重疊,但相比而言開發者營銷更側重於對外。

針對開發者進行營銷特別棘手,因為我們不喜歡人家給我們「賣」東西,所以許多較激進的營銷策略在其他市場或許有效,但在這裡卻成了禁忌。作為一個有技術背景的人,你自然更理解開發人員的思維方式,會比傳統的營銷人員有更大的優勢。

SlashData 發布了很多關於開發者營銷的內容,包括在 2018 年就這一主題出版的一本書。如果你想在這個領域起步,可以學習一下網絡營銷:SEO、社交媒體、內容營銷、影響者營銷,等等。你可以在你的博客上練習這些技能,在應聘崗位之前先把自己的能力展示出來。

銷售工程師

許多工程師對任何標有「銷售」字樣的工作都不感興趣,但那只是因為我們遇到過的都是些糟糕的銷售人員。

其實,每個人都在做銷售。無論你是在面試過程中身為求職者「推銷」自己,還是鼓吹你的工程團隊採用的新框架,這些都是在做銷售。銷售,就是用恰當的解決方案去滿足客戶的需求。

在一定程度上,擁有一些技術專長的銷售工程師會很獨特。對於那些不想整天寫代碼但又了解軟體工程的開發人員來說,這是一個很不錯的選擇。

從事銷售的另一個好處是你不需要任何專業認證。Hubspot 做了一份很不錯的簡介,裡面介紹了一些技能和資源,你可以據此進行入門學習。由于越來越多的公司在圍繞工程師開發軟體工具和服務,使銷售工程師在未來十年可能會變得更加搶手。

技術招聘

還有一份職業在軟體工程師中的口碑也不太好,那就是技術招聘。

我遇到過一些誠實、真誠的技術招聘人員(例如,來自我的家鄉芝加哥的 Taylor Dorsett 和 Matt Hoffman),但我也遇到過一些糟糕、無知的招聘人員,他們只是專注於為完成指標而去篩選候選人。

好消息是,具備軟體開發背景的你,會比其他技術招聘人員更有同理心和可信度。和銷售一樣,這個行業需要更外向、注重人際關係的個性,而不需要專門的證書或課程。

壞消息是,許多技術招聘的入門級職位都是在一些低端公司,所以在求職之前一定要先在網上查查他們的聲譽。

面向產品的崗位

如果你想繼續留在產品團隊,但又不確定是否想成為一名軟體開發人員,那麼也有許多領域可以考慮。這些角色在工作中需要與工程師緊密協作,所以你的編碼知識會有所幫助,但這些崗位也需要具備一些其他的專業知識。

質量保證或測試工程師

雖然質量保證和測試工程師之間存在著細微的差別,但他們的共同點都是在軟體上線之前從事測試工作。

如果你眼尖心細,喜歡想些創造性的方法來自動化重複的工作,這可能是一條很好的職業道路。它可能需要一些編碼以及一些手工測試工作。

規模較小的公司一般會讓他們的軟體工程師彼此之間互測,所以基本上都是在大公司中才能見到專門的測試和 QA 崗位。公司進行測試的方式有很大的差異,所以一定要問問他們使用的工具,他們的測試的自動化程度,以及你的崗位需要做多少手工測試和自動化測試。

業務分析師

產品開發生命周期的另一個端點是業務分析師。它們通常充當業務團隊和技術團隊之間的橋梁,以確保需求、限制和時間安排得到充分理解。取決於團隊的結構,他們還有可能參與一些測試和質量保證,因此他們需要具備豐富的產品知識。

如果你具有業務、產品開發或設計方面的背景和一些編碼技能,你就可以勝任初級業務分析師的角色。如果還不具備這些條件,我建議你去找一些在線課程來幫助你對這個角色有一個大概的了解,知道它的崗位基本需求是什麼。

項目經理

與業務分析師一樣,項目經理必須了解產品的業務需求和技術約束。

它們的關鍵區別在於,項目經理通常會深入參與到某個項目中。他們經常為該項目的團隊定義任務和資源,在項目臨近發布日期時跟蹤項目的進展。

較小的公司可能會以各種方式合併業務分析師、項目經理、Scrum Master 和產品經理的角色,而較大的公司可能會單獨定義各自的崗位職責。

作為一名項目經理,優秀的組織能力、對業務的理解和人際交往能力是其取得成功的關鍵。在這個職位上,要具備管理期望的能力,並且,能夠激勵那些可能比你更資深或更有經驗的人,所以你必須與他們迅速建立起彼此信任的關係。這個角色的多面性使得它非常適合那些不想再寫代碼的分析型、技術型人員。

Scrum Master

在敏捷團隊中,Scrum Master 幫助確保每個人都了解並認同 Scrum 理論、最佳實踐和規則。

看起來這很像是項目管理,但需要特別注意的是,它是為其他構建產品的團隊提供服務的。與上述很多角色一樣,這個崗位不一定總是只負責這些工作,可能還要肩負其他的職責,但在較大的組織中,可能會設有專崗。

管理期望和約束的能力對能否成為一名成功的 Scrum 管理員至關重要。你還需要了解敏捷的最佳實踐,因此我建議你就這一主題找一些合適你自己的課程或書籍。在各種規模的組織中,敏捷已經得到了廣泛的採用,因此在未來的十年中,這條職業道路可能會繼續發展下去。

產品經理

我在 2019 年花了很多時間學習產品管理,以改善我們在 Graide 網絡的產品交付流程。產品經理從整體上看公司的產品,以確保它們是符合預期的(客戶想要的),在商業上是可行的(有商業意義的),在技術上也是可行的(我們能做得出來)。像這樣能在高層次上思考的能力是很稀缺的,所以如果你擁有這樣的能力和一些技術背景,可能會成為一名出色的產品經理。

初級產品經理可以從產品中比較小的組件開始入手,或者先來噹噹項目經理。這可以讓你對產品開發有一個初步的了解,並在被委派管理你自己的產品之前,幫你與所有必要的利益相關者打好關係。

設計師

如果你有設計或藝術背景,可以考慮當一名具有編程能力的 UI 或 UX 設計師,這是一個令你在這一領域脫穎而出的好方法。綜合運用這些技能將使你能夠更有效地與工程師交流,使用 HTML/CSS 創建交互式模型,而不僅僅是靜態圖像文件。

如果你在設計方面沒有太多經驗,那就上上課,動手做一個作品集。許多公司也會僱傭沒有相關學位的人,只要他們能展示出自己的知識和技能。在我見過的作品集平臺中,最常用的是 Dribbble,當然,你也可以選擇使用自己的網站。

無代碼或低代碼開發人員

在過去的幾年裡,無代碼和低代碼開發工具的激增使一些公司可以無需僱傭開發團隊即可快速構建軟體。這些工具可以讓你在數小時內就能創建一款移動或網絡應用程式,而不必再花費數周的時間。而且,它們每年都在進步,越來越多的公司開始擁抱無代碼應用程式。

Makerpad 和 No Code Jobs 是嘗試入手這類工作的不錯選擇。因為這是一個新的領域,你會發現它有著各種不同的技能要求和工資標準,但你會寫代碼的背景毫無疑問會是一個競爭優勢。

支持類角色

其實,要保持伺服器、網站和運維的順暢運行需要許多員工的幫助,很多新入行的軟體工程師都不知道這些幕後的角色。其中一些角色需要編寫自動化腳本,或者對伺服器管理有深入的了解,但是如果你正在尋找傳統產品開發周期之外且又偏技術型的崗位,那麼這些角色可能非常適合。

系統管理員或 DevOps 工程師

大型軟體公司每年都有成百上千臺伺服器需要打補丁、升級和輪換使用。雖然雲計算的廣泛採用改變了這項工作,將它從物理插拔伺服器變成了與 Terraform 和 Kubernetes 這樣的軟體打交道,但這個領域仍有大量的工作要做。

傳統上,系統管理員負責根據工程團隊的需要維護和管理伺服器。隨著組織的發展,伺服器遷移到雲上託管,許多組織都採用了 DevOps 工程師這個頭銜,表示提升了這個過程中的自動化程度。實際上,兩個角色之間有很多的重疊。

無論是其中哪一個,你都需要對作業系統、託管平臺、自動化工具、bash 腳本和系統架構有基本的了解。想在這個領域找到入門級的工作是很困難的,因為它需要大量的技術知識儲備,但是如果你喜歡不藉助於 UI/UX 來解決工程問題,這是一個很好的過渡角色。

資料庫管理員

一些公司將資料庫管理員與系統管理員混為一談,但其實它們屬於不同的角色。

資料庫管理員處理底層數據存儲系統的安全性、供應、擴展和優化。如果從事這一崗位,你需要具備 SQL 和 NoSQL 資料庫的知識、安全最佳實踐以及一些基本的腳本技能,但整天都去編寫代碼的可能性不大。你還需要關注一些非常小的優化問題,比如調整索引和緩存。

如果你是軟體開發方面的新手,那麼入門的時候請儘可能學習資料庫方面的知識。你需要知道哪款資料庫適用於哪類應用程式,以及如何對每個資料庫進行大規模優化,因此你靠自己一個人是很難做到的。如果你想找一些大型數據集來使用,可以到 Kaggle 看一看。

網站可靠性工程師

網站可靠性工程師負責解決生產環境中出現的致命問題。這通常意味著他們必須輪流值班,以便時時有人待命以便能「隨叫隨到」,所以你的工作時間可能會與大家有點不同。積極的一面是,你將真的能夠擅長解決各種不同尋常的問題、編制自動預警和看懂伺服器日誌。

由於網站可靠性的工作要求隨時立即做出響應,所以很難做到讓富有經驗的軟體工程師長期擔任此類崗位。也就是說,如果你在尋求第一份軟體開發的工作時遇到困難,那麼它可能是你入行的不錯選擇。你甚至可能會發現自己喜歡上這種快速解決問題的挑戰,喜歡上這種刺激的感覺。

技術或客戶支持

雖然有些工程師害怕與客戶打交道,但也有一些工程師覺得整天幫助人們解決問題能讓他們活力滿滿。在軟體公司中,你的編碼經驗將使你成為客戶支持這一職位的理想人選,這些公司需要有技術背景的人來回答問題並提出解決方案。

在支持團隊工作的缺點是,你可能不得不在人家最不爽的時候與人家打交道。心懷不滿、滿腹怨氣的用戶可能不願意與技術支持團隊交流,因此你需要極大的耐心和極厚的臉皮才能長期擔任這個角色。教學與寫作類角色

我一直都很喜歡教學,所以我很喜歡那些讓自己有機會去做這件事的工作崗位。如果你喜歡把複雜的話題拆解簡化並介紹給其他工程師,那麼下面幾條職業道路可能會適合你。

技術寫手

我在大學的第三個實習工作是在一家大公司做技術寫手。這是一份非常枯燥的工作,但我喜歡每天學習新東西。

我發現技術寫作不僅僅意味著寫文檔。你可以將目光瞄向技術博客或文案;你可以編寫內部或外部文檔;你可以編寫應用程式演示和教程。對於寫手來說,這是收入最高的領域之一,所以值得考慮。

顯然,如果你走這條路,需要擅長寫作,此處還需要能夠將複雜的想法有條理地組織起來,並善於學習新東西。你自我改稿的能力越強,你的工作就越有價值,所以一定要在相關工具上投資,讓它們幫助你變得更好、更有效率。

一開始,你可以先為一些付費的社區寫作項目寫作,然後建立和完善你的關係網和作品集,在此過程中把這些經驗轉化為一份全職工作。

教師

有幾種途徑可以使你從軟體開發的職業轉向教師。你可以在編程訓練營找到一份教學的工作,你可以在大學或高中教書,你可以加入 egghead.io 這樣的平臺。或者你可以使用 Teachable 或 Educative 創建自己的課程網站。選擇什麼道路,取決於你的背景和承擔風險的能力。

無論如何,教師必須能夠快速學習新知識,並通俗易懂地呈現給學生。你必須適合聽眾的水平,他們樹立起成功的信心,這樣才能取得成功。教學的報酬可能比不上軟體開發,但它也可以成為一個非常令人滿意的職業道路。

培訓師

企業培訓是另一種教學形式,也是一個很值得考慮的選擇。培訓師可以是獨立的諮詢師,也可以是大公司的員工,他們通常會到客戶辦公場所提供特定軟體的實操培訓。

培訓師可能有深厚的專業知識,但也有可能只是一些技術高超的傳播者。做企業培訓通常比教學收入高,但它也可能更受銷售導向的影響。培訓師經常在峰會上演講,在社區講習班講課,或者在培訓課程間隙參加些聚會。

如果你喜歡在臺上講述技術概念,這可能是一個理想的職業道路。

分析類角色

科技公司的很多職位都需要具備分析能力。雖然它們大多都需要接受一些專門的教育,但是如果你想不再從事軟體工程方向,還是值得考慮一下的。你的工作節奏將與大多數以產品為中心的工程師不同,像上面提到的支持角色一樣,你可能要與公司的其他角色進行交互。

數據科學家或工程師

這兩個角色(有些公司將它們合併在一起)的主要工作是使用大數據來幫助企業或客戶做出更好的決策。

數據工程師通常是圍繞數據攝取和數據組織流水線開展工作,而數據科學家則是設計實驗和算法,將這些數據處理成有用的結果。數據科學(人工智慧、機器學習等)是一個立足於數學、軟體工程和統計的廣闊領域。

關於數據科學和工程,有一些專門的課程、訓練營和大學學位,但是如果你有很強的數學背景,也可以自學一些基礎知識。如果沒有這方面的背景,可以考慮先溫習一下數值分析、矩陣代數和統計。

因為這些技能需要花很長時間才能掌握,而且數據科學家的需求量又很大,所以這個職位薪水很高,而且短期內不太可能消失。

安全分析師

如果不出現問題,信息安全角色通常得不到關注。雖然每個開發人員都應該對安全漏洞和風險有一定認識,但一般都會專門招聘安全分析人員來查找安全問題,對這些問題予以歸類,並提出修復建議。

有些工作是請獨立的顧問來開展的,但在大公司,可能會有內部的安全團隊。這個角色很有意思,因為它既需要掌握技術和法律法規,也需要掌握業務,能夠做風險評估。

安全崗位也是最難招聘的崗位,所以你從事這一工作會很有保障。信息安全是一個非常廣泛的領域,因此,如果你有興趣致力於此,可以有很多選擇。

研發

對於擁有軟體工程技能的人來說,在研發部門的工作會成為一種獨特的經歷。像谷歌和亞馬遜這樣的大公司會拿出一部分利潤由研發團隊進行一些高風險且可能會有高回報的實驗。這些跨學科團隊可能包括軟體開發人員、數據科學家、業務分析師和項目經理。

進入一個優秀的研發團隊並不容易。這些崗位往往要面對很強的競爭,並且它需要非常專業的知識,這些知識可能在編程訓練營是學不到的。所以說,有些公司僱傭道德黑客、創始人或多語言達人來幫助團隊更加完善,並為團隊注入一些創造性思維。

獨立的、靈活的角色

雖然有些職業常常允許我們遠程辦公,有時甚至有學術休假,但你可能想讓自己的生活更加靈活、自由。如果你有動力創業,可以選擇每周只工作 4 小時,一年花 6 個月的時間來旅行,或者把一半的時間花在開源項目上。創業並不容易,但是作為一名軟體開發人員,相比大多數人有很大的優勢。

自由職業者或顧問

如果想要更加自由,有個方法是辭掉朝九晚五的工作,成為一名自由職業者。作為一名自由職業者,你可以把自己僱傭給一個或多個客戶,他們會按小時付費請你為他們寫代碼。公司經常僱傭自由職業者從事特定的短期項目,清理技術債務,或者在正式員工休假時補個缺。

諮詢師是為客戶解決特定問題的高端自由職業者。雖然他們可能會編寫代碼,但他們的賣點主要是他們的專業知識或獨特的背景。自由職業者和諮詢師之間的界限是非常模糊的,所以不要在名稱上太過糾結。

入行做自由職業者或顧問是最困難的。如果你沒有一個龐大的關係網,可能將依靠 Upwork 或 Toptal 這樣的平臺來尋找客戶。這些平臺的抽成佔你收入的很大一部分,而且你還必須得與世界各地許多其他自由職業者直接展開競爭。

如果你贏得了口碑和聲譽,有了自己熟絡的客戶,他們的推薦能讓你得到更多的工作。推薦的好處在於,客戶是基於可信的關係來找你的,而不是在網絡上盲目搜索。如果你真的很擅長做自由職業者或諮詢,可以把你的報酬標準提得足夠高,這樣每次做完一項工作就可以休息更多的時間了。

創業公司的創始人

網際網路上充斥著軟體工程師創業的故事(1, 2, 3),所以你可能會覺得創業很簡單,甚至是個好主意。

事實上,這要視情況而定。

創業通常需要很長一段時間才能產生收益,所以在你取得成功之前,可能幾個月甚至幾年都沒有收入。話雖如此說,但如果你想開一家自己的軟體公司,幾乎有數不清的好處。

你也可以一邊上班,一邊開一家公司。雖然這很難做到(可能會有法律後果),但也並不罕見。如果你能找到一兩個其他的創始人一起創業,可能會增加成功的機會。

結 語

軟體工程是一個令人興奮的領域,但它並不適合所有人。即使你離開這一領域,決定做些別的事情,你已經掌握的技能也不會白白浪費。

許多人對於在軟體開發領域之外找工作充滿顧慮,而我鼓勵你走自己的路。在務實(賺足夠的錢來生活)和你的興趣之間找到平衡,希望你能找到一條讓工作感覺不像是「工作」的職業道路。

我們很想聽聽你的想法。如果你有著不同的職業道路,歡迎在評論區留言。

嘉賓介紹:Karl Hughes,前創業公司的 CTO,現轉行成為作家。https://draft.dev 的創始人,幫助打造高質量的軟體工程博客。

相關焦點

  • 除了寫代碼,還能如何晉升為高級工程師?
    4年後重讀這篇文章,我對文中提到的一點十分感興趣:幫助你的團隊取得成功是作為高級工程師的重要職責。這句話當然沒錯!但是從今天的立場來看,我認識的大多數(乃至全部)高級工程師除了承擔自己的編程工作以外,還需要承擔大量幫助他人的工作。如今我和我的同事面臨的挑戰並不是「什麼?我需要去跟別人交談?不可思議。」
  • 職業要求的極左極右:軟體工程師忽視代碼能力,產品經理熟練SQL
    熟練SQL,顯然不屬於產品經理的基本崗位要求,它屬於很外延的部分,如果將其視為產品經理的崗位要求,招聘者可能是對這個崗位有什麼誤解(比如他自己也不知道這個崗位的工作是什麼,所以才做出如此的要求)。對於一個基本素質具備的產品經理,會不會SQL的區別在哪裡呢?
  • 一位高級軟體工程師的自述:這個職位到底要做什麼工作?
    本文作者 Joy Ebertz 接觸過的幾乎每一家軟體公司都設有技術晉升與管理晉升兩條職業道路,這意味著如果只走技術方向,技術人員也完全可以在不出任管理職務的前提下達到相同的高階職級。但與此同時,Joy Ebertz 所參加的幾乎所有職業演講或討論小組都充斥著管理人員。現在,Joy Ebertz 終於明白從宏觀層面來看,管理者到底需要做什麼、管理的晉升通道又是怎麼一回事。
  • 高級軟體工程師每天都在做什麼?
    本文作者 Joy Ebertz 接觸過的幾乎每一家軟體公司都設有技術晉升與管理晉升兩條職業道路,這意味著如果只走技術方向,技術人員也完全可以在不出任管理職務的前提下達到相同的高階職級。但與此同時,Joy Ebertz 所參加的幾乎所有職業演講或討論小組都充斥著管理人員。現在,Joy Ebertz 終於明白從宏觀層面來看,管理者到底需要做什麼、管理的晉升通道又是怎麼一回事。
  • 微軟資深軟體工程師:閱讀代碼真的很難
    編者按:原文作者Eric Lippert是一名資深軟體設計工程師,從1996年起一直在微軟開發部門任職,協助設計並實現VBScript
  • 軟體工程師工作內容
    軟體工程師可謂是軟體項目開發的掌舵者。一名優秀的軟體工程師應當具有較強的邏輯思維能力,對於技術的發展有敏銳的嗅覺。雖然要求技術全面,但無須偏執於門門技術都精通,任何軟體工程師都有自己的技術特長和偏向,對於自己手中的技術,可有精通-掌握-熟悉-了解之分,根據工作需要和職業發展的具體情況來劃分。
  • 軟體工程師生存指南:面試準備、工作經驗和實用工具
    但是如何才能拿到這份工作?又如何才能做好這份工作呢?擁有相關經驗的 Valeri Alexiev 提供了相關建議和工具。其中包括了如何準備面試、如何以軟體工程師的身份工作以及如何持續改進方面的經驗之談。我剛開始工作的頭幾年是緊張學習的時間。我得面對現實,成為軟體工程師需要有很多技能,這些我之前都不知道。回顧過去,顯然學會那些東西是很好的。
  • 加拿大(北美)軟體工程師工作與面試
    對於剛畢業的學生、新移民要找到軟體工程師的職位可能是一個新的挑戰,今天我分享一下我個人關於如何在加拿大或北美尋找軟體工程師工作的經驗。 首先介紹一下IT行業的特點。這個行業最大的特點就是它的變化非常快,快速的變化給這個行業帶來了很多的機會,也給從業者提出了更高的要求。
  • 軟體工程師生存指南
    軟體工程師的工作不好做,我就遭遇了這一現實,因此不得不努力掌握很多我根本都不知道我需要掌握的技能。在很多開發者工作的最初幾年,我以導師的身份,對他們進行過輔導。我自己在這方面經歷頗豐,我的一些同事也有相應經歷。所以,基於這些經驗,我撰寫了本文,希望幫助那些需要幫助的人。
  • 軟體工程師需要學什麼?
    如果在這個時候選擇了軟體工程師,自己需要面對的除了挑戰也有很大的機遇!軟體工程師需要做什麼?1. 指導程式設計師的工作;2.參與軟體工程系統的設計、開發、測試等過程;3. 協助工程管理人員保證項目質量;4. 負責工程中主要功能的代碼實現;5.
  • 面試軟體工程師,這些準備工作你做了嗎?
    編者按:本文作者 Connor Leech 是在灣區工作的一名網頁開發人員,他在本文中面向那些正尋求找到一個軟體工程師崗位的求職者,探討了他們在面試環節可以採取的準備工作。雖然各個公司對於評估人才有自己不同的標準,但軟體工程崗位面試大致可分為兩類:特定領域知識面試和計算機科學基礎知識面試。求職者了解公司評估方式之後,也就可以有的放矢,分別採取相應的準備策略。
  • 除了進IT企業敲代碼,前端還能做什麼?
    前端開發技術現在是IT圈非常熱門的技術,應用範圍廣,就業選擇多,也就是說,學好前端開發技術,不只是可以去IT公司「敲代碼」,還有好多地方派得上用場,好多非IT企業也需要前端開發人才。下面,我們就來看看,除了進IT企業敲代碼,學好了前端,還能做哪些事情吧。
  • 高級軟體工程師都是做什麼的
    軟體工程師作為一群高薪人群,我們對此早已不陌生,很多人都嚮往著這些高薪職位。雖說程式設計師們的工資高,但是他們要做的也不少啊。所謂能力越大,責任就越大。當然,還會伴隨著高薪。那麼,這麼高薪的工程師們都是在做什麼的呢?下面我們來看看!
  • 如何應對軟體測試工程師面試
    隨著手機、電腦、平板等電子產品越做越好,人們在關注其硬體配置的同時,也越來越重視軟體的使用感。與此同時,隨著網際網路行業的高速發展,各類軟體層出不窮,軟體類公司越來越多,對於專業人才的需求量也越來越大,那麼對於想要進入軟體行業、成為一名測試工程師的求職者而言,應該如何應對軟體測試工程師面試呢?基礎知識要掌握軟體測試工程師是一個專業性比較強的崗位,在面試時,面試官會通過一些專業性的問題來判斷求職者的基礎知識水平。
  • 程式設計師是軟體工程師嗎?軟體工程到底和其他工程學有什麼區別?
    內容是直接拷貝過來的,文末讚賞也保留了, 覺得文章真心不錯的同學該出手時就出手哈~~~2008 年攝於北京坦克博物館「軟體工程」是個老話題了,我以前寫過一篇文章《名不副實的「軟體工程」》,當時還引起了不小的爭議。回頭看,當時更多的思考還是在「軟體工程」本身。我們完全可以把討論的範圍擴得更大一些:「軟體工程」和「工程」有關嗎?
  • TOP 1%的軟體工程師和其他 99%有什麼不同?
    一般而言,程式設計師可以分成三個大類:Adders,即做加法的人(「1 級」,0.0 到 1.4)。對於他們,只要給予充分的時間就可以解決大多數編程問題。這些人往往是做業務線工作、寫腳本來獲取數據、回答高管或交易者關心的問題等等。在這一層級中,能力優秀的人往往想要脫離狹隘的細節,超越這個層面來研究更普遍的「核心」問題。
  • 圖解:數據科學家、數據工程師和軟體工程師之間的區別
    對於新手,也可以通過這張圖來看典型的「數據科學家」、「數據工程師」和「軟體工程師」都要掌握哪些工具。Jake Stein:隨著數據的爆炸式增長,對數據處理的專家技能需求也隨之井噴。這帶來的結果之一,是更精細的分工。對於數據管理工作的核心角色:數據科學家、數據工程師和軟體工程師,過去幾年見證了他們越來越清晰的定位。
  • 華為高級工程師告訴你,IfElse要這麼寫,代碼更容易閱讀維護
    最近跟一位華為的同學一起回學校陪老師跟師弟們吃飯,談到一些工作上的事情,雖然他已經是華為的高級工程師了,但因為負責業務的關係,平時更多的還是處理業務的代碼。寫業務,又稱寫ifelse,同樣是寫ifelse的,月薪40k的華為高級工程師跟普通的小開發有什麼區別的?
  • 拒絕經驗過剩,「程式設計師的工作只能是代碼」?
    由於他們缺乏對代碼的關注,在設計上浪費的時間比寫代碼的時間還長,因此會拖累每位工程師編寫代碼的速度。從新手工程師到經驗過剩的工程師的轉變並非一蹴而就。然而,經過多年甚至幾十年的磨練,這些工程師都會逐漸轉變成經驗過剩的工程師。幾乎每一家公司都是如此,而且不斷應對這些人的需求和不必要的忙碌工作真的很令人沮喪。
  • 機器學習工程師與軟體工程師的區別是什麼?
    軟體工程-建立數據網絡數據流是任何大規模軟體項目的關鍵。工程師必須選擇正確的算法以在本地設備上部署,使用哪種語言開發(以及他們使用哪種語言)以及軟體堆棧中的多少層。軟體工程師最終將在語言,數據結構和算法領域工作。