我目前是一名三流本科的大四学生,技术水平应该可以从我看过的书了解;《Java编程思想》、《JavaScript权威指南》、《高性能MySQL》、《鸟哥的Linux私房菜》。
主学java,除去并发一块,可以胜任日常开开发。
原生js以及jquery、bootstrap会用,但js的面向对象确实没能深刻理解
MySQL的DDL、DML、存储过程、触发器、常用函数等掌握得七七八八,也知道点mysql相关优化建议
自己的笔记本是centos,所以仅是使用Linux并无大碍
也有近半年时间的实习经验,但一直比较迷茫。似乎java语言注定要处理一大堆业务,虽然我不反感(目前而言),但我想更深入的学习(数据挖掘?)或者有个新方向(linux运维?)来促使我前进,我不想一味做重复的事。然而面临换城市重新找工作的我,又得重新找java服务器开发,不知道这会不会是个死循环……不知道前辈们是否有过这样一段时间,想脱离现状学习新知识?(要是大家想说算法、网络、操作系统的话,那还是别了,我需要的是一个可行的方向)
可行的方向啊。 。 ?
為什麼演算法、網路、作業系統不可行?
想更深入學習?
你現在做的還是業務型項目,但是如果讓你做基礎研發呢? 並不是說你轉去做資料探勘或轉linux維是深入學習, 這些東西人人都可以轉入這個行業,但是要往深走,那三個不可行的必不可少。
你的第一點
除去并发一块
, 那為什麼不去學?Tomcat知道原理嗎? Netty讓你寫你能寫嗎?如果未來你們公司要研發一個分散式服務框架,有想法嗎? JVM知道怎麼運作的嗎?
所以蠻簡單的, 如果不想一直做業務, 那你就要有具備做研發的能力。
其實都一樣,一開始都是業務為主 ...
我也是剛畢業,二本墊底學校,遇到過和你一樣的問題,我大學是參加acm程序的,算法不必說,網絡和操作系統是要花時間積累的。
首先你應該要確定一個方向,資料探勘也好,javaweb開發也好。
其次你應該對於你現在的業務,用到的框架,去看看原理,比如tomcat 看看源碼,什麼是nio,
比如spring,看看aop的原理,比如mysql,什麼是btree,並發也是很重要的。
多寫才行,書是不會跟你講遇到的問題。會這麼多前端先做前端再轉後端吧
我是個前端工程師,我寫過很多頁面,購物流程,支付流程,訂單管理,帳戶管理等,這些都是以業務為主。
這些東西雖然有很多重複的東西,但是在完成每個需求你多少都會遇到一些之前沒遇見的技術性問題,這些都能夠幫助你更進一步。
我偏愛技術,和樓主一樣,對偏業務的東西不大喜歡,也不喜歡做重複的東西。
所以現在在完成工作的基礎上,我會想辦法去改善開發流程,優化現有的工具或者引入新的工具,然後有時間去琢磨頁面性能上的東西,怎麼做更好的優化,甚至可以產出通用的類別庫讓別人直接使用來達到表現更好(這些都偏技術一點吧)。
上邊提到的兩點,一個可以提升開發效率,一個可以提升產品體驗(後端方面也有可能是降低硬體成本),都是從側面來影響業務。
技術都是用來服務業務的。假設你是一個使用 java 來開發商城的開發者,當你成功地從事數據挖掘時,你也會發現你更擅長於電商方向的數據,因為有了之前業務給你的經驗。
最後再說說脫離工作方面的,對自己感興趣的方面,可以抽時間做一些開源的東西,無論是你說的數據挖掘還是Linux 運維都好,就像我(實力廣告植入),之前寫了一個SRL-JavaScript 和vscode 用的一個主題:Ayu,這些和工作無關,但並沒有衝突。
最近我還在學習 Golang,這是個好東西。
這個問題太大
1)跟三流沒有任何關係,別自卑。我認識物理專業沒畢業改行當程式設計師的,而且就這個網站,segmentfault的創始人小學文化吧,不讀了,憑自學成才,你自己可以查下
2)目前的教育體制存在巨大問題,填鴨式教育是培養順民的工具,反人性
3)技術並不重要,眼界才是關鍵,你代碼寫的再6單如果生活不快樂有什麼用呢?成為或跟隨大牛,沒有第二。所以你可以多看下NB人物的經歷,比如雷軍、週鴻禕等等
4) 獨自看書或視頻並沒什麼鳥用,團隊+導師+項目才是你要去找的東西
5)可以關注我公眾號,有比較多職涯規劃的東西,天朝碼農太苦了...