2
回答
OSCHINA 问答合集[3]:无法确定自己的方向,又无法转行怎么办?
华为云4核8G,高性能云服务器,免费试用   

开源中国问答区新栏目“OSCHINA 问答合集”上线啦,本期收录了 6 月高热度的问题及回复(吐槽),希望能让你有所收获~!

关于本期问答合集收录的问题,似乎很多程序员都在职业生涯这方面遇到了一些困惑。兴趣和工作如何抉择,人生又该如何规划?职业发展遇到瓶颈,对于将来的方向没有指向,又该如何继续?

不多说了,各位接着阅读大家的精彩回答吧~!

进入问答区:

你可以在技术问答版块畅聊技术
你可以在职业生涯版块寻道解惑
你可以在IT大杂烩版块和大家谈笑风生

我们希望:

这里可以成为一个能让大家有所收获的地方。因此,这里拒绝攻击、拒绝谩骂、拒绝无脑黑。
这里可以沉淀大家各种的技术问题。无论是新手的基础问题,还是高端玩家的资深问题,都是有价值的。
这是一个更纯粹讨论技术的地方,能给程序员提供一片友好交流的清净之地,不懂的可以在这里寻找帮助,懂的可以在这里帮助别人。

总之,

在这里你可以向所有人提问。
反正你的问题可能会没答案。;-)

==========分割线==========

开源中国技术问答

@qwzh110:准备组建3-5人的前端团队,技术选型react和vue,应该选哪个呢?

个人后端出身,准备组建3-5人的前端团队,技术选型react和vue,应该选哪个呢,请有经验的建议。

>>>-鹏
我相信评论区肯定有说vue,也有说react的。
但是我认为楼主肯定要的不是这样的回答。
我来帮你分析一下吧。

首先确定要不要使用框架。
项目的复杂度和框架复杂度应该成正比,因此首先要评估有没有引入复杂框架的必要,
然而大多数情况是有必要的,但也不一定。

然后明确项目的目前的复杂度和将来(近几个月或者一年半年)的复杂度情况。
vuejs和react都有着自己的特点,我不从原理上进行了分析了,因为楼主也并非专业人士。
简单来说,vue更加”自动化,智能“一点, react”更加自由,可控性更强“,
不知道这么说你能否理解。

最后还要明确当前人员的技术栈情况,如果团队还没有组建,也要考虑招人的情况。
就我个人经验来看, 精通react的会更少一点。相反懂一点vuejs的人会更多一点。

>>>要吃九个橙子
看团队水平跟项目的复杂度,Vue React 各有各的优点,如果团队平均水平高的话可以直接上 React + Typescript + Redux。
楼主说自己后台出生,要是能决定前后端的交互方式再加上个 GraphQL 那就完美了,Vue 的话也很棒,Vue + Vuex 上手简单产量快,但是有点必须要提,Vue 上手很快,但是想用好太难了,再说下项目复杂度,如果业务贼鸡儿复杂,前后端交互非常频繁,强烈推荐把 Redux 或者 Vuex 换成 Rx.js

@无心1990:开发人员所说的接口程序开发指的是啥?

现在不理解开发人员所说的接口程序开发是什么意思?接口不就是定义一个常量加方法吗,哪个类需要他,去实现他就完事了,这有啥开发的?他们开发这个接口来主要干啥用?是提供一个规范给别人或者第三方使用吗?我的个人理解

>>>夏夜微凉
作为程序员要有抽象的意识:

好比去银行取钱,你或是代理人拿着凭证(身份证,卡/存折等)去取钱,你把银行要的验证身份信息的东西(凭证,卡/存折等)给柜员或是ATM,告诉他你要取钱,要取多少,输入一下密码,ATM或是柜员会把钱给你,这里的凭证,卡/存折等,密码就好比接口定义好的必要的参数,给你的钱就好比返回值,你只关心我拿出钱了,钱怎么生产的,怎么运输的,你完全不用关心。银行的柜台,ATM就是一个接口,你去办业务就是对接,只要给与相应的定义好的参数(凭证),就能办业务(各种各样的业务),你也不用关心柜员或是ATM是怎么办理的,你只关心是否办理成功,没有成功的原因是什么,成功以后的回执要盖章(错误信息和回执好比返回信息)。

以上是本人的一些愚见!

