前言
- 個人介紹
本人不是985/211,普通本科,通信專業,成績挺好不是最拔尖算得上中等偏上,好吧我覺得可能是上吧,黨員。
在畢業後在廈門一家公司實習後加入工作,工資中等,公司規模300-500,團隊8-30人。
與理想的薪資待遇有偏差,當然自己的能力有偏差。
- 兩年來工作路線
入職小白-》
高效下手-》
初級程序員-》
核心研發、中級-》
技術組長、技術主管(短暫)
- 兩年來學習路線
java基礎-》
ssm、ssh、sql、maven、svn上手-》
代碼規範、業務實現能力、代碼質量、單元測試-》
方案設計、數據庫設計、代碼接口設計、開源框架工具使用、微服務-》
技術方案設計評估、代碼規範質量評估、人員技術管理、任務分解分配、關注性能方面
- 個人規劃
1-2年-》java or 微服務
2-5年-》微服務or大數據
5-7年-》架構
7-10年-》架構 or技術管理
工作經驗
1、工資低?能力問題or待遇問題
說實話這也是一直困擾我自己的一個問題,是現有能力還是先看準待遇呢?
首先,你是如果覺得工資低呢,這往往是對比讓你豁然覺得自己虧了。
瞭解行業薪資水平最好的方式就是對比同行業平均工資,哈哈當然還是看看薪資對應的要求,不要盲目自信。
其次,定位自己的薪資和崗位匹配度。
在剛剛出來找工作時,不建議衝着工資去,選擇自己能夠歷練或者學習的公司,
當然只要工作壓力不太大,工資水平越高越好。畢竟,錢多事少的好事不常有,
過高工資必定給自己太大的壓力,沒有容錯空間。
而如果實力符合,建議先拿到工資,再考慮歷練、學習機會。
因爲,社會不同校園,常常是是:自己學進門,修行也靠個人。
畢業生爲啥不建議呢,這考慮到公司的培養成本以及不穩定性,畢業生容易翻車。
最後,個人經驗作爲參考。
個人剛畢業的時候,工資是廈門平均水平之下的,雖然有點不服氣,但是的確短時間達不到高薪資的效益。然而,我有了自己可支配的“工作之餘”。趁着沒有勇武之力,可以努力的“習武”。剛畢業的應屆生,在企業看來:缺的從來不是學習能力和精力,而是廉價勞動力,哦!不好意思說錯了,是可培養的潛力。
有個人規劃的建議:
1、列舉自己不足之處,根據實際分析哪些是近期最要命的短板
2、擬定一個近期會使用,但是學習成本一般的學習計劃
3、等你上面完成了,擬定長遠計劃(網上公開課的技能書,你懂得又免費又有誘惑力,嘿嘿)
沒有個人規劃的建議:
0、早點規劃
1、就每一天遇到的問題,業餘時間差缺不漏,時間允許的話就地解決,不行就記下來
2、每天針對使用的技術進行知識擴展,橫向或者縱向。量力而爲
3、如果上面都沒完成,你還是混日子好了,工作經驗是你最後的武器
2、學些什麼?新技術or舊技術
說實在的技術革新是很快的,想當年java還在sun公司時,jdk6到jdk8也要的一兩年的時間,
如今我jdk8還沒用溜,jdk11、12已經排着隊了。
所以作爲開發你沒得選擇,你能選擇的是,防止自己變成舊技術。
個人建議:
1、適當加強當下使用技術的深度。
jdk8在用,你就把jdk8的特性用起來,stream用法,lambda用法,函數接口啊,map優化內容啊。
2、適時補充新技術。
用ssm的思考,smm與springboot差在哪裏,springboot解決什麼問題;
springboot與springcloud又有什麼區別,springcloud解決什麼問題,諸如此類。
3、因人因公司而已,有可能一早就用上springcloud以及主流技術。
那也就是說,哥們,別人的舊技術就是你眼中的“新技術“,爲啥公司淘汰了它。
4、當然,技術不是越新越好,而是公司開發團隊的對它的掌控能力,搬石頭砸自己腳,是用新技術的大忌。
springboot單體服務,的確比springcloud更有生命力,起碼便於維護。
3、晉升渠道?靠人際關係or技術能力
說實話,作爲一個技術人員,你一定很看不起第一類,你更希望的是能者居之,其實事實上也是能者居之,
但是人際關係重要性一點也不遜色與技術能力。
轉化下問題,這個問題好歹是在問:能力強但不配合和能力不強但很配合。
這個問題一想而知,企業更需要後者,能力不強但是靠得住。
個人建議:
1、不卑不亢,不威不武,既不拉幫結派,也不鬧事結怨,工作歸工作,生活歸生活。
只要符合企業價值觀,也有被認可的實力,除了走後門的富二代、官二代,你還怕什麼!
2、工作向來不是一個人的戰爭,團隊作戰才能事半功倍。(公司團隊真的非常非常重要)
4、軟實力?如何而來呢
首先:軟實力額爲價值,怎麼說呢,開發人員爲什麼工作經驗那麼值錢麼。
個人分析如下:
1、行業解決方案、業務問題分析解決能力
2、個人技術棧、技術實踐經驗、技術實現能力
3、軟實力(包括:設計稿、ppt、表達能力、軟件開發理論、管理體系知識、流程體系知識、團隊合作能力等)
其次:軟實力作用,意在綜合實力和優勢
純技術崗,軟實力意味着你有作爲幹部儲備的條件。
如果,你有意向從開發升級爲技術主管,你的軟實力發光了;
而又或者打算從開發轉向管理崗、幹部崗,不好意思,軟實力又讓你有一戰之力,甚至會超過技術你比好的人。
最後,如何提升呢:
1、不要一股腦的增長技術,而不學習經驗。項目體系也是需要學習的,
簡要說明,參考cmmi3軟件流程如下
需求調研-》項目可行性分析-》項目立項-》項目總體計劃-》需求設計-》
工作量評估-》項目風險把控-》項目進度計劃-》需求跟蹤-》開發設計-》
開發編碼-》階段測試、迴歸測試-》里程碑輸出、測試-》集成測試、迴歸測試-》
產品測試-》產品驗收-》項目結項-》項目合同期內運維
2、不要小看會議、討論的意義:
主題很重要(防止開火車跑偏)
問題列出來就是解決一半了,帶着方案討論問題,就事論事(扯淡封嘴)
有會議必須有結論,把握每個人發言時間(話癆講重點)
3、不要小看三板斧,檢稱WWH
WHAT,WHY,HOW。越是需要團隊,約需要明確
4、學會做的同時,學會表達。
代碼很重要,設計圖也很重要,設計想法也很重要,ppt你懂的!
5、如何看待加班?你願意加班麼
這個問題嘛,你知道996ICU麼。
加班是常態,也是病態。什麼原因加班?公司項目緊急?個人bug?臨時任務?還是強制加班呢?
個人想法:
1、適當加,如果項目緊急又是非你莫屬,哥們恭喜你,你有機會表現了,
哈哈最好不要變成-人傻事多的香餑餑。加班需要你時間和身體的把控能力,
合理時間內既是你體現價值的機會,長時間內則會是你體現加班價值的機會。
看看自己的髮量決定。
2、必須加與一定不加。
如果是個人bug,紕漏造成,我覺得還是必須要解決的,要加班也是常理的事。
總不能吧工資當做寫bug的錢,然後加班改bug,最後調休(可能是常態吧 哈哈)。
有一類加班是必須不加的,制度外的加班,無故加班,惡性加班,人情加班。
這種加班很少見,但是也會發生的。通常在管理混亂的情況下,常常出現負責人不加班,
打下手小弟幫忙加班的。長此以往,恭喜你,成爲最牛逼小弟(這當然得看人,
好領導會帶你飛黃騰達而不是踩着你上去)。
6、跳槽?你想怎麼跳
首先、跳槽原因很多,但都離不開薪資待遇。程序員真的需要跳槽才能更好提升?其實都沒有那麼絕對。
個人是不建議頻繁跳槽,這樣會給自己留下病根(吃着碗裏的看着鍋裏的,吃到鍋裏的又想着還沒煮的菜,
容易忘記了自己可能只吃得下一碗飯而已)。
其次、跳槽離不開的幾個真實理由:
1、事多錢少,事少錢少,事雜錢少,事亂錢少,嗯錢少
2、學不到技術錢少,學不到經驗錢少,發展空間不足錢少,嗯錢少
3、公司前景不好,公司制度不好,公司規劃不好,公司擰螺絲,嗯未來錢少
其實吧,總結起來就是要麼現在錢少,要麼未來錢少,哈哈哈!
最後、如果真有更好的選擇,希望你慎重考慮和權衡利弊,離職和入職對於前公司和後公司都是很重要的事,對自己也是
1、前公司不同程度上損失了人才(別覺得沒自己事),如果自己做的不好還影響口碑
2、現公司意味着你將收到致命三聯-》你會什麼?-》你值多少?-》爲什麼離職?
3、而對於你自己,一是面試,二是面試後的適應。
個人經驗總結
1、關注開發規範、管理流程規範、關注問題分析和總結能力
2、學習技術,不管是微信公衆號,csdn,github,開源中國,碼雲等等,找到合適自己的“搜索引擎”,
先了解了纔有機會拓寬技術面,最後選擇最合適的技術深究下去。
3、不要定老長老細的學習計劃,相信我。工作裏面沒有那麼多時間,利用零散時間學習,
並且學會總結。便籤,雲筆記,印象筆記,或者白紙黑字,寫下來就是你的了。
4、舉一反三,橫向:用了mysql就想想oracle呢,如果再有時間就想想pg呢;
縱向:mysql表設計(3nf、2nf呢),再有時間想想mysql引擎,執行計劃。
這樣能把你從無知中解救出來。
5、系統複習,零散的學習缺少總結終究是過眼雲煙,及時總結做好筆記,最好是能做一張思維導圖。