总包大概在 40 ,创业团队阶段,还是挺忙的。项目在美国,我和中国的公司签劳动和同,合同注明不限制工作地点。
App 项目,我入职之前老板亲自贡献了 大概 100W 代码,这 200 天,我们的贡献差不多。
初期的三个月,老板经常说我的效率不行,平心而论,我确实觉得老板的思考速度非常快,编码速度也非常块。
我很久都没理解项目的写法,倒没有什么复杂架构和模式之类的,项目中大量使用单例和 Storyboard 和继承,这些和我以前写项目的方式完全是相反的。
初期我的负责的新功能和旧模块重构我全部都是想着要和现有代码隔离开来,所以使用了一些模式和 wrapper 类,这样确实能隔离一些代码,但是带来了代码行数,类和文件的增加,也增加了复杂度和理解难度和上下文切换的时间。
这是我自己总结的我的效率上不去的原因。
近期 我全部是重写和重构之前的代码,逐步地。现在完全沿用老板的风格写代码,速度确实快了很多很多。老板对 Storyboard 的用法之重确实是我之前难以想象的,现在看来确实是真的快。
但是这么久的工作,自信心确实备受打击,老板自身美国某名校的 CS 博士的背景平时沟通中似乎有一种道不明的优越存在,也可能是我想多了。感觉平时的工作处在一中被动状态中,要说学到了什么,确实没有什么特别的东西。
工作强度在前三个月真的堪比 996 ,好在老婆回国的一个月我买了个小破车 我们一起自驾来回老家 过了个暑假。但是那段事件,每天抽时间写代码,都冒出了白头发,想起来都很疲劳。
每天的工作都有点提心吊胆,不知道老板什么时候又会对我说一些让人难受的话。
有时候我想,如果我是管理者,我肯定能比老板做的好。但是这时候我又会想,可能这也就是我成不了老板这样的人的原因?
1
wMIFjcx06951JD4w 2023-10-10 14:52:18 +08:00
iOS 吧,还是上模块化吧,storyboard 的维护是灾难的,相比较纯代码 其实速度差不了太多,乱用继承更是灾难
|
2
guguji5 2023-10-10 14:56:34 +08:00
团队多少人啊
|
5
zeropercenthappy 2023-10-10 14:59:52 +08:00 via Android
远程工作快 3 年了,从上个月开始全员回归线下,现在难受的一皮。
|
6
andyL OP @zeropercenthappy 线下也有线下的好处,不用随时 oncall ,严格的隔离开工作时间。。。。
|
7
jstony 2023-10-10 15:02:00 +08:00 1
全文看下来,说实话,好像开始接手的时候累点,现在 op 应该已经上手了,好像也没有太难的点。至于老板说什么,他说就让他说好了,想听你就听,不想听你就“嗯嗯嗯,说的对”,按时交货,按时发薪就行了呗。
|
9
isRealLeven 2023-10-10 15:04:04 +08:00
我们俩好像,唯一我们公司不是很忙
|
10
jchnxu 2023-10-10 15:04:22 +08:00
我感觉 remote 还是得严格分开工作生活,要不然会肉眼可见更累
|
11
implion 2023-10-10 15:05:31 +08:00
storyboard 就是快啊,纯代码怎么可能比 storyboard 快, 拖一个 button 一个 label 都是几秒的事,小团队用 storyboard 是挺好的,老板喜欢 pua 你,只要钱管够随便他呗,现在国内这个环境,iOS 是真不行了,能怎么办呢。
|
14
andyL OP @isRealLeven 点了个关注 😁
|
16
majianglin 2023-10-10 15:08:59 +08:00 6
写 UI 当然是用 StoryBoard
国内有些 2b 的开发习惯,我是不屑一顾的: 1. 用 命令行 比 用图形界面工具牛 X 。比如 git 宁愿用 命令行提交,也不愿意找个图形工具 2. 用 代码写界面 比用 所见即所得工具 牛 X 好维护。只有两者都精通了,你才知道哪个生产力高,哪个维护性好 |
18
magic3584 2023-10-10 15:11:53 +08:00 via iPhone
请问还招 iOS 吗? xib storyboard 纯代码我都可以
|
19
andyL OP @majianglin 确实如此,现在熟悉了 sb 之后,用代码写控件真的是不想动手。。。早年入门看的太多资料被带进坑里了。。。
|
21
polobug 2023-10-10 15:12:50 +08:00
6W 美刀而已。。他们也不嫌贵
|
22
jchnxu 2023-10-10 15:14:45 +08:00
@majianglin 哈哈哈真实。重生之我手拧螺丝比机器拧更炫酷
|
23
janwarlen 2023-10-10 15:17:43 +08:00 2
学术和工程差距很大的
搞学术的都是图快,快速验证、快速失败 但是工程是图慢的,规格、标准、可维护性、稳定性等等等等 |
24
andyL OP @jchnxu
@majianglin 真的,我工作这么些年 碰到的同事中会用 xib 的都极少,也不知道哪里传承的艰苦朴素的风格。网上存在的声音也是对使用 ib 和 sb 的人,似乎带有着鄙夷。 我以前面试会问他们 ib 的一些用法,都是回答:几乎不用。说是冲突不好解决就带过,显得我作为提问的人反而比较菜鸡。。。 |
25
qiaobeier 2023-10-10 15:29:08 +08:00 2
全职远程第五个年头了,除了担心工资被没收,其他不要太爽。
|
26
seres 2023-10-10 15:29:37 +08:00
勾起回忆了
当年想用 xib/sb ,被强力阻止 问就是纯代码可控,易复用易修改。。。 |
30
AppJun 2023-10-10 15:36:33 +08:00 2
纯代码做 UI 路过。
因为对于团队来说,Storyboard 和 XIB 又难 review ,代码冲突的时候也不好解决。而且 Xcode 一直有一个历史问题,你项目里有 Storyboard 文件,就会触发重新编译,对于一次编译就要十几二十分钟甚至更长的编译时间的比较大的项目,妥妥的就是个深坑。更不要说 Storyboard 有些时候有些实现其实还有版本差异和吊诡的地方,多被坑自然就不用了。 至于一两个人的项目,随便你爱用啥用啥。 但是就实践上,绕着 Storyboard 走,你能省掉太多莫名其妙的时间消耗。 而且现在这个时间节点,如果还要说啥开发速度,激进的也是 SwiftUI 路线,哪天 Storyboard 的相关接口被标记 deprecated 我都一点不意外。 |
31
jchnxu 2023-10-10 15:41:49 +08:00
|
32
andyL OP |
33
andyL OP Results: Storyboard compile-time 6.5x faster than Swift
Swift: 46.8 seconds Storyboard: 7.2 seconds |
34
andyL OP 现在修改同一个 sb 也不会冲突,如果是同一个 sb 的同一个 page 是会的
|
36
AppJun 2023-10-10 15:50:14 +08:00
@jchnxu 这个没什么影响,一两个人的项目,爱用啥用啥,自己怎么高兴就怎么整。
但是如果要做一个最佳实践的分析的话,还是要把各种方案的优势和劣势摆出来的,个人的喜好或者个人愿意信啥是其中一个因素,但其实不重要,因为“团队合作”的这种考量,可能更重要。 |
38
crysislinux 2023-10-10 15:53:25 +08:00
怎么成了讨论技术了。你这个觉得不爽主要还是老板不理想。不管用啥只要工期催的不紧都无所谓。
|
39
AppJun 2023-10-10 15:54:40 +08:00
@andyL Storyboard 有些时候 Xcode 更新版本打开就会出现变更,这一套其实是相对纯代码而言更接近黑盒子。本质上是把整个开发过程中的不确定因素增加。
至于说啥“早年入门看的太多资料被带进坑里了。。。”,你这种只是没有真正的在坑里待过,只能说祝你以后也不要被坑到。 |
40
Nevil1 2023-10-10 15:55:24 +08:00 1
关键远程不要找中国老板 个人理解
|
41
andyL OP @crysislinux 感觉就是管理技巧不行吧,我也尝试站在老板的角度:确实是公司资源不足,所以才找国内的人,毕竟便宜省钱嘛,但是。。。
|
42
zhouquanbest 2023-10-10 15:56:34 +08:00 1
创业团队,解决的是生死问题,不要过早优化,快速迭代快速上线才是生存之道
等有钱了,招几个人给你们搞重构也不晚 |
47
pengtdyd 2023-10-10 16:25:51 +08:00 1
这个世界只有一个地方不卷,那就是没有中国人的地方。
|
48
ChefIsAwesome 2023-10-10 16:26:09 +08:00
这种我可受不了。甭管你老板是不是更懂,既然是你雇我办事,为什么指手画脚。这种情况真的是“你行你上”。
|
49
nenseso 2023-10-10 16:30:12 +08:00
storyboard 维护起来非常难吧,还是纯代码好改一些,我感觉你的问题可能是代码速度没达到老板的预期
|
51
andyL OP |
52
shellcodecow 2023-10-10 16:39:46 +08:00
可能你还没碰到 Storyboard 是不统计到写代码行数里面的 🤣
那才叫 我为什么放着工具不用 就炫酷的写代码 |
53
luckyrayyy 2023-10-10 16:43:38 +08:00
@qiaobeier 老哥收入咋样,方便透露吗
|
54
andyL OP @shellcodecow 🤣
|
55
nikola11 2023-10-10 16:47:04 +08:00
老板是华人吗
|
56
vicalloy 2023-10-10 16:56:46 +08:00
我还以为 SwiftUI 出来后 Storyboard 就被逐步抛弃。
|
57
exploreexe 2023-10-10 17:05:38 +08:00 1
美国某名校的 CS 博士 人家有点优越感也正常。
如果说这些话,就当耳旁风吧,别往心里去,反正能挣到钱 还是远程。 至于技术栈,个人感觉每个团队有每个团队的风格,既然进了团队就按团队的风格走,会减少很多麻烦。200 天也不短了,再磨合磨合吧,实在受不了就换个呗。 不知道 LZ 工作多少年了,什么背景,40W 年包这个收入在国内不低了吧。 |
58
vicalloy 2023-10-10 17:09:48 +08:00 1
另外可能是和老板气场不合,如果有机会换个环境也不错。
也曾待过让人很不开心的公司。 公司同组的小伙伴都不错,私下应当也是挺有趣的,但整个项目组都有些死气沉沉。 待到后面,感觉再待下去都要抑郁了,于是辞职。 平心而论,也不是老大人品有问题。 太强的控制欲,压制了组员的个性。 外加高强度的工作和成就感的缺失让人挺绝望。 |
59
shicang1990 2023-10-10 17:13:20 +08:00
@majianglin 英雄所见略同,我用了十年的 sb ,弄啥来啥,一天十个页面都能干出来,一样的代码隔离,那帮傻鸟技术不行罢了
|
60
zhleonix 2023-10-10 17:13:53 +08:00
远程沟通的确头疼,你看不见对方的各种面部或者身体表情,很容易出现格格不入的感觉。
多开一些 video call ,线下多一些闲聊会好很多。 |
61
xaoflysho 2023-10-10 17:16:25 +08:00 1
关于 StoryBoard:
我们公司项目全是 StoryBoard ,也遇到过 StoryBoard 冲突的问题,但也只是一两次,而且 StoryBoard 本质还是 XML 代码,大概看一眼就知道冲突在哪里、该怎么解决。 我们在开发时也很注意 StoryBoard 中页面的数量,该拆分就拆分,尽量保证单个 Story Board 中 View Controller 不要过多。目前我们的项目中有大约 40 个 StoryBoard 文件,每个 StoryBoard 中页面数量基本保持在个位数。 还有在 StoryBoard 中添加 View Controller 时就尽量排列整齐,后期尽量不在 StoryBoard 中移动 View Controller 。 如果一个 StoryBoard 中某个 View Controller 的页面很复杂,就使用 XIB 拆分封装成几个子 View ,在 View Controller 中只用放 View 就行,减少 StoryBoard 的渲染消耗。 我个人是偏好于使用 StoryBoard 或 XIB ,可以做到所见即所得,熟练之后搭建页面也更快一些。 |
62
jasonchen168 2023-10-10 17:17:36 +08:00
sb 单人开发用起来是真的爽,维护火葬场
|
63
andyL OP @shicang1990 我写了也快 9 年了,确实从来没想到过 可以这么快。。。改起来也快。。。比我写 flutter 和 RN 生明式的界面代码还快。。。。也可能是 后两者 累计的经验比较少。。。
|
64
zjuster 2023-10-10 17:19:52 +08:00 1
你这个老板,是说公司的老板,还说只是你的 leader
按照楼主的描述,这可能是一些工作风格上的不同,如果你年纪不大,可能是要被迫接受这样的一个作风。 字里行间,你可能也感受到老板的这个风格,对效率提升是更有效的,有可能是他的工作经验更丰富,所以能直接要求这样的一个代码写法,强迫的感觉是会不太舒服。 既然发现他的风格是好的,那也说明了你是在接受,并且进步的,工资也可以,那这个份工作至少是可以接受和继续的。 对于这样的一个强势的上级,并且你发现他多数情况可能正确的情况,很容易陷入自卑的情况,也就是对自己的自信心有点下降的情况。 这很正常,和很多优秀的人一起工作,真的会感觉自己很多地方不如别人。但这又如何呢? 每个人的机遇、智力体力、生活环境都不一样,要接受这样的差异。 只要自己工作能够胜任,也比刚开始远程工作的时候有进步,就可以开开心心工作了。 远程,特别是时差很大的远程,其实比较怕这种时空差距造成缺少沟通的情况。如果是他在说工作方案的时候有其他的语气不太舒服的地方,大大方方的约个都方便的时间,面对面视频电话沟通。 我也遇到过很强势的上级,他单纯的对事不对人,做不好就会很凶很强势,但并不会说你人怎么样,只是会因为项目盘查有点压迫下级,因为是每天坐一起,所以能知道他的语气虽然很冲,但是是为了工作本身,不是对人的问题。 还是那句话,多沟通,包括和上级的沟通,也包括和自己的家人在工作之外多相处,避免情绪代入到生活。 生活的放松能缓解工作上的负面情绪。 |
65
andyL OP @zjuster 创始人,老板,本身也负责 python 后端 ,ai 部分和 app 的代码的贡献,他说他的的兴趣是写 app ,从 17 岁开始就自己写 app 了
|
67
amon 2023-10-10 17:25:32 +08:00
大哥牛逼,一天 5000 行代码。。
华人才懂如何压榨华人~~ |
68
shicang1990 2023-10-10 17:29:15 +08:00
@andyL 其实就是刚开始的时候难受,忍过刚开始的阶段,后面就和大师作画一样,旁边的人只能说一脸懵逼,那些说不好协作和维护的,只能说技术和对 iOS 基本的框架和组件都理解不到家,当然用着很头大,除了渲染层和动画,sb 加上 xib 一起基本上是所见即所得,就算没有热重载的情况下,页面的堆砌效率也比 Flutter 和 RN 高不少
关于编译效率问题,我 10 年前的本都不是太慢,大型项目也就几分钟,现在换了 M1 ,十年前的大型项目也就分分钟都不用,现在要用 15 配合 M1 来弄点小东西,那速度可是秒秒钟,不过确实,团队里菜鸟太多就还是手搓,或者严禁新手动你的文件 |
69
yuningWang8 2023-10-10 17:51:25 +08:00 1
公司好几个博士。直属领导也是博士(国内)。学术上确实有自己东西。但管理和情商真是一言难尽。看开点,这都不是事。
|
70
cgpiao 2023-10-10 18:01:09 +08:00 via Android
其他的不说这代码行数是真的还是假的,我感觉我平均一天写 150 行都难。
|
72
winglight2016 2023-10-10 18:04:54 +08:00
iOS app 有 100w 行代码?这是重写 iOS 了吗?
|
73
nuk 2023-10-10 18:09:03 +08:00 1
我远程七年了,制造了一堆半成品,老板气得跳脚。
|
76
aichixiangcai 2023-10-10 18:20:44 +08:00
歪个楼请教一下,你们都是怎么找的远程工作啊,面试难度是不是挺大的?
|
78
nuk 2023-10-10 18:22:57 +08:00
线上
|
79
bhy 2023-10-10 18:31:33 +08:00
百万行代码可以写出:
React, Vue.js, Node.js, TensorFlow, Git, Nginx, PostgreSQL. |
80
JakeyYang 2023-10-10 19:13:26 +08:00
关于放弃 storyboard 支个招:有需求修改到老板的 sb 时把设好的约束拖出来到 vc ,进行调整。实现动画什么的请一定这么做。然后试图样式 sb 和代码配合起来写,在代码也创建些约束加到 view 上。把需求完成的妥妥的同时,让老板感受下 sb 维护的难度。纯 Y Y 。
认真的,希望 OP 可以早日恢复好心情,能感受到你有技术的追求和原则,无奈遇到工作技术环境不符合你的气息,就像每次呼吸都混着臭味,然又夹着生活的压力不得不继续忍着。改变 sb 老板的难度高于改变自己对工作的态度。不是指去消极工作哈,是把工作看轻别太往心里去。生活除了工作剩余的大部分是精彩哇。尽量低功耗解决工作问题,意见不合就亮出底线。Remote 的机会在现在的客户端岗位市场还是不错哒,试着去磨合下。可能不会马上改变什么事实,但有很大可能可以调整心情。 |
81
liaosong 2023-10-10 19:21:55 +08:00
storyboard 自动生成的代码当然可能这么多,自己纯写的 100w 是瞎扯。
|
83
andyL OP @JakeyYang 老板也怕这个 动画一般用 transform 不用修改约束去实现,用 transfrom 这部分就都是代码了
|
84
JakeyYang 2023-10-10 19:33:08 +08:00
@andyL 如果把 sb 的所有坑都绕开,那写起来接受度是不是也好一些哈哈。还有就是 AB 实验或者说代码降级,用 sb 基本没解了
|
85
ety001 2023-10-10 19:47:38 +08:00
这个跟远程不远程没有关系,主要还是项目性质决定的。
干外包讲究的就是快速出货,而不是优秀的架构。 也就是说,你就是堆了一个外表华丽的屎山,只要甲方认可这个华丽的外表,那么你就挣到钱了。 这个规则同样适用于初创团队,如果不能快速验证市场,你就是架构再好,代码再优美,也只有喝西北风的结果。 |
86
codzzb 2023-10-10 19:50:21 +08:00
问下楼主这份工作是怎么找的?
|
87
hekunhotmail 2023-10-10 19:55:16 +08:00
按时发工资,正常调薪,你这些抱怨都不算啥
|
89
iOCZ 2023-10-10 20:55:49 +08:00
搞点代码块吧
|
90
S8I86w6eTxeLcK0a 2023-10-10 21:05:06 +08:00
招 android 吗 帮哥们内推下,我帮你
|
91
azhangbing 2023-10-10 21:10:00 +08:00
干活而已 不用接受 PUA 说了就当没听到就行了 反正不见面
|
92
waye121 2023-10-10 21:10:29 +08:00
美国也很卷
欧洲已躺平 |
93
alexcding 2023-10-10 21:30:43 +08:00 via iPad
iOS 还在用 storyboard 也有怀旧的。 北美写 iOS ,基本上都在用 Autolayout 纯代码。
|
94
bugu1986 2023-10-10 22:12:53 +08:00 via iPhone
@majianglin 我用 swfitui
|
95
0xVerin1005 2023-10-10 22:28:58 +08:00
远程要看公司氛围。boss 要拥抱远程文化还是可以的,我和德国老哥们一起工作,我觉得很舒服
|
97
Steaven 2023-10-10 22:34:15 +08:00
远程 7 年多了,刚被裁
|
99
so898 2023-10-10 23:01:14 +08:00
也就在这种问题下还能看到 V 站的几个 iOS 开发,我一直以为 iOS 开发都死绝了
|
100
fms86 2023-10-10 23:42:52 +08:00
我远程办公 360 天的时候被裁了,哎
|