前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >多面手程序员

多面手程序员

作者头像
四火
发布2022-07-15 21:18:50
2760
发布2022-07-15 21:18:50
举报
文章被收录于专栏:四火的唠叨四火的唠叨

先来看看这样的场景:

  • “没有美工做的高保真页面,我怎么来开发呢?我没有审美,也不会用 PS 作图啊。”
  • “正交测试这种技巧,是测试工程师应该掌握的,开发不需要了解。”
  • “目前进度的瓶颈在产品经理那里,他还没有给我澄清需求。难道要一个写代码的去给客户整理需求么?”
  • “我是 C++程序员,我是做底层开发的啊,这种页面样式的问题我怎么可能懂?”
  • “这是维优人员关注的线上数据,他应该把日志、错误现象全部备齐了再提交问题给开发。”
  • “这是他的模块,把问题提给他来处理。”
  • ……

这些是我下面要反驳的一些做法,你有没有中枪的?

事实上,我已经在很多篇文章里(比如这篇文章)阐述了这样的观点:程序员要多能。很多情况下,优秀的程序员一个人就可以搞定一切。

但是如果我直接把我的观点扔上来,可能不会遭到很多的质疑。我们的教育一直都讲究 “做一行,爱一行”,明确哪些事是自己应该管的,哪些事是别人的,切勿指手画脚。因此,即便有的人暂时赞同了我的看法,却只似雁过留痕而已,在实际学习工作中,依然不容易扭转这样的观念。

所以我摆出这样的几个场景,有异议、有争论是好事。

程序员替代不了美工吗?

有人反驳我,说:“如果程序员可以替代美工,可以替代 UI 设计师,那还要专门设置这些职位干什么?”

说得好。程序员当然可以做美工的工作,但是程序员不能取代他们,这里至少有两个原因:

  1. 多数程序员并不具备美工的专业技巧和丰富的 UI 经验,换言之,无法如他们那样精通界面设计;
  2. 出色的美工需要有非常优秀的审美,这需要审美天赋,也是大多数程序员不具备的。

但是——

  • 程序员可以用 PS 切图吗?可以。
  • 程序员可以设计 CSS 和 HTML 界面吗?可以。
  • 程序员可以设计 UI 吗?当然可以,而且往往清晰、简洁,组件复用性好。

美工,只是一个特例而已。你可以把它套到各种相关工种名称上,比如测试。有这样一篇文章 《我们需要专职的 QA 吗?》,答案当然可以不是非黑即白的,可这需要放下成见,我想,你会有自己的思考。

请不要忽视工具的威力

工具的威力有多大?想想 Bootstrap,可以让一个对 CSS 和 JavaScript 只是略懂的人,就可以做出非常简洁美观的界面来;再比如这篇文章,谁说程序员不能做运维?当工具足够强大,运维并没有那么困难。

在工具降低重复劳动和降低门槛的时候,真正精通的专家都去开发工具了。正所谓 “授之以鱼,不如授之以渔”,但这句话有个特例,如果对方是程序员,那么这两者都不用,还是给他开发一个自动捕鱼工具吧。

小团队和简单流程

小团队也好,简单流程也好,就是要让沟通成本尽可能小,容易保持对话交流这种高效的方式。在享受这样的好处的时候,“专才” 可以吸引你的眼球,但是 “通才” 却是一个必不可少的要求。

对一支创业团队来说尤为如此。小团队让一个创意可以快速得到实施,但是你没有太多钱和精力,谁负责宣传?谁负责约见客户?谁负责上线?谁负责响应投诉?……你需要多面手而不是技能单一的专家。

一专多能

多面手并不阻碍你成为某一领域的专家。深度和广度往往是相伴而行的,很难想象一名优秀的 DBA 不懂操作系统底层的知识;也不可能见到出色的 “前端工程师” 却只会写 JavaScript 客户端脚本语言。毕竟问题不可能非常单纯,总是牵一发而动全身的,唯有了解的东西多了,才能够去更好地认识自己最擅长和熟知的领域。

事实上,一专多能已经成为了潮流。在足球领域,现代足球的发展造就了多样化的角色,为这些角色使用了独立的词语,以前锋为例,就有 Poacher(抢点型)、Trequartista(9 号半)和 Target Man(站桩中锋)等等。

多走一步

我的同事在定位问题的时候,如果发现不是我们自己的问题,而是别的产品引发的问题(由别的团队维护),都已经形成这样的习惯:尝试花少量的代价去定位一下问题的所在。这其中,我们经常会去阅读对方的产品的代码。有人觉得不可思议,你去读别的产品的代码?其实听起来恐怖,可多数情况下做起来却没有那么困难。至少,你可以把你的调查分析结果给目标团队,了解别的产品和阅读别的产品的代码,对于扩大视野还是有助益的。

在模块划分上亦如此,不要把模块的责任划分得那么清晰,谁都有查看、修改代码的权利和义务。

多走一步还表现在团队中非设计编码的其它事务上,程序员应当尝试做各种各样的事情。比如招聘——招来的人是要和你每天在一起工作的好伙伴、好基友,这是事关你切身利益的大事,如果让别人去决定你的团队要安插什么样的人,这谈何合理呢?

有的人甚爱搞科研,这些人叫做研究员、科学家;有的人擅长做工程,这些人才是工程师。做工程就是要解决实际的问题,于是你不可避免地接触到形形色色的领域和现象。SDE 不只是 Software Development Engineer,同时更是 Someone Do Everything。

文章未经特殊标明皆为本人原创,未经许可不得用于任何商业用途,转载请保持完整性并注明来源链接 《四火的唠叨》

×Scan to share with WeChat

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档