我目前是一名三流本科的大四学生,技术水平应该可以从我看过的书了解;《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)可以关注我公众号,有比较多职业规划的东西,天朝码农太苦了...