123
返回列表 发新帖
楼主: ettemill
跳转到指定楼层
上一主题 下一主题
收起左侧

[职场感言] 自己思考的一些码农需要关注的点(写代码除外)

   
🔗
magicsets 2019-7-22 15:34:43 | 只看该作者
全局:
我觉得技术的重要性是看领域的,当你说“技术选型”的时候,实际上已经是“下游客户”了。而你所选的那些“型”,例如各种语言DSL、前后端框架、分布式框架、数据库系统,才真正是技术竞争激烈的领域。

打个比方,一个食品公司引进机器做产品,对于这家公司来说,至关重要的当然是产品好不好吃、包装好不好看、广告打得怎么样能不能吸引到客户来买。当然,生产车间里有些老师傅对机器特别熟悉,操作起来也很熟练,他们使用同样的原料可以生产出更好更多的产品。甚至有些人对机器本身颇有研究,自己可以对其进行一点改造以优化效率甚至扩展一些新功能 —— 这些技术上的东西好不好呢?当然是好的。但就这个食品公司而言,管理者当然不觉得这些技术上的东西有多重要,有时甚至会觉得带来了反作用 —— 员工净想着鼓捣一些机器相关的东西、不好好干活生产产品、不想着用户的体验怎么办?—— 但如果是上游设计制造机器的公司,那重点就完全不一样了。组织管理要不要?当然还是必不可缺的。但此类企业的生存之本必然是围绕着技术竞争力来的,技术上有短板甚至被别人拉开了代差,那就很难生存。 ..

在软件行业,由于开源的存在,上游技术的存在感被淡化了(对应的,想想芯片制造以及航空发动机),使得你现在可以很舒服的从一大堆开源组件中“选型”并宣称“写代码只是一小部分” —— 这是一件好事,也是开源倡导者的初衷所在。但我觉得另一方面也要有critical thinking,知道这些便利从何而来,因为世界并不一定会一直这样运转。另一方面,即是是现在,对于很多大公司以及正在成长壮大的公司来说,“free lunch”早已不够用了,使得这些公司必须自造轮子以应付高并发、海量数据、机器学习等各种拓展性的领域并提高程序员在这些领域下工作时的劳动生产率。对于这些领域来说,没有技术你就做不成事情。

评分

参与人数 1大米 +50 收起 理由
admin + 50

查看全部评分

回复

使用道具 举报

🔗
 楼主| ettemill 2019-7-22 21:24:20 | 只看该作者
全局:
magicsets 发表于 2019-7-22 15:34
我觉得技术的重要性是看领域的,当你说“技术选型”的时候,实际上已经是“下游客户”了。而你所选的那些“ ...
另一方面也要有critical thinking,知道这些便利从何而来,因为世界并不一定会一直这样运转

这个是的,知其然且知其所以然,所以我觉得技术选型是一个很重要的能力,知道什么场景用什么。
.1point3acres
当你说“技术选型”的时候,实际上已经是“下游客户”了

下游客户并不一定不好,需求管理的同时需要和上游密切合作。
.google  и
员工净想着鼓捣一些机器相关的东西、不好好干活生产产品、不想着用户的体验怎么办?

我比较倾向于去主动发现需求,去主动调查用户的体验,发现需求,然后尝试掌控整个流程deliver用户的需求,也同时带着我们组的人这样做
回复

使用道具 举报

🔗
 楼主| ettemill 2019-7-22 21:28:43 | 只看该作者
全局:
gongchen 发表于 2019-7-22 14:41
楼主能不能讲讲在“拿到需求”上有几个方面要做呢?

. 1point 3acres 我觉得几个方面吧
1. reputation这个是肯定的,所以我觉得最好要在一个组能呆一段时间,而且是every year counts那种(不是10年经验=1年x10)
2. 主动去交流,和各个function的人去交流,发现问题
3. 知道技术,了解技术,知道所有人的痛点,然后能够从一个更加高屋建瓴的strategic的角度来发现问题,我比较常用的几个范式是:这个问题发生频率有多少?如果换一个新人的话,犯错几率是多少?那么,怎么样做才能让新人不要踩坑?

评分

参与人数 1大米 +20 收起 理由
admin + 20

查看全部评分

回复

使用道具 举报

🔗
esanio 2019-7-23 00:16:32 | 只看该作者
全局:
感谢楼主分享经验。
.google  и
“Low level”可能对于coding的要求比较高,一个原因是因为工作的内容主要还是coding。
“Senior level”也并不是对coding就没有要求了,很多公司对于senior的coding要求其实并不比entry level的低,有的甚至更高, 不仅如此还需要有很好的design能力。
我觉得楼主所说的,应该是实际工作中的经验,对于senior来说交流能力一定要强,这个无论是在argue和表现自己团队的时候都很重要。另外技术也要很强,这也是你可以跟别人argue的基础。
回复

