V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Navee
V2EX  ›  程序员

Java 程序员,工作 2 年,有点迷茫.

  •  
  •   Navee ·
    navee · 2014-12-16 10:57:21 +08:00 · 7171 次点击
    这是一个创建于 3632 天前的主题,其中的信息可能已经有所发展或是发生改变。
    12年毕业,毕业之后到今年9月一直呆在一家公司。
    之前的公司主要做电信方面的项目,刚进公司的时候还是个菜鸟,公司也没有人带,经过一年多的努力,混到了Java BS 开发组组长的位置。
    因为项目需要,前段做了ExtJs、EasyUI,js、html、css也是非常的熟练。
    因为产品需求,后台的话没有用到hibernate之类的ORM框架,用到了struts,spring等
    感觉自己Java相关的,前段后端什么都懂一点,需求来了也都能分析能选型,但是在技术上,问到细节和内部实现,还是很多的不知道。
    今年9月裸辞之后,找了一个多月的工作,发现自己没有多大的竞争力。
    面试问的那些java多线程,虽然都答得上来一些,但是毕竟项目用的少。
    问用过hibernate没,用过mybatis没,也只能say no。
    52 条回复    2014-12-17 15:23:11 +08:00
    cad0420
        1
    cad0420  
       2014-12-16 11:05:27 +08:00
    楼主很厉害啊,都能当上组长了。我和你情况差不多,可是还是一个码农。。_(:з」∠)_ 面试时候感觉什么都不会,自己其实都会用,会写,但是还是了解的太少,钻研不够。
    Navee
        2
    Navee  
    OP
       2014-12-16 11:21:53 +08:00
    @cad0420 公司人不多呢。开发每个小组5-8个人,三个小组。
    arslion
        3
    arslion  
       2014-12-16 11:42:33 +08:00
    干嘛要裸辞呢? 不做事前准备吗
    tini8
        4
    tini8  
       2014-12-16 11:43:55 +08:00
    当管理的条件:脸皮厚、手段狠。跟技术关系不大
    Keita1314
        5
    Keita1314  
       2014-12-16 12:03:14 +08:00
    外包公司就是这样
    hyinxiaoyu
        6
    hyinxiaoyu  
       2014-12-16 12:12:43 +08:00
    和楼主境遇差不多,我是在上家公司学不到新技术就辞职去了一家外包,现在感觉跟临时工一样.
    Navee
        7
    Navee  
    OP
       2014-12-16 12:27:39 +08:00
    @arslion
    辞职因素太多,当时辞职在家休息了半个月.
    Navee
        8
    Navee  
    OP
       2014-12-16 12:28:03 +08:00
    @tini8 同感,所以不太喜欢管理方向.
    Navee
        9
    Navee  
    OP
       2014-12-16 12:29:16 +08:00
    @Keita1314
    @hyinxiaoyu
    上家不是外包公司
    现在是在一家外包公司.工作感觉挺奇怪的.
    ren2881971
        10
    ren2881971  
       2014-12-16 13:13:24 +08:00
    为啥非得因为想学技术而去一家公司。
    我觉得应该看重的是发展吧~ 你技术再好还能好成什么样。。
    Navee
        11
    Navee  
    OP
       2014-12-16 13:21:05 +08:00
    @ren2881971
    不是因为想学技术啊.只是以前公司产品局限性太大,限制了自身的发展.
    ren2881971
        12
    ren2881971  
       2014-12-16 13:45:03 +08:00
    @Navee 你可以当上管理层 调整产品方向嘛。。 我觉得只要是公司文化跟自身的价值观相符合的话 就可以长期的干下去。。
    ren2881971
        13
    ren2881971  
       2014-12-16 13:45:24 +08:00
    @Navee 忘了补充下。前提下薪水能满足你的要求~
    LittleMK
        14
    LittleMK  
       2014-12-16 14:03:55 +08:00
    是否想走技术路线?
    iam36
        15
    iam36  
       2014-12-16 14:29:43 +08:00
    两年 ,只是把你所在环境的东西摸熟 。
    为什么要用这些 ,和别的区别在哪里?可以自行尝试一下 ,结合这个领域里的热点赶快摸索一下再去面试。
    HerrDu
        16
    HerrDu  
       2014-12-16 14:33:05 +08:00
    同样的感触,最近面试各种被虐。主要的原因是:自己没有注重好自己的发展。 没有进一步的打算的话,还是去达内,北大青鸟培训一下吧。
    ioth
        17
    ioth  
       2014-12-16 14:37:21 +08:00
    mybatis,hibernate简单,自己去学学。
    sdysj
        18
    sdysj  
       2014-12-16 14:39:40 +08:00
    又一个掉进 java 赶鸭式市场填坑陷阱的骚年。。。
    Navee
        19
    Navee  
    OP
       2014-12-16 15:05:45 +08:00
    @ioth
    自己平时也会阅读相关资料,也会写相关代码,但是我目前接触的面试官都会问:在实际项目中使用过没.挺无奈.
    thinkmore
        20
    thinkmore  
       2014-12-16 15:10:47 +08:00
    你可以和他说你使用过呗,其实我觉得更主要的是理解ORM的思想才是至关重要的!你可以把你项目中的亮点告诉他,你可以说虽然没有用过,但是会用呀!其实这个并不影响的
    Navee
        21
    Navee  
    OP
       2014-12-16 15:11:32 +08:00
    @ren2881971
    薪水基本能满足我的需求.公司业务方向以及各组,项目部管理模式实在是不喜欢.
    同事基本都是30多岁40多岁的,不太喜欢把新的项目管理模式引入实际的开发.(并不是那种非常新的但是能提高很多效率的,比如svn,ant,maven)
    公司也是开发电信政企项目,产品对性能毫无要求,所有人的目标就是:我能把这个功能实现出来.这个东西好不好维护,好不好扩展,很少有人考虑.
    我负责的产品扩展性和可维护性,都是我一个人在管理.
    真正考虑到性能的时候,都一脸茫然.
    Navee
        22
    Navee  
    OP
       2014-12-16 15:13:04 +08:00
    @thinkmore 接触了好几个面试官,都斩钉截铁的认为你没在实际项目中使用就没有继续讨论的必要了.
    Navee
        23
    Navee  
    OP
       2014-12-16 15:16:28 +08:00
    @sdysj
    真的很无奈.
    带过上家公司招进来的新人,基本上就是那种你让他写啥他就写啥的,从来不思考你让他写的是啥.
    遇到问题就一脸茫然,要么想都不想就弄,要么想都不想就问.
    Navee
        24
    Navee  
    OP
       2014-12-16 15:17:08 +08:00
    @HerrDu 兄弟,送你两个字:呵呵
    thinkmore
        25
    thinkmore  
       2014-12-16 15:17:33 +08:00
    因为他们觉得你没有在项目中使用,自己写的终究可能研究的比较浅显,因为你在自己研究的过程中遇到的问题不多,所以也就没有更好的解决方法!实在不行你就跟他们说,你用过呗,有些面试官很2的
    ioth
        26
    ioth  
       2014-12-16 15:23:58 +08:00
    有点规模的项目,数据库是必须,sql也得入门。
    电信项目前几年boss多牛啊,现在,呵呵。
    Navee
        27
    Navee  
    OP
       2014-12-16 15:29:13 +08:00
    @ioth
    作为一个java开发人员我觉得我的sql是合格的.
    能拿下电信政企内部项目,我觉得比的并不是项目多牛,而是关系和价格.
    lamCJ
        28
    lamCJ  
       2014-12-16 15:39:06 +08:00 via iPhone   ❤️ 5
    //以下内容纯属个人偏见,不赞同的呵呵就好了
    懂得少只能多读多思考多问了,你说的很多细节实现不懂其实很正常的。你说的熟悉的前端技术如html、css等等本身连编程语言都算不上,只是按照w3c的规定使用就可以了,以及各种框架的使用甚至于java(高级语言),都是可以不用怎么了解下层实现细节的技术,没任何什么瞧不上什么的,我自己也在用这些东西。我想说的就是你所有列举出来的技术在整个计算机学科中都是靠上层,所以本身就只需知道下层封装好的服务有哪些和怎么用就行了,这些找个牛逼点的前辈或培训班带你一段时间就了解得差不多了。也能开始从事开发。因此你不懂下面的实现细节也是很正常的。且不看日新月异的各种各样新鲜技术,计算机学科包含的基础内容其实就挺广泛的,数字逻辑、体系结构、操作系统、汇编语言、高级语言、算法与数据结构、网络等等每个方面都自成一个甚至多个领域,没有任何人什么都懂。工作之余建议坚持复习计算机科学与技术相关的基础课程,基础不能丢,丢了的要尽快补回来。不然理解高层比较空洞。同时,多读经典,自己自学的时候研究内容应该偏理论一些,而不光是只会用一些现成的框架控件等等所谓的轮子,的确,高级语言是我们编程更加简单和高效,我们也能毫不关注底层技术的实现细节,但是仅满足于使用轮子造机器的程序员是很容易被淘汰的,也不具备不可替代性。轮子也不是不会过时的,虽然我们不能都成为造轮子的那个人,但我们在后期还是至少需要了解人家的轮子是怎么造出来的怎么这么好用,思考过程中总能获得体会。说个悲剧点的话题,我们的程序员大部分都是在用国外大师(们)“出品”的各种标准,规范、编程语言,操作系统,硬件……再举例就要哭了,而一流公司做标准…四流公司做产品……而这些制造轮子的大师的当时根本没有多少现成的轮子来用,换成我们大部分程序员,可能就会说这还玩个蛋啊…大师们精通的都是万变不离其宗的基础理论,是真正懂计算机是个什么玩意儿…废话也不多说了,也不必自卑什么,历史白纸黑字写在那,知道自己处于什么样的位置不要装无知的B就行了,程序员尤其需要不断学习,读得越多你会发现懂的越少,所以少去菜鸟面前装b多想想大师的学问,然后谦虚坚持读书学习……应该懂的…
    imfine
        29
    imfine  
       2014-12-16 15:55:15 +08:00
    找到自己的兴趣(这是最主要的),进行学习
    ren2881971
        30
    ren2881971  
       2014-12-16 16:16:56 +08:00
    @Navee 你的上家公司跟我现在得很像~ 我之前也很厌烦。总觉得公司是靠关系拿很多项目,而不是靠自身的本事。但时间长了你想想~ 在中国靠关系没什么可耻的。 要是能在一家有关系的公司也挺好的。因为这个公司基本能养活自己,吃喝不愁,还是比较有发展的。努力干到管理层或者研发管理的话。还是可以按照自己的思维方式来进行项目。毕竟你是在中国,关系还是比本事好使啊。。BAT或出国除外~。
    Navee
        31
    Navee  
    OP
       2014-12-16 16:23:25 +08:00
    @lamCJ
    我承认,我目前处在的水平就是你给我个需求我知道要用什么轮子并且用这些轮子做出来.
    我感觉,我在项目中接触过的轮子,很少有机会去接触底层的实现.但是只要是接触过的需要通过底层来解决的,还是可以解决的.
    我曾经就解决了Sencha Touch一个子版本在某个webkit版本上的一个错误.
    为SenchaTouch 的一个插件增加了一个api以及实现.
    将一个jquery 的插件修改的更适合项目的使用.
    找到了一个项目生产环境的内存泄露原因以及解决.
    确实,这些东西都很上层,但是在现状就是这样,你要用这些东西把活干好.
    你说的"这些找个牛逼点的前辈或培训班带你一段时间就了解得差不多了",这个我觉得真得看个人了.因为本人做过培训,在培训中心也做过助教.在上家带过几个应届毕业生甚至一年工作经验的同学.
    最近也在读一些算法相关的书籍.
    我感觉我现在迷茫的不是没有方向,是找不到一个能够发挥的地方.
    mcfog
        32
    mcfog  
       2014-12-16 16:29:26 +08:00
    @lamCJ 原来前端技术只是按照w3c的规定使用就可以了,呵呵
    xiaoyukid
        33
    xiaoyukid  
       2014-12-16 16:32:08 +08:00
    可以考虑多读读书。
    Navee
        34
    Navee  
    OP
       2014-12-16 16:32:15 +08:00
    @ren2881971
    我想,我现在才23岁,学历也不高,不能呆在那样的环境里面,因为这个公司能养我一时,养不了我一世,毕竟不是铁饭碗.
    离职之前也想了很多,呆在上家,在管理方面可以有很好的提升,但是公司那么低效开发管理,并不是我一个人能够推动去更新的,况且公司的生产理念就是能做出一个能用的东西出来,好看就行.
    所以在公司呆了两年之后,就毅然的放弃了之前的职位,选择去一个能发挥自己作用的地方.
    Navee
        35
    Navee  
    OP
       2014-12-16 16:33:34 +08:00
    @mcfog html,css确实是这样的
    vainly
        36
    vainly  
       2014-12-16 16:50:03 +08:00   ❤️ 1
    楼主你好,你可以关注一下[github上的开源项目趋势](https://github.com/trending?since=monthly),
    1.你不需都知道这些项目是怎么实现的,调自己喜欢的,有感觉的,去仔细的深入了解(随意了解)
    2.你可以带着疑问去浏览,找到一些你能够解决你疑问后者问题的项目(简单引用)
    3.你要经常关注这些开源项目,管着这下项目的解决的问题,这样,在你以后遇到问题时候,你就会发现这些问题都会匹配上这些项目上,这个时候就可以简单的去引入一部分开源的轮子,自定义的修改。(应用)

    随着你的视野开阔和见识的增长,我想,你定不会这么迷茫。
    ren2881971
        37
    ren2881971  
       2014-12-16 17:07:46 +08:00
    @Navee 唉。 说的我也懂~ 但是因为我所在的城市的局限性,我跟你还不一样~ 鸟儿还是向往更广阔的天空!
    lamCJ
        38
    lamCJ  
       2014-12-16 17:14:38 +08:00
    @mcfog 应该是”前端技术如“,不是”前端技术“,好吧可能是后面那个”等等“出现歧义了,感谢纠正
    Keita1314
        39
    Keita1314  
       2014-12-16 17:14:57 +08:00
    @Navee 楼主尝试去一下互联网公司吧,技术氛围和周围的同事对新技术的态度都好很多!
    lamCJ
        40
    lamCJ  
       2014-12-16 17:28:59 +08:00
    @Navee如果你不为生计所愁,能选择能让自己能够成长的地方当然是最好,这么疯狂的年龄其实不想太多,20几岁干的就是喜欢的想干的事,哈哈,别被误导,你有方向坚持就行了
    ioth
        41
    ioth  
       2014-12-16 17:31:05 +08:00
    @Navee 你误解了,前几年运营商财大气粗,多少公司想招做过boss的。
    其实技术那是另一回事。
    之前你只用jdbc?
    Navee
        42
    Navee  
    OP
       2014-12-16 18:28:31 +08:00
    @ioth
    是的,由于产品的设计,jdbc更加的适用,hibernate 和 mybatis这类orm框架反而没法用.
    exploreexe
        43
    exploreexe  
       2014-12-16 19:17:22 +08:00
    我只能说这是个好帖,看到LS有人说关注github上的项目来学习的,觉得方法不错。希望其他V友能说下自己得想法,集思广益。

    我也有和LZ相同的问题,什么都懂点,但是什么深入下去问起来就不知道了,我认为我个人的问题在于理论知识的欠缺,动手太多了。什么新东西,网上一查下资料 啪啪啪几下搞出来了,但是深入的原理性的东西没搞懂,面试的时候老是被问住才发现自己掌握的压根都不怎么扎实。


    做产品稍微能避免这个问题,做外包和那种不关注性能的产品老是容易出现这情况,因为对性能体验什么的没什么要求,弄出来能点记下插到数据库就行了。 建议是去做主流产品,不要去做外包,没营养,而且会没时间深入的学习。
    GeekGao
        44
    GeekGao  
       2014-12-16 19:27:02 +08:00
    明显就是书读的不够多嘛
    Just1n
        45
    Just1n  
       2014-12-16 20:13:04 +08:00
    @GeekGao 不仅仅是书读得不够多,涉及到性能优化的项目经验也比较少。
    @exploreexe 同感。
    GeekGao
        46
    GeekGao  
       2014-12-16 21:15:07 +08:00
    性能优化的基本原则和方法 书里都有写。拿数据库优化来讲,理论基础不好,实战起来想积累经验也很困难。
    hitsmaxft
        47
    hitsmaxft  
       2014-12-16 21:25:27 +08:00
    最近两个三个月组内刚做java, 因此碰到的问题比较多, 我个人最近平均两天一个开源项目地看. 遇到什么问题直接把实现代码给看了, 第二天解决.

    关键还是下功夫打好基础, 其他都是空话.
    Navee
        48
    Navee  
    OP
       2014-12-17 12:39:39 +08:00
    @GeekGao 请问你能列出你说的书吗?
    GeekGao
        49
    GeekGao  
       2014-12-17 12:46:19 +08:00
    @Navee
    《深入理解计算机系统》 《Java虚拟机并发编程》 《深入理解Java虚拟机》《深入Java虚拟机》《MySQL性能调优与架构设计》 《Java性能优化权威指南》 《Effective Java 》《Spring技术内幕》 还有很多经典不一一列举了。
    cdxem713
        50
    cdxem713  
       2014-12-17 13:05:03 +08:00 via iPhone
    @Navee 就那标准就够喝一壶的了
    对于css,写出东西很容易,要想真正弄懂,又是另一回事了
    Navee
        51
    Navee  
    OP
       2014-12-17 13:39:56 +08:00
    @GeekGao thanks
    ioth
        52
    ioth  
       2014-12-17 15:23:11 +08:00
    @Navee 所以,这两年是互联网潮流,web3.0,java还是要选择好框架,否则敏捷开发玩不过其它东东。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3645 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 04:42 · PVG 12:42 · LAX 20:42 · JFK 23:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.