Re: [讨论] 怎样算是一个合格的junior cpp programme

楼主: strlen (strlen)   2022-08-22 12:11:33
※ 引述《musashi023 (太阳鱼)》之铭言:
: Senior:
: 1. 能设计软件架构
: 2. 活用design pattern
先说
我不会写C++
但是关于软件架构和Design Pattern我可以补充一下
软件架构实际上在台湾多数职场里的状况
大概可以用一句话来形容
理想很饱满、现实很骨感
学习怎么设计架构和Design Pattern当然是一件好事
这些工具放入你的工具箱里
不只代表你会使用这些工具
而且你还具备了“知道这世界上存在这些工具”的概念
看起来好像是废话
但其实这么多年看下来
很多工程师甚至连有Design Pattern这些工具都不知道
或者只是稍微听过但因为各种原因没有深入理解
你看到这里可能会觉得奇怪
你明明问的是学这些算不算senior
但我怎么开始提“其它人”或“职场状况”?
因为
其实重点就在“其它人”身上
我挑明了说
软件架构和Design Pattern
绝大部份时间不是工程问题
是政治问题
除非你进的公司只有你一个工程师
或你是带头的底下只有一两个工程师
而且他们唯你是从
不然你要讨论架构
或是什么地方该用哪一种DP
我的经验是
到最后都会沦为某种形式的政治角力
如果组织大一点
一切都要看那些资深老屁股们愿不愿意听你的话
你如果想把一个模组重构
最好是先说服其它人再开始干
事实上
所有关于这类架构方面的东西
通通都是需要团队先沟通过
大家都OK愿意照着开会所订出来的规范走
最后才可能会有比较好的结果
不然很可能会变成最常见的状况
就是大家各自为政
想怎么改就怎么改
每个人都自成一派
架构就变得乱七八糟
而做review的人很可能也不具备判断其它工程师设计的架构到底是好是坏的能力
所以就乱review一通
最后系统变得四不像
每个地方的写法惯例都不一样
然后主管看导入这些有的没的根本没有比较好
接着就放弃继续使用DP或其它一些架构方面的工具了
这也才是架构与DP最困难也最精华的地方
不是学习怎么使用
是学习什么时候什么场合该用
甚至是学习怎么说服别人一起来使用
你要真正学好这些东西
你永远都要把这个概念放在心底
架构永远是人的问题
不会只是工具的问题
解决人的问题就解决八成了
剩下的就是执行面的细节而已
这真的简单多了
作者: wulouise (在线上!=在电脑前)   2022-08-22 12:17:00
design pattern是用来降低沟通成本的,用之前大家都要会
作者: forself (无所得、故有)   2022-08-22 13:03:00
问题是在于让所有人信仰同一种design pattern本身就是巨大的沟通成本与风险实务上常常会变成核心共用部分可能协调成功,但其他部分依然是各种信仰与无信仰的展示
作者: eric21489 (Calpis)   2022-08-22 13:11:00
推ID
作者: chinggoo (Leo)   2022-08-22 15:11:00
推理想饱满,现实骨感
作者: sanctitysky (常自在)   2022-08-22 17:54:00
老鸟一句别找麻烦 整个东西就不用玩了
作者: wulouise (在线上!=在电脑前)   2022-08-22 19:09:00
大家都知道就是好的开始,争执那个对就算了
作者: v9290026 (CH)   2022-08-22 19:18:00
作者: pttano (pttano)   2022-08-22 19:52:00
一天到晚都在重构,你的绩效怎么打?
作者: labbat (labbat)   2022-08-22 21:19:00
资深同事会用自创名词迷惑众人,沟通手段就是让所有人转晕目的就可偷渡达成了
作者: AvatarH (Avatar Hsieh)   2022-08-23 21:43:00
推 "政治问题" 这句
作者: leo5916267 (小叶)   2022-08-24 00:20:00
真的 沟通是最难的而且通常工程师的个性都是比较固执的 与其练design pattern 还不如练情商
作者: peter98 (新兵)   2022-08-24 09:06:00
说真的 重构没绩效 还是做新features比较快升官
作者: nmns0110 (奶油塔)   2022-08-24 15:00:00
推政治问题
作者: superpandal   2022-08-25 22:00:00
这东西其实就是battle用 虽然我几乎不battle 只在乎一个架构或工具能不能让自己做一天休息好几天 不能的话只能说gg多数都是不能 都用的很痛苦...

Links booklink

Contact Us: admin [ a t ] ucptt.com