>>>jason_66
简单来说就是一个支持信息交互的url,比如某个某一天某个公司提供给你一条域名 http://xxxxx.com/xx?b=1&e=10
你程序构建httpClient请求这个域名,会返回给你一堆信息,这个http:xxxxx.com/xx? 就是一个接口。
再或者 http://xxxx.com/addUser?name=xxx&pw=xxx
你httpClient 请求这个域名 , 即可添加一个用户。 这个http://xxxx.com/addUser 也叫一个接口。
当然其中的道道很多了,有得说。

就跟你写servlet一样, 只不过把这个servlet的映射地址对外开放,别人请求你这个映射地址,就相当于执行了你的servlet。

@节节草:内网搭了个gitlab,团队其他成员认为svn足够了

都不愿意接受和学习新事物,哪怕新事物更好。我跟他们说git比svn最明显的优点是可以建立多分支版本,项目对外发布时不容易出错。难道我的出发点不对吗?

>>>sleetdrop
SCM 只是软件交付流程中的一个工具,不必太纠结。git 比较繁复,但提供每项功能都是实打实的解决源码版本控制的痛点的,但上手有成本,且灵活性过高,未必完全适合企业使用,所以虽然同样是用 git,根据不同的公司类型、开发的软件类型、交付的形式和节奏使用起来都各有不同。也就有了各种不同的 flow。比如 linux 内核的 flow,前两年推荐的 git flow, Github 基于 PR,Gitlab 基于 MR 的 flow 等,都是受限的使用 git 的一定量的子集来构建适合具体场景开发流程的。而且像认证,细粒度权限控制粒度等 git 自身并不提供企业类型的支持,所以不是用 svn 就落后,用 git 就先进。

早以前 visual sourcesafe 和 cvs 等现在看起来那么尴尬的东西也支撑了很多大型的成功项目。如果 git 不熟练,不守规约,可能会引入更疯狂的问题。但如果用好了,生产力是远大于 svn 的。且 git 也不算啥新东西,这种 DVCS 也有一些历史了,还可以算上和 linux 社区闹翻前 Linus 用的 bitkeeper。还有目前 nginx 还在用的 mercurial。都是开发了数年的成熟的 DVCS 实现了。

在团队中永远有部分人会接受新事物,一部分顽固派,一部分骑墙派。可以参看《布道之道》那本书里推荐的一些方法。

但你要有意愿引入新的生产力工具就要自己多花些时间把相关的东西搞通,然后 show 给大家。比如你把 svn 里的项目导入到 gitlab 里给大家秀一下它的好处,特别是对于生产力提升方面的,会得到 Team leader 的支持,这个对于执行比较重要。现在 gitlab 除了对于 flow 的支持,也带有 wiki, bug 和需求跟踪,CI/CD 的各种接入等功能。对于中小型团队足够用的。

所以你与其烦恼发帖,不如先按楼上@uniqptr提到的去弄一个生动的小课件之类的给大家以正确的姿势安利一下。
BTW: 看到 uniqptr 的昵称好想在前面加个 * 取出来看里面有啥 :)

>>>北河
个人认为,你自己都不熟悉git的情况下,你们转git出问题的概率只会比svn更多。

>>>As-xjc
1. 国内不愿意学新技术,吃老本,能用就够,不思进取的程序员多得去了。
2. 只针对程序员,对于愿意学的人,我安利过的,没有不觉得Git真的好用。
3. 如果是针对非程序员,则没必要安利了,svn对他们来说都不一定用得好。
4. 如果团队不愿意接受(参考1),则自己私下用咯,我也试过,svn和git同时用,最后提交到公司代码的时候才svn ci

职业生涯问答

本期的职业生涯问答,内容篇幅比较长,不过我觉得都十分值得一看。

@迷途的码农:遇到一个奇怪的事情,虽然知道不好就是过不去

最近入职一个新公司,然后过了一个月,来了一个新同事,居然是以前的高中同学,然后他的岗位等级比自己高了2级,薪资多了60%。

同学以前读书不好,专升本,工作才4年,虽然简历写什么技术专家,我也跟他没什么联系。但是知道情况后,突然感觉人生好失败。
以前的成绩比自己差那么多的同学,现在已经岗位比自己厉害这么多。

虽然说人比人气死人,可能别人后面努力了很多,但是心里总是过不去,怎么破?
求大家来安慰,或者大家有遇到过这种情况吗?

>>>freezingsky
比较竟然从高中开始,你怎么不把小学同学比一下?不过,也正如你所说的,人家高中成绩差,所以才读了个大专。但人家开悟后,知道大专找工作不容易 ,更加努力的学好专业知识的同时,又考了个专升本。有的人,会把努力养成一种习惯。有的人,会把过去当成一种资本。

