⑴ 程序員的日常就是不停地寫代碼嗎這行業是吃「青春飯」的嗎
其實不得不說是程序員的職業相對較為特殊,也正因為如此被網友們認為吃青春飯的行業也是很有道理的,從某些意義上來講,年長的程序員並不會取得老闆的重視,尤其是到了中年很容易被公司所辭退,所以也正是因為如此程序員的晚年,存在很多不確定性因素,總的來說,也要從以下幾個方面出發思考問題。
其實不得不說,是程序員本身就屬於 it產業,也正是因為技術相對更新周期較短,所以導致大多數程序員也是吃青春飯的,所以很容易在中年之後被公司所淘汰,為了生存大多數中年程序員都會改行從事其他產業。
其實不得不說的是程序員的日常確實相對較為辛苦,而且不停在輸代碼和代碼打交道,而大多數程序員由於行業本身特殊,所以一到了中年很容易被公司所淘汰,只能被動的轉行其他產業。
⑵ 程序員,新到一家公司,技術太low,我還沒有話語權,我該咋辦呢
慢慢努力,我相信終有一天你會有話語權的。加油。
⑶ 從事工業控制等領域的軟體工作的程序員,是不是顯得很low
程序員是這個世界上最好的職業。
為什麼這么說?從應用層面講,現在還有一台設備是純機械的嗎?機械電子/機電一體化是大勢所趨,既然說到機電一體化,如何控制電機(馬達)按照人們所想的運動,必然要靠編程了。從技術角度來講,面對機器編程我們通常叫做「下位機」,雖然是下位機,但一點不「Low」好吧!!如何組織你的程序,如何增強程序的可讀性/容錯性/健壯性...都是一門很大的學問,之所以你會覺得Low,不是因為電控編程很Low,而是你敲得代碼很Low。我曾經閱讀前輩們的代碼,說句實話,在我稍微懂點編程,懂點軟體工程,代碼量超過3000行的時候,我就根本不再瞄一眼了。給你的建議還是多從基礎做起,多看點計算機科學基礎的書,先從你天天面對的機器——電腦了解起吧。當你開始了,你就不會覺得這很Low,那個是不是高大上了。萬事做好都很難。
老實做人,踏實做事,先做人,再做事。
別焦躁,慢慢來,真正有價值的,都是學要耐心去守候的,而它(他/她)也是值得你去等待的。做機械,必須要了解編程,既要懂機械設計,又要懂電控和上下位機編程。褪去,工業會再次復甦.但是低端的plc門檻太低,高端機械手臂會興旺。
如果單從企業管理層來看,每個非部長,負責人級的人看來,都是LOW的,不過高層管理不會覺得每一個技術設計者很LOW,企業的命根在於生產,在於跟上社會的需求,如果沒有我們這些後台的技術支持(包括設備控制與新產品開發)的人員,企業無法運行,市場需求無…
如果單從企業管理層來看,每個非部長,負責人級的人看來,都是LOW的,不過高層管理不會覺得每一個技術設計者很LOW,企業的命根在於生產,在於跟上社會的需求,如果沒有我們這些後台的技術支持(包括設備控制與新產品開發)的人員,企業無法運行,市場需求無法滿足,就是在這樣的一個背景之下,現在的管理層會看重每一個人,不在於這個人是否剛剛到來,而在於這個人是否能跟上企業與社會對接的節奏。再說,每一個人都是從基層做起,他們也經歷過一個這樣的過程,而別人對於你的看法只是代表他們了解,不代表你LOW,如果你覺得你LOW,說明你就是被企業淘汰的那部分人。再者,做設計的(包括程序設計,機械設計等等)的人都有一個共同的追求,以最簡單的形式,原理為消費者,顧客帶來最大的效益,這是我們追求的滿足感,不是嗎?初入工作,只要用心,只要有興趣,LOW的不再是人,而是那些被我們優化的設計,演算法,程序!
⑷ 只使用 Windows 的程序員為什麼普遍很 LOW
安裝了很多國產全家桶, QQ 套裝, 迅雷套裝, 搜狗套裝, 360套裝. 對,這是low各種奇怪的國產瀏覽器, 默認只有網路搜索可用, 下載個東西彈一大堆對話框和窗口, 關一套彈另一套. 這也是low安裝了並激活了搜狗拼音輸入法, 在目錄中定位, 任務箅器定位等各種位置都無法正常使用. 會彈個輸入框. 我也裝搜狗輸入法,我怎麼沒看見這樣的情況?只會一種編程語言, 不會寫 CMake, 其它語言也沒聽過. 憑啥MSBuild就不行,非要在Windows上用CMake?寫只運行在Windows上的程序還用CMake,很好玩嗎?CMake那個垃圾語法,我看了就想吐。我自己在Ubuntu上寫程序的時候,用的也是我自己寫的Gaymake,專門給VC++寫的程序移植用的,用起來超級爽。所有的事情都在Windows上幹完,上Ubuntu跑一下Gaymake,運行一下unit test,過了!開發的過程真舒服。
⑸ 為什麼說程序員是一個極度勞累的工作
因為很多的程序員每天都需要面對電腦,編寫自己的程序,這對於很多人來說都是非常累的。在中國,很多的程序員每天都必須要不停的加班加點的工作,沒有自己的休息時間。因為程序員這個工作是非常累的,所以很多程序員都慢慢的辭職轉行了。人們說起程序員這個工作,除了覺得程序員這個工作工資很高之外,再就是覺得程序員這個工作真的非常的累。關於為什麼說程序員是一個極其勞累的工作?以下是我的看法:
三、因為程序員這個工作非常勞累,所以很多程序員都慢慢的轉行了
很多人都覺得程序員這個工作是一種青春飯,一旦一個程序員到了35歲往上,這個程序員可能就會被公司裁員。正是因為程序員的競爭非常激烈,職場環境也非常惡劣,所以很多程序員都慢慢的轉行了。
那麼你覺得為什麼說程序員是一個極其勞累的工作呢?歡迎評論區下方留言。
⑹ 大家怎麼理解「業務代碼」為什麼有人覺得寫業務代碼很low
在我眼裡,也經常會把程序員分成兩類:一種是我等這種寫業務代碼的程序員,另外一種是研究高深演算法、造「輪子」的「科學家」...
將他們稱之為科學家是有些誇張,第一次冒出這樣的想法是參加一個技術大會,當別的嘉賓都在分享開發、設計、架構、管理方面的經驗時,一名在騰訊工作的演算法工程師(應該已經是一個小領導了),他上台分享了一些諸如:滑動平均自回歸模型、神經網路基因表達式編程、SVM回歸機集成學習...坐在台下的我第一次冒出這樣的念頭:「這**是科學家研究的東西吧。」
當然,倒也不能說寫業務代碼就很 low,寫業務代碼也不是想像中那麼簡單的。
寫業務相關的代碼,必須了解業務流程,還需要了解業務人員心裡是怎麼想的,也就是業務出發點是什麼樣子的。
比如我最近遇到一個需求,過程大概是這樣的:銷售人員在賣一款產品,這款產品非常火,有些優秀的銷售人員一周可能能賣出去幾百上千單;結果我們接到一個需求,要限制每個代理人的銷售數量,比如每人只能賣 10 個(之前已經賣掉的不算);這就讓我們非常奇怪,本來賣的好好的,為什麼要做這個限制呢?這個需求看起來就非常的不合理。
後來業務人員和我們解釋了一下原因:因為這款產品公司不掙錢,銷售人員為了推這個產品,花在別的產品上的時間就少了,所以出這個功能,就是讓銷售人員「收收心」,把精力放在其他產品上。
這么一解釋,我們就立刻明白了;所以如果你不明白業務的時候,看著需求敲代碼也是非常容易出錯的。
有些人會認為業務邏輯就是一堆 if-else,但是我認為在實際工作中,這些 if-else 也是非常難做到的。
業務邏輯是人設計的,業務邏輯難不可怕,可怕的是它不嚴謹和變化快;業務邏輯和那些確定性的東西不一樣,比如我們寫好的代碼 if-else 兩個分支,那麼再怎麼也不會跳出這個范圍,業務邏輯就不一樣了,它是非常靈活的、不確定的,業務機會來的快消失的也快,我們很難開發出來一套全面的、完善的、靈活的的系統,去應對將來可能會發生的需求。
所以在開發過程中,如果可以將業務流程拆分成多個組件模型,組件和組件配合完成一個完成的業務流程;當業務發生變化或有新業務的時候,只需要重新編排這些組件,或對某一個組件做少量更改,就可以滿足業務變化;如果能做到這個程度,也是非常不容易的。
在這個過程中,你需要做到高內聚低耦合,避免過度抽象,從業務流程和動機出發,已滿足業務需要為主;既然做不了「科學家」,我們就努力把業務代碼寫好把。
我將持續分享Java開發、架構設計、程序員職業發展等方面的見解,希望能得到你的關注。
首先,我認為寫業務代碼不「low」,但是大部分不假思索拷貝粘貼的業務代碼比較「low」,換句話說就是所謂的五年工作經驗就是把第一年的工作重復了五遍。
技術人員成長一般有兩條線,一條是成為技術專家,一條是成為領域專家。所謂的轉管理我理解也就是領域專家,畢竟不懂得領域知識是無法做好管理的,比如說你是互聯網金融某個業務部門的leader,那麼你肯定要懂金融。領域知識就是在不斷的寫業務代碼和思考中積累起來。
還有一個問題就是如何定義業務,比如說「實現一個修改訂單功能」,這是一個業務需求,看起來很low,但是如果業務需求改成「實現一個修改訂單功能,要求在有限資源的情況下並發10k,響應時間不高於10ms」,那這個需求就有挑戰。說這個問題想說明白一件事情,如果做業務不要停留的在業務表面,僅僅滿足於實現功能,要主動思考。
最後總結一下,沒有最好的技術,只有最適合業務的技術。技術是內功,業務是招式,內功不足,後續成長乏力,沒有招式,內功也不能發揮威力。這是也很多互聯網創業公司做大了之後要技術轉型的原因。
業務程序開發相對於底層基礎架構層的程序開發有所不同:
業務開發的時間比較緊,變化快。
這個特點導致程序員沒有時間重構代碼,或者不願意重構代碼,而是用最簡單粗暴的復制黏貼的方式快速實現業務邏輯。其實所有的復制黏貼都意味著需要重構。
底層系統的開發,一般是架構師和高級程序員來設計和控制項目時間。相對來說,開發周期長,變化緩慢。會更加註重架構的合理性和穩定性,而且會不斷重構和改進。
業務開發一旦完成,只要平穩運行就不會有人再回來補技術債務,不會把它寫得更好。除非這個業務爆發了,不得不從新架構以支持更高的並發。如果上線之後表現不佳,很可能下線不再維護。所以公司也不太願意花太多精力在一個還沒有被市場認可的產品項目上。
而底層架構框架的項目會在不同的產品項目中不斷應用。不斷地進化。就像Spring之類的開源框架一樣,不斷的升級和完善。
相對來說,業務開發程序員會花大量的時間學習和理解業務知識;而底層框架程序員更多的時間在學習技術架構。如果業務知識在行業內通用,比如財務,金融行業知識。那麼長期的積累對業務開發也是很有幫助的。如果業務是很小眾的,甚至,這幾個月做這個業務,下半年又做另一個業務,做的時候也一知半解,就像很多外包一樣,那就沒有什麼業務沉澱了。
我就是寫業務代碼的,不過我覺得這很正常啊,不知道你是怎麼就覺得low啦?
所以,做為一個企業,支撐發展的肯定是他的業務,不管是賣什麼服務,都要通過業務來賺錢,可能針對業務,企業內部還會做一些細化。比如說,有人會是做一些前端,一些人做後端,還有運維,運營,產品的配合。前端再細化,一部分人會做一些頁面的展示,呈現,還有一部分人會做一些適合業務的工具,來提升開發效率。
那如果你自己的定位是只是單單寫頁面的,那隻能說你對自己的要求有點低,你沒有去考慮如何做一些提升工作效率的事情。舉個例子,比如說常見的後台管理系統,因為功能都很類似的,那你有去考慮如何做一個通用的模版嗎,還是就是不斷地去重復。
這個別人的產出,做了一個vue的後台管理系統的模版,現在的GitHub star在6萬多,通過這個項目,他就可以得到更多人的認可,也能得到更多的好的工作機會。
所以,不要覺得業務代碼就是low的,要善於去總結,然後再分享自己的經驗,沒准你也能成為一個領域內的Top。
不要太在意所謂low與不low,需要在意的是做了這個項目或業務後,對自己的能力有沒有長進,如果有,那說明不low。如果沒有,那說明你只是在機械的勞動而已。
每個大佬都是從業務代碼做起的,大佬們注重的是能否成長,學習實踐的機會,以及平台的大小和未來是否和自己的目標相匹配。
總結來說,只要能提升自己能力的任何工作,都是值得的。
業務代碼不一定low,能完成用戶需求的代碼就是好代碼。
另外,對於我們搞嵌入式軟體、EDA工具軟體的來說,業務軟體反而是更有技術含量的,更具科學意義的代碼,而軟體可能只是載體,你啥時候透過代碼理解了它們背後的物理概念、數學公式,你就超越了程序員,能向科學家又邁進一步。
互聯網軟體其實也一樣,軟體實現的是一個業務流程的自動化,你完全可以透過你寫的程序還原甲方用戶的業務流程,而這種流程是老闆制訂的,認識會上一個層次,將來可以向老闆邁進
我覺得首先大家要理解什麼是「業務代碼」,業務代碼是一個相對的概念。
1.對於一個一般的物聯網應用型公司來說,業務代碼就是根據客戶需求基於一個MCU或者MPU的應用控制邏輯的實現。
2.對於一個做純上層應用的公司來說,業務代碼就是基於一個操作系統為客戶量身定製對應的app,並實現對應的應用邏輯。
3.對於一個微型控制器設計廠商,業務代碼就是底層架構裸機的具體實現和各個外設驅動的框架設計。
4.對於一個設計操作系統的開發人員來說,業務代碼就是架構設計、內存管理、調度機制優化、優先順序管理、進程間通信機制優化、線程管理和內核完善等等。
所謂」業務代碼」都是相對的,沒有參考系怎麼談。像操作系統,站在操作系統內核提供方的角度看,上層所有的應用框架,進程服務,都是業務代碼,我是為他們服務的。技術只是工具,業務實現才是目的,站在不同供應商的角度,只要涉及代碼的地方都可以稱之為業務代碼。所以站在這個維度,如果要說業務代碼「LOW」,那就沒有代碼是不"LOW"的了。
不過,真正接觸底層或者實現RTOS底層業務框架的工程師其實是很少的。大部分工程師基本上都是對於客戶需求做一些非驅動底層非操作系統框架的應用型的開發,所以大多時候「業務代碼「又單一的被指向了那些只是對客戶的上層應用的需求做開發、調整或者迭代的代碼。
而這部分代碼究竟"LOW"還是不"LOW"呢,我的答案是:不"LOW"。但是現實卻是很「LOW」,之所以會被想成LOW,是因為:
1.判斷一個程序員的優秀程度已經不單單看你寫了多少應用型的代碼,設計了多少應用框架,而是你懂不懂底層驅動邏輯,懂不懂操作系統內核,懂不懂內核裁減等等。所以這種情況會經常出現在面試過程中,面試官會因為你不懂底層驅動、不懂內核而給你比較低的薪水。
2.懂得寫業務代碼的人,他的程序員基礎並不一定就牢固。因為上層應用可能對業務比較看重,但是對於一些特定的語言的編程並沒有那麼嚴謹。能用就可以,所以會自然而然的認為這樣的程序員「LOW」。而一個會寫底層驅動的人,他考慮更多的是基礎代碼的安全、嚴謹性和容量問題等等,他們的語言基礎相對來說要牢固很多。
3.技術負責人一般都是全能型的人。會寫底層驅動或者更懂操作系統內核的人更容易成為技術的領頭人。而那些只會「業務代碼」的人,放在大部分公司,一般都不會有太多的上升空間。
根據以上分析過後呢,做「業務代碼」的程序員基本上會被想的很「LOW」,但是結合我的親身經歷,不同的人對於這個事情卻會有不同的看法。
比如對於領導來說,那就不一樣了。你將「業務代碼」的需求迭代了,完善了,提前任務完成了,客戶很滿意。那領導不會認為你是一個很「LOW」的程序員。你很高級,領導很欣賞,「後果」很舒服。但是對於一個面試官來說,你就會點上層應用的調用和設計。我為什麼要給你這么多薪水?雖然會被想成很"LOW",但是也是現實。
好了,這個問題就回答到這里,以上都是個人結合實際經歷的一些體會,喜歡的加關注,我是一名深漂的嵌入式程序員,歡迎私信留言,感謝!
我有面試過一個40歲的程序員,做過幾百個網站,要求工資才6000元,他只會做簡單的企業網站,因為他一直在很小的公司工作,只能做小項目,這我覺得是業務代碼,就是做一些重復和沒難道的工作。
林子大了什麼鳥都有,不知道你說的有人是指多少比例的人。我的理解代碼可以分為兩類:1:工具欄或者框架類2:業務類。寫工具類偏重於健壯可拓展可復用;寫業務類偏重於邏輯嚴謹沒有漏洞,化繁為簡。畢竟有些時候需求或者業務都不甚清楚他們想要的邏輯。有時候復雜的業務流程你捋都不順,更別說代碼寫的好了。當然,工具類到高深,工具好用,框架優秀確實需要的技術功底深厚,比業務類要考慮的東西也多,但不代表寫業務類代碼很low。當然,不管寫什麼代碼,完全復制黏貼而不去考慮與實際場景結合,不去想為什麼?有沒有更好的處理方案是比較low的
有人覺得low
1.可能是覺得沒有什麼技術含量吧,用的都是一些成熟的技術框架,就是一些增刪改查而已,但是這並不意味著寫業務代碼就很簡單,因為這裡麵包含著業務邏輯,業務邏輯有簡單的也有復雜的,如果對業務邏輯業務背景不理解或理解不透就很難實施下去,其實現在很多專家級別的程序員並不是技術有多牛,而是對某個行業領域有比較深刻的理解。
2.還有可能就是內心裡對業務就很輕視,這個更是不應該的,因為技術是為業務服務的,是業務讓技術變的有價值。
⑺ 程序員做筆記用紙和筆是不是很low
個人習慣吧,個人覺得紙和筆效率更高,相比用電腦,更好,不要覺得LOW。
⑻ 為何程序員都說他們平時的工作很枯燥
職場中,有一個職位是程序員。作為程序員,他們經常會覺得工作特別的枯燥。其實在工作中很多的工作都是枯燥無味的,感覺到工作枯燥有以下幾個原因。
不論為生活還是職場中大部分的人都是日復一日的工作,這主要取決於自己的心態。心態好了覺得做什麼事都不覺得枯燥無味。
⑼ 為什麼都說程序員不好
因為程序員這個職業的工作狀態不利於身體健康,要長期伏案工作,而且經常處於一種忘我的狀態,自己很難控制工作時長,而且有些團隊承受任務期限的壓力,不得不經常加班。
所以大家都說程序員不好。
⑽ 程序員的日常生活都是什麼樣的有哪些不為人知的地方
其實一直不知道為什麼,大家都會覺得「程序員加班都很多」,「程序員都不愛干凈,老不洗頭」,「程序員穿的都很low」,「程序員都找不到對象」,最終得到的結論是。「程序猿的生活很枯燥」。
現在讓你們看看真實情況。