除了具体技术,再瞎聊几句架构级的话题

作为架构师,一般到一个公司,都尽量把公司的 code 能看的过来的都看一遍。

很多 code 一看就是 jr 写的,基本上是一个 function 里面就各种问题,最基本的命名规范,最基本的 error handling 一塌糊涂,一个 function 好几百行代码。看了你都不好意思提 unit testing。

再往上,超过三个 functions 就能看到各种 copy paste。你 copy paste 倒也罢了,几百行代码 copy paste 到几个不同地方,每个地方随机挑几行暗暗改几个字儿,你几个意思?

但这些还是 dev 级的小问题。data modeling 的问题更糟糕。很多时候一看就是懒得搞懂业务需求,create table 反正也不要钱。再加上该用 SQL 的用 No SQL,该用 No SQL 的用 SQL,貌似压根就不知道也不想知道 data 分 structured / semi-structured / unstructured...

storage data modeling / db schema 都错了,居然还把它带到 business modeling 甚至 rest api layer。

以上种种,借口都是一个:老板 push,工期紧。

然后就是滥用新技术。

k8s ---- 你真的需要吗?为了 scalability?这么需要 scalability,您倒是先把 db schema 给 fix 一下啊。如果一定要上,您倒是 follow 一下 best practice 呀,那么一大坨,不能随便就那么扔在那儿呀...

Microservice ---- omg,没人问过公司该有那些 domain services,bounded context 该如何划分,一堆 micro services 就已经出现在 k8s 里了。

太多了,懒得敲了...

(声明:以上种种,纯属虚构,如有雷同,纯属巧合。)

