一枚即将毕业的程序员想咨询几个问题,大家有空的话都进来看看吧~ - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
acrisliu
V2EX    程序员

一枚即将毕业的程序员想咨询几个问题,大家有空的话都进来看看吧~

  •  
  •   acrisliu 2015-06-06 15:47:17 +08:00 5749 次点击
    这是一个创建于 3862 天前的主题,其中的信息可能已经有所发展或是发生改变。
    各位V友大家好,
    本人即将大学毕业的程序员一枚,在学校主要学习Java EE,目前在某外包公司实习。
    即将毕业了,我对自己的前途有点迷茫,最近经常逛V2EX,发现自己要学的东西实在太多太多。目前绝大部分做Java Web开发的公司,仍是以SSH或者Spring MVC,MyBatis等成熟的框架为主。本人之前已经对Java Web有点厌倦了,就是因为他太依赖框架,感觉对个人能力的提高不太明显。我是那种喜欢追新的人,系统、软件、开发工具、程序语言等等都喜欢玩最新的。
    恰好这两天接触了一下传说中的Play Framework,让我对Java的激情又回来了,顺便还想学习下Scala,然而就在我了解Scala的时候,我又想学习Groovy了.....
    说了那么多废话,那么问题来了,Java、Scala、Groovy,这三门语言我该何去何从呢?另外,如果我学会了Play Framework等等新框架,以后能找到工作么(我害怕一进公司又是SSH+JDK6+MyEclipse 8...)?
    其实也考虑过转行,去做做前端,或者写写“世界上最好的编程语言”,但是感觉学习成本有点大,还不如走Java的老路来得爽快,各位有经验的大大们,麻烦指点一下迷津,感谢各位哈~
    第 1 条附言    2015-06-08 13:51:26 +08:00
    没想到收到这么多V友的回复,感谢各位的建议和意见。
    昨天试着接触了一下Play2,但是下载依赖的速度有点慢,和IDEA一起用的话还会有些小BUG。
    今天在@lostpupil的建议下看了一下Ruby on Rails,感觉还不错,所以暂时准备学习下Ruby语言,IDE准备用jetbrains的RubyMine。
    再次感谢大家的指点哈~
    55 条回复    2015-06-08 19:26:56 +08:00
    ren2881971
        1
    ren2881971  
       2015-06-06 15:57:34 +08:00
    听哥一句话,趁你年轻时间多。

    趁早跳出外包公司,远离企业开发

    不要问我为什么。这么做就对了。

    语言只是个工具而已。
    hellomsg
        2
    hellomsg  
       2015-06-06 16:01:22 +08:00
    感觉还是别在外包公司待,找个互联网公司。
    wy315700
        3
    wy315700  
       2015-06-06 16:13:48 +08:00
    在哪工作无所谓,
    活的开心就好。

    最好下班后能有一帮人出去吃烧烤喝啤酒吹牛。
    pengfei
        4
    pengfei  
       2015-06-06 16:34:19 +08:00
    @hellomsg 我属于类似的情况 不知道怎么去选择
    acrisliu
        5
    acrisliu  
    OP
       2015-06-06 16:43:46 +08:00
    @ren2881971
    @hellomsg
    感谢提醒哈,其实我也不想待外包公司了,拿到毕业证就准备换了,但是学习还是要继续的~
    incompatible
        6
    incompatible  
       
    依赖框架不是问题。问题是你有没有试过去了解框架背后的东西? 用spring和不用spring、用mybatis和不用mybatis的区别在哪? 事务是如何控制的? AOP是怎么实现的? 为什么要用IoC?

    Java业内规模稍大的公司,基本还是在用spring、mybatsi/hibernate这套主流框架。一些小的团队可能会使用play framework。学习后者不会带来太大的好处,但也没什么坏处
    neo2015
        7
    neo2015  
       2015-06-06 16:53:23 +08:00
    如果说,楼主已经吃透了spring,即了解了背后的东西。那么楼主可以随意这样说
    nj
        8
    nj  
       2015-06-06 17:35:34 +08:00
    @hellomsg @ren2881971 能否给稍微详细的说下为什么都劝不要去外包公司呢? 感觉实际上也没多大差别。
    ren2881971
        9
    ren2881971  
       2015-06-06 17:37:43 +08:00
    @nj 去感受下就知道了~ 因为我的工作有一部分是带领外包开发。。
    真心不想有人跳进外包的坑。
    frankzeng
        10
    frankzeng  
       2015-06-06 17:39:12 +08:00
    你在酷工作节点看看,有几个公司是招java企业应用的,没几个,大多都是php、python,所以赶紧转语言吧。
    nj
        11
    nj  
       2015-06-06 17:49:11 +08:00
    @ren2881971 你还是没说为什么坑。。。
    w99wen
        12
    w99wen  
       2015-06-06 17:57:43 +08:00   3
    @nj
    我亲哥哥是个小队长,手下有几个做外包的,他的说法是,一般都让外包做非核心部分。也就是坐坐比较杂活的活。
    而且,外包(貌似叫合作员工)一般都呆不久,有经验之后都想跳槽。
    最重要的,外包的员工是没有地位的,除非你技术过硬,有经验。
    菊花对外包真的是说辞你就辞你,老大看某个外包不爽,直接内定让你闪人。
    给不给涨工资也是有指标的,其实涨了,外包公司也要拿走一部分。
    最后很多时候就是知道外包员工要走,但是没办法,留不住,本来就是找个干那种活的,能给多少钱,给的多了,节约成本的目标就没办法实现了。


    总结一句话,好汉不做外包。
    外包外派公司说的天花乱坠,找你来,让你去应聘签合同,说什么微软什么腾讯什么移动的项目,其实说到底,这些项目都跟外包员工没有半毛钱关系。
    那些找外包员工的公司大都是大公司,大公司的待遇比较好,人力成本贵。有些事情根本不需要那么高的技术水平,也自然不需要那么高的薪水。
    外包或者外派是来接收这部分需求的。

    我是从来不肯做二等公民。
    ren2881971
        13
    ren2881971  
    &nbs;  2015-06-06 18:08:01 +08:00
    @w99wen 有人替我说了。。 我懒得码字。。
    acrisliu
        14
    acrisliu  
    OP
       2015-06-06 18:14:00 +08:00
    @w99wen 说的很有道理
    karloku
        15
    karloku  
       2015-06-06 19:12:24 +08:00   1
    招聘中接触过外包公司和互联网公司出来的, 年限差不多的人接触起来, 差别还是很大

    外包公司做的的那些通常会有比较大的项目经历, 做事也快, 但是普遍来说技术面会比较老比较窄. 要么是接手其他外包公司卖出来的项目, 要么就是用外包公司自己的那套开发框架. 这样的环境里人再有进取心也很有可能是往错误的方向, 因为日常接触的项目会影响人的眼界.

    互联网公司里这个对技术探索和学习的氛围就好多了.

    努力的人都会有进步, 不过既然都那么努力了, 找个对得起自己努力的地方
    acrisliu
        16
    acrisliu  
    OP
       2015-06-06 20:07:26 +08:00
    @karloku 嗯嗯,我也这么觉得,毕业后还是决定去找个互联网公司。
    wee
        17
    wee  
       2015-06-06 20:44:03 +08:00
    16应届,还不是和还没开始找工作,当初也有点后悔入了javaEE的坑,但学习时间略长,就不想换主力语言了。
    现在在做的就几点:
    1.好好刷题,注重算法和数据结构
    2.开始深入了解jvm
    3.除了SSH,了解play,jfinal等新的框架,开始学习ruby,学习ROR,做点demo出来

    我给自己限定的学习范围就是jvm上能跑起来的都学习下...
    感觉未来发展的方向肯定是DSL和混合式编程,so学习下ruby对java的开发应该会有点好处,至于scala这个齐活的语言,觉得招聘的时候会ruby就够了,公司需要可以现场学,学习还是应该深入一点,不能什么都学而不精。
    还有现在的公司都不用intellij吗,弃用eclipse一年了...

    另外其实我也挺迷茫的,跪求找实习的经验....
    forkon
        18
    forkon  
       2015-06-06 21:10:14 +08:00 via iPhone
    《你的生命有什么可能》本有你要的答案
    hellomsg
        19
    hellomsg  
       2015-06-06 21:10:29 +08:00
    @karloku 赞,要对得起自己,别太贬低自己的实力
    acrisliu
        20
    acrisliu  
    OP
       2015-06-06 21:13:41 +08:00
    @wee 看来我们有点相似哈
    acrisliu
        21
    acrisliu  
    OP
       2015-06-06 21:13:52 +08:00
    @forkon 有空我会看看
    chenggiant
        22
    chenggiant  
       2015-06-06 21:45:13 +08:00
    话说楼主有用过Primefaces么...最近被这个折腾的要死呀!....
    acrisliu
        23
    acrisliu  
    OP
       2015-06-06 21:51:07 +08:00
    @chenggiant 这个我没有用过哦
    lujiajing1126
        24
    lujiajing1126  
       2015-06-06 22:11:29 +08:00   1
    Java最重要的还是并发编程(参考JCIP),内存模型(JSR-133),JVM,NIO网络编程(Netty,Mina)

    至于JavaEE,我不是很熟,但是我觉得javaEE的标准才是最重要的,像jms之类(JSR-194)

    Scala确实不错,语言你学不完,最重要的还是基础,Scala,Groovy的话就是FP编程,可以学习一下LISP系(SCIP等)
    acrisliu
        25
    acrisliu  
    OP
       2015-06-06 22:17:05 +08:00
    @lujiajing1126 好的,谢谢你的建议~
    MarineLv
        26
    MarineLv  
       2015-06-06 22:55:32 +08:00
    会java的话可以顺便学学andorid啊,现在还是挺抢手的。
    后端开发的话,越是初创公司越倾向于Ruby on Rails/Python/Node.js这类脚本语言,开发速度快。越是大公司越倾向于用java这样的强类型语言,代码规模大了以后比较好控制。
    Lucups
        27
    Lucups  
       2015-06-06 23:29:20 +08:00
    还不快快加入PHP开发大军!

    P(拍)H(黄)P(片)前途无量~
    MrEggNoodle
        28
    MrEggNoodle  
       2015-06-06 23:41:31 +08:00
    @wee 其实你出来两年你会明白,语言说到底只是一个工具。
    acrisliu
        29
    acrisliu  
    OP
       2015-06-07 00:16:06 +08:00
    @MrEggNoodle 所以经验和能力才是最重要的么
    em70
        30
    em70  
       2015-06-07 00:19:42 +08:00
    有java基础,赶快转android开发,市场急缺移动应用开发人员,你看看多少创业团队只差程序员就明白了
    sinofool
        31
    sinofool  
       2015-06-07 00:28:19 +08:00   1
    我做了10年开发,回头看看最重要的两点是:做核心业务,深挖技术根源。
    acrisliu
        32
    acrisliu  
    OP
       2015-06-07 00:38:53 +08:00
    @sinofool 多谢指点哈
    LoongT
        33
    LoongT  
       2015-06-07 00:40:49 +08:00
    大学快毕业的时候,能拿出手的也就是一门 Java,但并不会 JavaEE 方面的东西。
    (想起来毕设是用 Java 加 Play 做的。)
    然后我现在做的是 Android。这个是可以考虑转方向的。个人觉得 Android 比 JavaEE 前景要好一些。
    不过 Android 有 Android 的苦,我有发帖子抱怨过...

    我有自学过 Scala,然后我的公司主力语言是 Scala,框架 Lift。
    学好了 Scala,我觉得是不会愁工作的吧。Scala 还是公认难度较大的,加分比较多。
    另外是 Scala 的明星项目,Akka 和 Spark,你也可以考虑在这两个框架下的机会。
    Groovy 没太多了解,就只知道个 Gradle,不多说..

    不过程序语言的确就是个工具,用着趁手最要紧。(其实我也还没达到不纠结语言的水平。)
    学习共通的东西:OO pattern,FP pattern。或者研究下 JVM 相关的东西。

    对 LZ 想说的话基本就是想对自己说的:别纠结了,快去做!
    hippoboy
        34
    hippoboy  
       2015-06-07 02:15:49 +08:00
    语言只是工具+1
        35
    shenyi26  
       2015-06-07 03:15:59 +08:00
    IoC, DI都搞明白了吗?Spring 火了这么多年总是有自己的道理的,背后的种种模式也是学习的很好途径。一味追求最新的技术也不是什么好事。当然scala还是值得一学的,了解一下函数式的理念。外包公司还是不要呆了。
    ruandao
        36
    ruandao  
       2015-06-07 03:25:36 +08:00
    http://huyuefeng.me/intro-to-prog/

    我也推荐下 sicp , 我正在啃,是看别人的推荐推荐的...orz

    就是看,3年,5年后,你会怎样

    我自己比较折腾,很多东西都去学,学的杂, 但是,记忆不行....基本上,一个东西久不用就忘了...留不下来的不属于你

    别玩!!! 拿本书(经典的才有用...)啃下来
    anubiskong
        37
    anubiskong  
       2015-06-07 08:36:25 +08:00
    珍惜青春, 远离java
    north521
        38
    north521  
       2015-06-07 09:36:07 +08:00
    管他什么语言,反正总会过时的,钱多才是王道,我见过写jsp+servlet 的年薪百万,说实话,不过是经验积累+学习能力+跳槽。
    hpeng
        39
    hpeng  
       2015-06-07 11:27:19 +08:00 via Android
    不要贬低其他框架…他们这么热门是有道理的。如果你仅仅是用厌了那些框架,我没话说。要是能写出这差不多的框架那就是牛逼哄哄的人了
    blackboom
        40
    blackboom  
       2015-06-07 13:31:01 +08:00 via Android
    我为什么在学习过程中讨厌框架
    正在看java虚拟机相关的书
    magicdawn
        41
    magicdawn  
       2015-06-07 15:33:03 +08:00
    @ren2881971

    > 趁早跳出外包公司,远离企业开发

    怎么说? 把码农真的当码农了?
    zonghua
        42
    zonghu  
       2015-06-07 15:41:19 +08:00 via iPhone
    @li24361 在越南工作吗?那些繁重的框架都是基于servlet吧?
    acrisliu
        43
    acrisliu  
    OP
       2015-06-07 18:54:42 +08:00
    表示今天折腾了一下Play框架,下载依赖慢的想死...
    lostpupil
        44
    lostpupil  
       2015-06-07 19:17:48 +08:00
    额 Play我公司用了,大概就是几个问题,依赖安装慢,运行慢,页面多了之后,重启服务器需要很长的时间。
    Java EE是我课设做完之后就丢掉了,做网站RoR更懂你,别问我为什么。然后其实你知道很多JVM上面的语言,但是你并没有提到Clojure,Clojure没有那么多的框架,它主张是最小可用lib,如果你学了他,对于你今后都很有用处的哟。讲真。
    fresco
        45
    fresco  
       2015-06-07 19:37:20 +08:00
    @ruandao 非常不错的文章,看完受益匪浅,感觉就是在说自己。
    zhang2273388
        46
    zhang2273388  
       2015-06-07 20:17:25 +08:00
    @wy315700 我不得不赞一个
    wy315700
        47
    wy315700  
       2015-06-07 20:20:39 +08:00
    @zhang2273388
    其实一个学体育的人说,你们做IT的,孤独 ,没朋友。哪像他们,遇到麻烦一个电话,一群哥们出来替你搞定。他们有一次,学校里三个同学和小混混打架,被抓到派出所,结果整个学院出动,包围派出所。
    acrisliu
        48
    acrisliu  
    OP
       2015-06-07 20:25:21 +08:00
    @lostpupil 嗯嗯 多谢指点 有空我会看看Clojure
    xiparos
        49
    xiparos  
       2015-06-08 06:43:35 +08:00
    珍爱生命,远离java,只要是企业级开发的一概不碰
    从iOS,Android移动端学习下语言和框架
    wowpanda
        50
    wowpanda  
       2015-06-08 08:12:03 +08:00
    @LoongT 请问怎么跳到以scala为主要开发语言的公司呢?
    lostpupil
        51
    lostpupil  
       2015-06-08 08:55:29 +08:00
    @acrisliu 简单来说,你学了Clojure就不会有这么多选项了。还有就是前端的问题,前端其实挺麻烦的,要学习的知识一点都不少,而且目前你的水平远远达不到一个前端的水平。切不要因为他们说前端简单就去信了他们的邪,个人能力的提高其实在于经验的不断积累,如果你把JavaEE做好了,一点也不会逊色,我也是一个追求新东西的人,RoR,Node,Swift,如果说你喜欢web开发,RoR能让你写的很快乐,如果你不喜欢框架,那么Clojure适合你。小而美。喜欢手机端那就去学,其实安卓也是Java写的。本质上并没有差别,从一个框架换到另一个框架,iOS开发的话,入门选斯威夫特。一个优秀的程序员并不只是会一种语言,语言只是工具,当然好的工具能让你更快的完成事情。真重要的其实是经验,现在的你其实更需要经验的积累。然后你会发现不同的问题,不同的语言其实也有不同的解决方案。
    acrisliu
        52
    acrisliu  
    OP
       2015-06-08 10:21:31 +08:00
    @lostpupil 感谢你的指点,不过想问一下,现在招Clojure或者RoR程序员的公司好像不是很多吧?我貌似一直没看见过,如果学习这些不是特别主流的语言,会不会给以后找工作带来难度呢?
    LoongT
        53
    LoongT  
       2015-06-08 11:22:17 +08:00
    @wowpanda 我并不是跳槽过去的...
    所以我只能建议在找的时候就找需要 Scala 程序员的。
    或者是找 Spark、Akka 相关的。
    wowpanda
        54
    wowpanda  
       2015-06-08 12:08:14 +08:00
    @LoongT 但是现在招聘网站上scala招的好少啊,另外如果是应届毕业生刚刚毕业离校,想找scala这方面的工作的话,难度大吗?
    LoongT
        55
    LoongT  
       2015-06-08 19:26:56 +08:00
    @wowpanda 我并不是以 Scala 开发入职的,所以并不是非常了解...
    Scala 为主力语言的公司的确不多,但同时 Scala 开发人员也一样不多。所以找工作还是看水平吧。我觉得基础过关,公司也该愿意培养的。毕竟选择了 Scala 多少能说明你有一定的驾驭语言复杂度的能力,同时也对新技术有热情。
    一部分公司虽然不是以 Scala 为主力语言,但系统中的一部分需要 Scala 开发人员。也就是 Spark 或 Akka 的应用方向了。这个也可以尝试一下,然而我也了解很有限。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2458 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 07:08 PVG 15:08 LAX 23:08 JFK 02:08
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86