>>>蓝水晶飞机
我发现我初中和小学同学,上课天天放羊的、参与打架的,他们好多个都开好车、住好房、有的还有媳妇娃儿,而我自己,认为自己读书还是比他们用功,竟然坚持做了这个行业。相比之下,他们有的懂得做生意,生活过得比我好太多。

补充,五一我和几个大学同学见面聊天,一个同学已经做了地磅的生意(人家是好几个地方开店坐等收钱啊),另外一个同学也已经买房,而且还再电商方面做得挺专业、已暂崭露头角,另外一个同学已经开始做同城线上线下的业务(美食)。

以前我总以为自己很牛逼,学习都比他们认真,专业成绩都比他们好。但现在看来此一时彼一时啊,他们外行的人有的头脑人脉都比大多数程序员好。

你以为自己仅有的技术能打天下吗?我感觉已经太难了。
无奈,人人的路都不一样,自己的路也是自己选择的,有什么不公平呢。

>>>ycookies
我以前在读书时代和后面的好长的一段时间里面,心里总是不自动的会和我玩的好的朋友做比较。
结果发现,我经常不如他们。怎么努力,都没有他们成绩好。状态没有他们好,认识的人没有他们多,心里相当的失落和自卑。总是走不多这个怪圈。
近几年,慢慢的也想明白了,每个人都有自己的特点和活法,只要努力活的比昨天好。不要去把注意力放在别人身上。还打击自己的信心。

>>>谁偷了我的名字
不能拿学历来衡量你们之间的差距,再说人家能专升本,也是努力过的。而且有些人就是偏才,自己亲身体会过,高中分科以前,我名列前茅,我成绩很好吗?不是,全科都是中上而已。分科后明显感觉排名下了一大截?为啥?因为在一些学科就是比不过人,我不努力吗,不是,我做的东西不比任何人少,比不过就是比不过。而且,你看到别人的成绩的时候,更要看看别人是不是努力过,也要看看别人是不是真的比自己强。如果是,就更努力,和他经常吃个饭,交流一下心得,分享一下技术。又有何不可?嫉妒心,只会让你止步不前,或是步履缓慢

@超咸鱼萌新:无法确定自己的方向,又无法转行怎么办?

非科班出身,出来工作的时候也就培训生那种水准。
最初在做servlet jsp  ie6-8前后台都做。后来接触了ssh和ssm,前端也换成了兼容chrome
再后来dubbo,zookeeper,spring boot都有搞,前端也换成了webpack vue前后端分离,也有拿nodejs+express做前端。等等吧,做的足够杂,4年工作经验,有一半时间都是做,研究需求(但我不是主要的)+前端 + 后台 +  测试 + 部署,算是伪全栈?学的很杂,啥也不精。
到目前为止,也算是干啥啥不行,吃啥啥不剩。

一般4年经验,都有确定自己的行业方向,和专精方向。而我目前,既没有行业方向,也没有技术方向,目前临近跳槽期,很迷茫,不知道该做什么,虽然拿offer不成问题,但是进好公司还是没多大希望的。

转行是不可能的,毕竟废人一个。
诚心接受大家批评

>>>土拨薯啊
1.去人多的公司,专心做后端,宁可工资低一点。
2.不要碰太多前端的东西,大部分都是活不过两年的轮子。
3.写博客,不要转载,自己一个一个字敲,用自己的理解写出来,包括新技术的demo。
4.少玩手机多思考,等车坐车都可以思考设计模式,算法,jvm优化之类的偏理论的东西。
5.我觉得最重要一条,保持一定的社交时间,每周参加户外活动聚会或者兼职销售,等到你想转pm或者技术总监或者CTO的时候再练就晚了。(程序员大部分都有意无意逃避社交的)

@BobbyLou:工作和滑雪徘徊了4年,高不成低不就,我该如何重新规划人生?