-xmlhttprequest(build5381) 2021-10-31
除了具体技术,再瞎聊几句架构级的话题
最大的问题还就是,干活的都是为了自己的简历,谁管你最终产品怎么样,反正为了银子最好1、2年跳一次槽……
-guestagain(guest again) 2021-10-31
是这样。所以一般来说,这是公司 vp dev mgr / CTO 的失职 ---- 不过,有时候每两年就跳一下槽的也包括 CTO。
-xmlhttprequest(build5381) 2021-10-31
搞技术的往往忽略一点,Business要的App的Functions以最小的cost和最短的时间满足需求。Business没人关心你具体是用了什么fancy的技术。
-hutuhao(忙!) 2021-10-31
很多实际例子正好是反过来的 --- 搞技术的人忽悠 business 花更多钱去用 fancy 的技术,或从中盈利,或 build up 自己简历。
-xmlhttprequest(build5381) 2021-10-31
从干活的员工而言for简历,公司角度for盈利,某些有话语权人或部门角度for拿客户的钱来尝试新的/fancy技术、为揽更多的活攒经验/资质/skill.....
-see1see(Isee) 2021-10-31
有时候就是被各种潮流推着停不下来,根本没有时间来完善一个系统,常常一个刚上线就要开始升级了……然后人员流动频密,最后没人知道这个大杂烩到底是个啥东东,成本问题干脆重做吧,再来一次轮回……
-guestagain(guest again) 2021-10-31
不奇怪啊,客户往往是外行/没人手,否则一般也不会花钱请你来做,基本上都要追求性价比:尽量花最少时间/金钱获得更多的Functions/solutions ,技术细节对其就是个大黑箱,当然只关心黑箱的输出都有些啥、能否满足需求了....
-see1see(Isee) 2021-10-31
具体DEV选什么技术来完成这项任务也就算了,因为毕竟是具体技术问题。最要命的是那些其他行业的不懂IT的最高层,6个月给你换一个consulting公司,2年里给你换3批不同的QA来测试复杂的大型项目,搞一大堆印度工作没几年的,店面都从来没进去过,就跑加拿大测项目了。
-tracyd(等待明天) 2021-10-31
我的总结是
行业内无规范+混乱,都想赚快钱,没有人或者很少人关心行业的长期发展,不是棋盘太大,而是没有棋盘,每个人都在按需码砖,慢慢成了九龙寨,呃,还赶不上九龙寨。 -troyd(小C) 2021-10-31
多半无关 IT 本身“行业的长期发展”。在商业应用领域,有时候 IT 是 service,相当于 vendor ---- 而雇主(行业)容易被某些 vendor 忽悠。但有时其实是狼狈为奸,一起割韭菜 --- 也挺常见。
-xmlhttprequest(build5381) 2021-10-31
呵呵,都是别人的错。
-troyd(小C) 2021-10-31
在商言商,没什么对错。小孩子才讲对错,成年人只谈利益和韭菜。
-xmlhttprequest(build5381) 2021-10-31
如果这么做 construction,估计最后还立着的,没几个。拆了建,建了拆,玩不转就糊块泥,没事就升级打补丁,也就是 virtual 才能这么着。当然也因为是 virtual,IT 行业才这么被稀里糊涂地 empowered。如果自来水里含铅,改改程序就达标了,这水你喝吗?
-troyd(小C) 2021-10-31
construction建好了是拿来用的,IT里面好多东西就是为了圈钱的。
-guestagain(guest again) 2021-10-31
理解。各个行业都有自己的光环和肮脏。how much 光彩,问题不大,how much 肮脏,问题很大。
-troyd(小C) 2021-10-31
construction里面类似的东东也很多呀,嘿嘿,当年咱也是门儿清……
-guestagain(guest again) 2021-10-31
都是最大化光彩,最小化肮脏的好行业。😂
-troyd(小C) 2021-10-31
实话实说,转IT以后心理负担小多了……
-guestagain(guest again) 2021-10-31
嗯,自己看不见实物 damages 了。😃
-troyd(小C) 2021-10-31
主要是,不那么怕档案里有自己的签名了……
-guestagain(guest again) 2021-10-31
其实最后都是公司承担责任,P 民的 pocket 根本不 deep,除非是自己的公司。在天朝,跑路当老赖,比北美容易多了。
-troyd(小C) 2021-10-31
怎么可能,真出了啥事,那白字黑字的签名就是你过不去的坎儿…… 根本不是钱的事儿。
-guestagain(guest again) 2021-10-31
true。不过我猜在那些行业里,被花言巧语的 vendor 忽悠,而没有选勤劳老实 vendor 的情况应该也不少见吧。不过好歹行业规范在那里,不至于太出格。
另外,小 C 不用那么义愤填膺 --- IT 圈一般也没到给自来水加铅这么黑暗的地步 ---- 一般也就是只顾短期效应,通过外包降低 cost,让投资人高兴;投资人也不傻,短平快把公司卖了赚快钱;接盘侠也不傻 --- 没准儿人家要的是客户不是产品。从头到尾,除了一心想把产品做好的傻瓜,大家都很 happy ---- 自来水里也没有铅。 -xmlhttprequest(build5381) 2021-10-31
其实我有点打错敌人了。😂 动辄几个 MILLION 几个 BILLION 的项目,总是难产状,然后还挺破,看到我们拿不到那么多钱,JOB SITE 累S累活,气啊。😂
-troyd(小C) 2021-10-31
我们一年里,全上k8s, micro services , 其他的通称为legacy, 外包tcs, 也就是说,不搞新的就滚蛋。有的是钱糟蹋,不在乎效益,使用性。
-txn(秦川) 2021-10-31
有钱任性,真好……
-guestagain(guest again) 2021-10-31
lol 先声明一句:我过去几年差不多所有的新 service 都是 micro services --- micro service 本身没错,但好多公司乱搞就太吓人了... k8s 也是好东西,但真的不是大力丸 lol...
-xmlhttprequest(build5381) 2021-10-31
哈,我见过所谓改用micro services,然后后台依然都连到一个db,sql各种表join在一起的。
-guestagain(guest again) 2021-10-31
没错,就是这个意思 --- 本来 microservice + DDD 是一次理顺公司 business domain / flow 的机会,要好好利用 --- 不是你把一个东西叫成 microservice 就是 microservice 了 lol
-xmlhttprequest(build5381) 2021-10-31
很多公司尤其是上市公司每年都有花钱预算的计划,花钱是一个工作任务.....
-see1see(Isee) 2021-10-31
了解 --- 明知公司在洗钱,没洗到自己腰包里,还不能抱怨两句么 lol
-xmlhttprequest(build5381) 2021-10-31
LOL.....私捞不得那就弄个专业而堂皇的借口来大肆公花....
-see1see(Isee) 2021-10-31
技术是为BUSINESS服务的,现在的STARTUP,只要撑到C轮融资,大家就财务自由了,然后请一群MONKEY重写就是了,大家接着重新创业。现在C轮融到几千万都不好意思出来说了。
-ff2021(ff2021) 2021-10-31
你有没有考虑过 🐵 的感受?😭
-xmlhttprequest(build5381) 2021-10-31
请参考朝三暮四
-ff2021(ff2021) 2021-10-31
Business/Industry看见的是带来生产力和市场的技术,风投、上市包装大佬看见的是可圈的钱景、绿油油的韭菜...商业模式乃抛新概念、给产品打造名声/形象包装、拉风投、撒韭菜种子...弄到收购/上市便大功告成,找下个目标...
-see1see(Isee) 2021-10-31
滥用新技术是很普遍的。如果这次技术股垮了,IT失业会比10年前厉害多了
-gta_palace(呄 - 每天乃古) 2021-10-31
这次有AI加成,不像前几次,再说搞IT的这帮人,脑子好使的很,搞几个新概念忽悠一下还是不成问题的。
还有以前硅谷不大看得上华尔街,想甩开这帮老吸血鬼,自己搞金融创新,反观现在大有沆瀣一气的感觉。 -ff2021(ff2021) 2021-10-31
10年前,20几年前(911前后、北电崩盘)泡沫破灭那段时间吧?
-see1see(Isee) 2021-10-31
北电加上黑莓,把加拿大人投资高科技的热情彻底给浇灭了,再加上几个大的收购,从此大家心无旁骛专心致志搞房地产。事实证明咱们加拿大不是搞高科技的料啊。
-ff2021(ff2021) 2021-10-31
股市可能会震荡,但技术股多半还是会相对坚挺 --- 现在的技术股越来越寡头化,不像 2000 年 .com 泡沫大家争相跳龙门,最后多数惨死。现在几家最大的毕竟是提供 infrastructure,很难凭空消失。social media 一类则不同,另说。
-xmlhttprequest(build5381) 2021-10-31
你这要是去了MS,google,oracle等等大厂,看样子是盼不到你干活的时候了啊,哈哈。
-lifyy(_) 2021-10-31
现在越是大厂越 open source --- 很多代码比如 SDK 代码想看都能在 github 上看到 --- 不得不说那些都是很不错的。不过和一般公司商用软件不太好放在一起比较,稍微有点苹果对橘子。
-xmlhttprequest(build5381) 2021-10-31
大头是各类应用吧,比如一套office得多少代码,SDK毕竟量有限的。
-lifyy(_) 2021-10-31
lol 能把工作相关的看几个就很不错了。我觉得光是浏览器的代码就够看一辈子了。
-xmlhttprequest(build5381) 2021-10-31