使用道具 举报

全局:
branson821 发表于 2019/07/22 02:36:33
以前觉得面试leetcode不好都是刷的题 现在觉得真是很好 工作中碰到的老油条多数都是学不会东西不怎么干活但是死命抢credit写email想办法坑别人的货  刷题是能把这些老油条挡在外面的有效办法...

非常同意你的说法。我们这里来了个难民博士。他代码相当凌乱。过了一段时间竟然还跟我们吹说他把pthread全部替换成了cpp thread,而且还是相当短的时间内。但是我和同事都怀疑他的代码能力。由于他国籍问题不能直接插手项目,他就开始抢他人工作成果。因为高级别的同事忙得没时间写文章,然后他就把两个同事的成果粘成一篇文章,自己做了第一作者。文章里边完全没有他的成果,只有他东拼西凑别人的成果。现在我发现他每个星期都在researchgate上查看我的文章和我项目的文章,感觉是要对我的成果动手了。可是我已经合同到期离职了。所以甚至文章里根本不会有我的名字。这个难民挺有手段的,我还没离职前他还骗我说他有朋友在大厂想招人,帮我递简历,过后他就找借口说我因为不会C#所以被拒了。这人隐藏得可深了。
回复

使用道具 举报

🔗
石头OAPG 2019-7-23 11:15:41 | 只看该作者
全局:
我理解的软件开发工程师的发展路线:
1. 新手,对应开发团队里面最多的软件工程师,招聘的数量相对来说较多,基本就是leader安排任务,交待清楚需求能够准确理解需求,考虑内存、存储/CPU的限制,能够快速实现就能够适应岗位;. 1point3acres.com
2. 继续的目标就是能够带一两人,完成需求的端到端交付(可能是领域级端到端),那么就要分析客户(公司内部的上下游对你来说也是客户)到底要的什么,我能帮助他实现什么价值;如果需求非常复杂,那么就要做些原型,和客户沟通保证实现正确,减少返工浪费;

接着的发展路线就会发叉,我的定义不一定完全准确大家理解意思就行:
1. 纯技术型:就是不想参与管理人方面的事情和扯皮等,就一直想在技术上深入,技术专家方向,那么就要不断深入核心技术,掌握稀缺的技术,例如操作系统内核技术等;
2. 架构师:能够对软件构架有清晰的认识,保持客户需求实现过程中软件架构不断优化,不会因为架构问题导致软件在变大过程中因技术债问题,维护开销越来越大,需求开发速度不断下降;
3. 管理线:从team leader到部门领导到管理层,一级级往上走;从team leader开始,虽然技术同样重要,但是leadership和沟通能力更为关键。对内要对全团队成员的能力了如指掌,评估发展潜力,给与挑战性任务辅助指导,进行人员能力提升,提高团队产出水平;对外要从直属领导角度考虑问题,包括客户需求,以及上下级团队之间的沟通,不能只从本位考虑,在保护自己团队的同时,更要站在组织整体利益最大化来考虑问题,有时候要做出牺牲,掌握好平衡。
. 1point3acres.com . From 1point 3acres bbs
这三线不是分裂的,只是一般人精力有限,结合自己性格能力着重往一个方向发展,能三方面都玩得溜,那是最牛的。
回复

使用道具 举报

全局:
好有道理     
回复

使用道具 举报

🔗
painting 2019-8-7 16:48:49 | 只看该作者
全局:
sincewhen 发表于 2019-7-22 01:15.
感谢楼主分享,非常同意!

可以在工作中切实感受到,如何能够帮助一个小团队高效运转,比多写几行代码还 ...

以前跟同事工作时也没觉得沟通有啥问题。但是现在找工作面试时总是听不明白面试官描述的到底是什么问题,得需要来回问个好几次才能明白他想考察什么知识点。我也常常答得不对点子上。我觉得这样太给自己面试减分了。为什么会出现这种情况?我平时跟前同事交流技术或项目都没有问题。但是面试却这样?但是我觉得面试官也问得很模糊啊。请问你有没有什么好的建议没?谢谢了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
职场达人
  • ↑ 本版用于讨论职场各种干货话题,闲聊请去🔗聊聊或者🔗匿名版
  • ❌ 本版严禁水贴,引战,发布广告,拉群,贴个人联系方式,扣分无警告
  • ☑ 求职、面经等去 🔗北美求职和 🔗回国求职大区,刷题和学习请去 🔗终身学习大区
  • ☑ 请去专版发布 🔗内推, 🔗招聘信息,和讨论 🔗创业内容
  • ☑ PIP / DevList/ Need Support 等话题也已开设 🔗专版

本版积分规则

>
快速回复 返回顶部 返回列表