通过频繁跳槽接触项目,给自己创造机会,增长自己的代码架构知识,是否不妥?

2018-01-15 22:30:06 +08:00
 miketeam

我做前端 3 年了,想转后台开发,选 go,不断重复写别人的项目代码,现在有点经验了。虽然浅薄了点。数据库想研究 psql。不喜欢 cpp,在大学时候就是 c 语言,以后也打算深入 c,配合 go。希望通过短期内多跳槽,多接触项目,经历不同的开发角色,往架构师方面发展。这种方式是否可取。还有没有更君子的做法,求大神带一波。

2380 次点击
所在节点    程序员
20 条回复
peneazy
2018-01-15 22:54:04 +08:00
在这个残酷的社会,你还求当君子?
Socket
2018-01-15 22:58:10 +08:00
你能多跳槽还能有人接收你那是你的自由
KeepPro
2018-01-15 23:05:50 +08:00
经常跳槽的一个坏处就是啥都会,啥都了解的比较浅。
feverzsj
2018-01-15 23:06:55 +08:00
现在不搞背调的公司,你都不好意思去
shijingshijing
2018-01-15 23:11:41 +08:00
想做架构师,不熟悉 OOP 的那一套东西,不熟悉 Design Patterns,怎么可能做得出来架构?项目也要看好坏的,那些个垃圾项目,纯粹是浪费时间;还有一些项目是成熟框架,无外乎就是业务 CRUD,你又能学到什么么?

如果真心想扎下去,操作系统、算法、数据结构、网络、面向对象+设计模式,都是绕不开的,这些都是要静下心来认认真真啃那几本大部头的书的。这些东西,等你 30 多岁了就知道了。
shijingshijing
2018-01-15 23:13:31 +08:00
上面漏了一句,不喜欢 cpp,那 C#和 Java 起码还是要熟悉一个的啊,不然 OOP 没办法玩。cpp 玩熟了,其他语言不要太简单。。。
miketeam
2018-01-15 23:18:10 +08:00
额,get 到了一个点,架构师要玩个 oop 哈。可以。 @shijingshijing,谢谢,我 mark 了。
miketeam
2018-01-15 23:18:52 +08:00
@peneazy ,君子爱才,取之有道。这不是在问么。莫慌
shijingshijing
2018-01-15 23:33:29 +08:00
@miketeam OOP 这一条线上去也不是那么容易的,一般有几个阶段:

先要干几年的 software engineer,在别的架构师写好的框架上面搬几年砖,仔细体会为什么架构会这样设计,这一阶段你只需要把 C++,Java,C#任何一门用的烂熟基本就能混过去;

然后是自己尝试写一些小的模块,比如支付模块,用户模块,后台管理模块,存储模块,尝试自己从零开始设计几个小型的模块,这个时候你需要了解对象与对象之间的关系以及如何交互,Design Pattern 就用上了。

接着你对很多模块都比较熟悉了,是时候独立写几个完整的项目了,不管是 Web 还是 MIS 系统,还是其他 Application。尽量用上你前一阶段的积累,然后多上网找找轮子,看看别人写好的模块,这一阶段你需要站在整个项目的高度上去组织这些东西,实际业务用到的最多的 CRUD 这时候基本上就是体力活儿了。实际上这时候你才开始介入架构,一些高级的工具和方法这时候需要引入,比如 UML,泳道图,Enterprise Architect,IBM Rational Rose,IBM Rational Rhapsody 这些神器就开始上场了。

最后,你做过很多个项目之后,你发现有一些类似的项目,比如电商类、信息管理类等等,你发现这些项目有很多共性的需求,然后你将这些共性的东西提炼出来,用一种语言实现一个较为通用的框架,你做完了这个框架,然后有其他公司或者程序员陆续开始使用,积累到一定的用户基数,这时候,你才算是较为成功的架构师了。

当然,一般你把第三步做好就已经不错了。
vultr
2018-01-15 23:37:25 +08:00
想就去做吧,毕竟又不犯法,不过这样真的能学到更多的东西吗?我不看好。
miketeam
2018-01-15 23:43:57 +08:00
@vultr 这个决定比较冒险,圈子的名声也很重要啊,不要入魔了。虽然我的出发点是好的。但是还是再看看有没有更优解。
nicevar
2018-01-15 23:46:49 +08:00
没多大用,关键是能力,要不然接触再多的项目也没用,杂而不精,小公司的架构可能不够好,大公司的可能你可能都看不到完整的架构,整天就在一个模块转来转去,其实开源有那么多优秀的项目够你看了
liuzelei
2018-01-16 00:02:22 +08:00
@shijingshijing 这不是架构师,这是高级软件工程师而已。架构师不是只在语言和框架层面做事情。
YouXia
2018-01-16 00:03:27 +08:00
连续频繁跳槽 3 次且无公司连续工作 3 年以上(一年一次算频繁跳槽),基本上职业生涯就会受到严重影响。好的公司和部门很难通过面试。
shijingshijing
2018-01-16 00:06:17 +08:00
@liuzelei 看规模吧,大公司里面我描述的可能是个高级软件工程师;中小型的这个配置够用了。毕竟大公司上面还有 CTO 呢。
miketeam
2018-01-16 00:15:21 +08:00
具体的项目模块,比如用户模块,支付模块这些网上有现成的,比较好套。我想有一些重点比如:项目渐进式推进,用户规模上涨,模块如何搭配,那些是属于底层模块,和业务无关的。那些是属于性能瓶颈的,虽然瓶颈总在随项目成长转移。业务背景相关的这个是要协调的。但是那些底层通用的,这个我想拼出个大致版图出来用点时间还是可以做到。设计模式应该就是 java 那一套吧,前端好多也有套用。也就是说那点可能在如何拼出 Enterprise Architect,IBM Rational Rose,IBM Rational Rhapsod 等这些神器比较花时间吧
miketeam
2018-01-16 00:19:20 +08:00
这些神器使用场景!
miketeam
2018-01-16 00:25:40 +08:00
慢慢发现套路都差不多,前端开发的架构和后端架构(菜鸟妄谈)无非前端更专注于页面流畅,后端更多考虑并发和及时响应。但是你说的那些神器我不太懂,感觉又有动力的。。。
miketeam
2018-01-16 00:35:41 +08:00
好了,谢谢各位大神大晚上的给了点建议。那些不明白词的我自己谷歌,先做个 demo 侠不丑。如果那个大神愿意指点我或者给点建议的我把我邮箱留着,感激不尽。mike_shang@outlook.com
jetbillwin
2018-01-16 03:30:59 +08:00
为啥有种想走捷径的感觉😂工作真的能影响一个人的视野么?感觉好多人都追求刷工作经历…… 而且,如果频繁跳槽,感觉还是会对未来的职业发展产生影响的,我觉得几个月的时间是不够彻底了解透彻公司的一个业务和代码的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/423157

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX