Re: [请益] 面试如果考coding可以这样回答吗?

楼主: w0005151 (蓝厅)   2024-03-03 15:20:26
一些想法随笔写写,没什么组织还请见谅
1. 程式码品质要能转化出可以量化的指标
比如我这个feature多花一个礼拜可以用更有效率的方法存取资料让cost降低50%
或issue发生的频率降低30%减少工程师加班成本
刚开始工作吵吵clean cod什么的没关系
但不要五六年经验还整天说这段code不干净我要爆改你不要质疑我,问就是你不懂
这样不仅没用又很像巨婴
2. 要做什么事先想想公司规模
大公司制度成熟,你想推新的practice,先想想旧的为什么可以跑20年
现在有什么缺陷?真的需要吗?
小公司发挥空间大但营运压力也大,可能下个月没抢到客人公司就要倒了
这时候你还跟老板说我要refactor这段code
这个月先不要塞新feature给我
没把你开了就不错了
3. 不要太纠结老板懂不懂技术,懂技术的老板鸡巴起来才是最要命的
“这个这么简单我10年前一天就做完了你跟我说要一个月?”
“不要骗我没写过程式喔,20年前我们都是一个人做一个网站的哪分什么前后端”
产品性质、公司规模、团队文化,才是重点
PM也是,好的PM不用很懂技术,而是能好好规划产品方向,让大家事半功倍
然后把客人管理好不要一天到晚被情绪勒索
4. 程式技术一直是往越来越人性化的方向走
从早期打孔,组合语言,再到C、Fortran等高阶语言
又发展成JS和Python等脚本语言大行其道
everything that can be written in javascript will eventually be written in
javascript
(我个人不是很认同这句话就是了)
再到一行code不用写就可以搭建ERP系统、电商网站等常见的应用
维运从放机房的实体机,到云端上的VM,再到由Vendor全面代管的Serverless
要设定的东西越来越少
写程式的门槛早在AI出现以前就越来越低
但软件工程师的需求却没有变少
以前不会写可能要去图书馆翻书
后来可以上网估狗或Stackoverflow
Copilot出来后连视窗都不用切了,直接在IDE内一键auto complete
只不过是工作型态变了而已
几十年后写程式的工作终究会被AI完全取代
只是到那个时候这个社会上目前的工作又会剩下多少呢?
与其说是被取代,我更觉得会是换种工作型态罢了
5.
前阵子刚好看到一篇文章
https://dagster.io/blog/skip-kafka-use-postgres-message-queue
大意是在说工程师不要什么都想用最适合或最好的技术
引入新技术有很多隐形成本
包含学习成本、监控、评估、维运成本
这些都要列入考量
他举的例子是他们用PostgreSQL来当message queue,而没有用Kafka之类的“正统”工具
软件工程师的工作中,“写程式”可能是最花时间,但不会是最重要的
这件事随着年资越来越深会更明显,如果AI能大幅缩短写程式的时间,我是乐见其成
代表我们有更多时间去做其他更有价值的事情
作者: steak5566 (牛排56)   2024-03-03 15:35:00
老黄说得对 因为工具升级导致人的生产量大增 会先消失的是那些只会拉excel的
作者: wulouise (在线上!=在电脑前)   2024-03-03 15:50:00
refactor不看商业价值本来就是有问题的
作者: adamkk (爱还记得吗)   2024-03-03 16:56:00
基本的clean code还是要有,至少要过clang-tidy之类,不然很多安全检查过不了;当客户要求安检的报告时会直接升天
作者: darkMood (瞬间投射)   2024-03-03 17:16:00
嘻嘻
作者: k798976869 (kk)   2024-03-03 18:20:00
美国软件工程师最喜欢玩一堆新的很潮的东西 玩爽惹之后跳槽跑掉 维运就留给剩下来抓交替的然后不幸被抓到的时候 还是不维护 改成用新东西重做新的
作者: Ericz7000 (Ericz7000nolan)   2024-03-03 19:43:00
我也想玩新东西
作者: chuegou (chuegou)   2024-03-03 21:12:00
阿我现在都看着自己以前的烂code(上个月写的)然后说很丑要爆改
作者: peter98 (新兵)   2024-03-03 21:12:00
工作吵吵干净的鳕鱼 0.0
作者: chuegou (chuegou)   2024-03-03 21:14:00
美其名叫重构 但我也提不出任何重构改善的数据指标仔细想想也是满心虚的
作者: NTUTM04 (TM终号机)   2024-03-03 21:32:00
true
作者: gn60311 (Peterman)   2024-03-03 22:28:00
这篇真的是体会过才写得出来的qq
作者: IhateOGC (我讨厌)   2024-03-03 23:17:00
how to ,and why thatclean code叫他吃屎吧专案刚开始就是写一陀屎,怎要后面的人clean?说clean code的大概都没做过大专案linux source code也是一堆屎,也没人抱怨小公司想搞啥clean?
作者: superpandal   2024-03-03 23:40:00
那叫作为换而换技术 通常也是为了找新工作有新谈资的人会去弄的 永远都在追东追西的人 然后没有一件是完美符合所有而且这也没什么正不正统问题 无宗可溯 满地都有的应用 都没什么历史与哲理
作者: drajan (EasoN)   2024-03-03 23:56:00
你没有听过CV- driven development吗?玩新技术就是要跳槽用的啊
作者: viper9709 (阿达)   2024-03-04 00:16:00
还满中肯的
作者: abccbaandy (敏)   2024-03-04 00:54:00
楼楼上那个早就被刷题取代了吧,现在很少问了
作者: saladim (杀拉顶)   2024-03-04 01:29:00
会包function我就谢天谢地了 不需要什么fancy的技术然后程式逻辑要清楚比较重要 要不然clean code也是屎
作者: holebro (穴弟弟)   2024-03-04 02:21:00
好文
作者: justaID (快乐崇拜)   2024-03-04 07:56:00
这篇语气很直,但观点很写实,职场上还真的看过不少为技术而技术,整天嚷嚷着clean code或一些高大上的技术,缺乏考虑产品实际应用场景、原本这么写是为了解决什么问题、有什么原因、重构或导入新做法能带来什么效益、有什么side effect风险,履历驱动开发履历驱动开发的风格,试图导入一些看起来很fancy或整天用很温室的角度空谈梦幻中的系统设计职场上遇到这种巨婴队友很心累
作者: crowley (苍蝇拍)   2024-03-04 08:46:00
作者: devilkool (对猫毛过敏的猫控)   2024-03-04 08:58:00
履历驱动开发XD 这名词不错
作者: B0988698088 (废文少女小円♥)   2024-03-04 10:52:00
这篇叫很直的话建议先检讨自己是不是太玻璃了
作者: v7q4 ((.)(.)乳剑双修 -|=>)   2024-03-04 12:53:00
我部门就一个整天喊code很脏、要重构啦开会时被质疑bug不解 在那想怎么重构有什么特别意思 他就爆气了! 直接跟另一个人对骂 还讲到快哭出来XDD
作者: iamOsaka (欧沙卡)   2024-03-04 13:21:00
推 1真的很实际
作者: shooter555 (shooter)   2024-03-04 13:25:00
clean是指工作期程内自己clean啦 不是叫你拉时间重构
作者: Ericz7000 (Ericz7000nolan)   2024-03-04 14:25:00
重构那本书我记得好像有提到定期要花时间去处理重构
作者: drajan (EasoN)   2024-03-04 19:52:00
别人程式要重构是因为预期未来会添加新业务逻辑进去 有助于提升生产力 你程式要重构是因为你看书之后想照抄 别人有我也要有的概念。别人生小孩是婚姻幸福经济稳定家庭关系和谐,你生小孩是因为你想照抄但没注意到背景环境完全不同不过说实在的我刚开始工作时也是这样的心态,资深干久了就知道这些招式都是浮云,能产生什么经济效益才是最根本的关键
作者: brucetu (sec)   2024-03-04 21:00:00
有时候抱怨code脏看不懂的人只是因为他理解力太差0.0做久了什么智障意大利面没看过,还不是照样功能叠上去被调到某个案子支援一两个月的情况,更不用讨论重构,赶快弄懂改一改就好
作者: Phenomenon (Kuma)   2024-03-04 22:31:00
很现实,但面试需要演一下 xd
作者: viper9709 (阿达)   2024-03-05 00:04:00
推做久了什么智障意大利面没看过+1
作者: foreverk (文艺青年)   2024-03-05 10:18:00
真的生理上不能接受粪code,就去水需求时间自己补测试补,长久看也是舒服到自己,而且通常不会有人有意见
作者: j50607 (遗世孤人)   2024-03-05 10:58:00
很现实推
作者: Suleika (Suleika)   2024-03-05 13:40:00
智障意大利面吃得快老实说也不简单,甚至这种人在工程师里很稀有,只会抱怨跟会提单子重购又是另一种特质
作者: nacy204327 (♥~超可爱✡小南C~♥)   2024-03-05 13:46:00
超推 马的新人进来就说要refactor 真的超烦的
作者: superpandal   2024-03-05 15:09:00
为了改而改很糟糕 放任脏code也很糟糕 没有人喜欢改脏code把自己搞的头大 用说的都马很简单 换到自己就推问题用嘴写code了 要嘛你是脏code始祖 要嘛你花多倍心思去解开脏code丢给新人 不管年资哪个人不是干在心里用旧技术都不是整的一团乱的理由看到这篇又一堆人来偷渡观念了 很少当新人当然翘著二郎腿要求后面的人
作者: Lleytonhewit (Hewitt)   2024-03-06 01:29:00
这篇 懂的就懂
作者: ukikaz (yuki)   2024-03-08 08:03:00
能完全放任脏code的一定是只维护自己生的垃圾 或是根本不用写code... 我也想只增加商业价值,但现实就是脏code影响我的生产力了!
作者: benqm300 (人生苦短)   2024-03-23 09:27:00
重构看起来好改的部分或是该统一的部分,其余的没空。

Links booklink

Contact Us: admin [ a t ] ucptt.com