V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
miketeam
V2EX  ›  程序员

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

  •  
  •   miketeam ·
    5nnok · 2018-01-15 22:30:06 +08:00 · 2375 次点击
    这是一个创建于 2534 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

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