我大学学的是计算机专业,这专业对于我来说,不能说是痴迷,起码不排斥.因为每次上完课,我没有继续看开发方面的东西,业余我都会参加社团活动,还创办了街舞社.大学毕业后,找的第一份工作,是测试岗位(餐饮行业,规模400人),薪水2.5k,干了1个月发现不感兴趣,感觉比较倾向开发,后来基础很薄弱,找不到工作,托关系找了一家公司(中国石油行业,规模20人),做java软件开发.学习了一年,补贴是1k.后来,公司人少,要忙于自己的项目,没有时间继续带我.所以我辞职换下一家公司(教育信息行业,规模8人).同样也是软件开发(nodejs,html css js等),薪水是4500.后来公司找各种理由辞退,然后还想耍赖不给我结钱,接着脱产自学3个月学java基础,但是越往后越学不进去.后来找了一家上市公司(医疗行业,规模5000人),做软件开发(ssh框架开发),薪水6000,干了2年多,没什么提升,中间老大找我谈过两次,提升自己,我努力过了没用,最后找我谈的时候,老大说两条路,一条路,继续做开发,岗位评级过不去,一辈子就到这了.还有一条路就是给我换行政类的岗位,说对我来说轻松,没有难度.我就果断辞职.又换了一家公司(教育信息行业,规模目前150人,刚入职48人,半年的时间,发展迅猛,150人),前端开发,薪水7k,干了半年,依然没提升,中间找同事沟通过提升的方法,可是我现在28了,人在北京.我反思了一个月,工作四年了,我是不是不适合做软件开发呀.我是不是该改行呀.

在工作的4年,我比较痴迷的就是滑雪,滑雪每年的冬天,坚持每周都去滑雪,不管挣多少钱,我总有办法能滑上雪,现在,我滑雪水平,基本可以参加品牌商主办的小众比赛.名次基本能进决赛.同时,一家旅行社赞助我住宿,条件就是教新手滑雪.然后因某品牌推广的需要,我创办了免费公开课.还创建了个人微信公众号(内容就是滑雪技术相关的东西),大家的反响也很好.同时有了一定的影响力.目前滑雪是我的爱好,没有考虑过是否当成事业来对待,因为目前的滑雪并没有给我带来什么收入.要说给我带来收入就是私人滑雪教练. 目前有个俱乐部请我做教练,还没有实施.

在这里,根据我这情况,我该怎么重新规划人生.毕竟在北京一个月7k根本不够花.不管怎么规划,总得改变现状.多谢大神指点迷津.

>>>tcxu
北京周边,近年来兴起了山地滑雪(CROSS COUNTRY)和高山滑雪(DOWN HILL) 两项冬季运动?不知你爱好的是哪一种?我不了解北京的行情,滑雪教练的工作,受季节限制,只是在冬季才用得上?在加拿大,冬季时间长,滑雪的资源比北京丰富,当然滑雪也需要一定的开销。许多儿童居民冬季也随家长去高山滑雪,没听说有什么滑雪教练在执教,7、8岁的小孩,自己自然就学会了,并且滑得很好。
在我眼里,普通教练这个饭碗的前景,并不看好。当然,要成为专业运动员,那必须要有高级教练。故,我不赞成你改行做教练。除非你是个退役的滑雪运动员,转业后,可能选择当滑雪教练。
作为业余爱好,无论是街舞,还是滑雪,我都支持你, 因为这些爱好有助于开发专业人士的大脑和躯体。实话告诉你,我在编写程序过程中遇到的问题,很多都是在做一些业余爱好活动,如游泳的时,想出了答案。 上班时冥思苦想,貌似很敬业,反倒没用。我建议你除了冬季滑雪外,其它季节可以去游泳。

28岁,还年轻!继续在目前的教育信息行业干吧,努力提高你的学习能力,时刻准备着,以等待IT行业的好机遇。
记住:
"机遇对于有准备的头脑有特别的亲和力",
"学历代表过去,学习能力才代表将来",
"机遇比目前的工资更重要"。

>>>PengTdy
我觉的你这样的水平还能找到工作,本身就是个奇迹。从你在大学选计算机专业就是个错误。然而你却没有对自己有个清醒的认识,导致一错再错。现在遇到了人到中年改行的阵痛。难啊!计算机这个行业不是人人都能进来的,基本上每三年就会换一批技术,换一批技术就会淘汰掉一批人,最终留下来的并不多。而且越往上走越需要天赋,这个就像美术一样。每个人都可以学画画,但是其中有天赋的却凤毛麟角,而没有天赋的那些人只会沦为别人的背景板。

你也希望自己的提问/回答上榜?欢迎大家前往>>>技术问答区,多多提问,多多回答~!
遇到技术问题,就上开源中国问答区

==========分割线==========

OSCHINA 问答合集[1]:老大竟然说我不会写 SQL ……
OSCHINA 问答合集[2]:我有一套高峰期每秒钟约有 1 万人下单的系统,遇到了关于 Java 高并发的问题

<无标签>
举报
局长
发帖于1周前 2回/942阅
顶部