zoukankan      html  css  js  c++  java
  • 程序员的遮羞布:这个需求技术上无法实现

    老读者都知道的,我在三线小镇洛阳工作。公司很小,开发人员最多的时候也就十来个,最少的时候也就我一个光杆司令。由于掌握着公司所有的核心代码,所以我一直很嚣张。老板也拿我没办法,有时候为了追加一个功能,还得看我脸色。而我呢,经常甩给老板的一句话就是:“这个需求技术上无法实现。”

    有时候,老板被我逼急了,就在办公室大发雷霆,但我仍然毫不示弱:“实现不了就是实现不了,你发脾气也没用。”老板的需求也没有太过分,无非就是让我追加一些类似“自动赚钱”的功能。哈哈哈,开个玩笑。

    说句实在话,老板有些需求的确很难在技术上实现,但有些不是的。我抛出“技术上无法实现”这个说法无非是想堵住老板的嘴,因为需求是做不完的,还不如拿这些时间写点文章和各位分享一下。看到没,我对写作是真爱啊,对各位读者朋友们是真爱啊。

    01、技术很渣

    不得不承认啊,我的技术是很渣的。虽然已经有十年的工作经验了,但也就是一个初级程序员的水平。这话不是出于自谦,而是出于自知之明。

    举个例子,自我批评一下。前几天我在某园上更新了一篇技术文,题目叫做《Stack Overflow 上 370万浏览量的一个问题:如何比较 Java 的字符串?》,我觉得写得蛮有趣的,蛮深入的。结果呢,被喷了,截图羞辱一下自己。

    由于技术很渣的原因,有时候老板提出来的需求就会令我束手无措。记得有一次,他想做一个“二维码海报分享”的功能:用户点击“我的海报”,后台获取用户的微信昵称和头像后,根据自定义的海报模板,生成用户专属的二维码海报。

    二维码海报我见过很多,大家应该也司空见惯了,但要我用代码实现出来,以前还真的没有做过。于是我就扔下一句话:“这个需求技术上无法实现。”

    虽然技术很菜,但我不想自暴自弃。晚上睡觉的时候,我就在琢磨:“这个二维码海报还真的有必要花点时间研究一下,如果说这个需求都实现不了,可真的有点说不过去。”

    第二天到公司后,我就开始动手研究。花了不到一个小时的功夫,我就有了大致的思路。

    • 用户点击菜单的时候,获取用户名和用户头像的地址。
    • 加载海报背景,并获取 Graphics2D 对象。
    • 利用 Graphics2D 在海报上打印用户昵称。
    • 利用 Graphics2D 在海报上打印用户头像。
    • 利用 Graphics2D 在海报上绘制用户专属二维码。
    • 将生成的二维码海报文件上传至微信的临时素材库。
    • 调用微信 API 返回临时素材 ID。

    思路有了,就需要动手实操。经过一番试错后,发现老板这个需求在技术上是可以实现的。等我把这个功能更新上去后,老板得意洋洋地拍着我的肩膀说:“王二,你真牛逼啊。”

    PS:大家如果对二维码海报比较感兴趣的话,可以查看我另外一篇文章《Java生成仿金山词霸的二维码分享海报》,源码在 GitHub 上已经开源,地址如下:

    https://github.com/qinggee/poster/tree/jinshanciba

    说实话,老板拍我肩膀的时候,我有点脸红——“这个需求技术上无法实现”竟然成为了我的遮羞布。如果大家对技术有追求的话,请不要轻易地说出这句话

    02、懒得做

    关于公司的事情,我很少提过。但经常有读者问我:“二哥,你在洛阳做什么工作呀?”为了满足大家的好奇心,这里就透露一下:做一个微信商城。

    这下要失望了吧。其实不管做什么,只要能生存下去就不算差。我们还在“苟延残喘”,哈哈哈(苦笑)。

    既然是微信商城,微信支付是少不了的。但老板偏偏不放过我,还要做支付宝支付。大家都知道的,微信公众号里是不允许使用支付宝支付的;也不能说不支持吧,需要跳转到手机自带的浏览器,复制一长串字符,再跳转到支付宝等等。特别麻烦,并且没啥必要。

    基于这样的场景,我义正言辞地回绝了老板:“这个需求技术上无法实现。微信公众号,怎么支付宝支付嘛?要做你自己做!”

    老板的脸色瞬间铁青。但还是得忍住,谁叫我这么横呢。

    隔天,我们再碰面的时候,老板又贼心不死,非要我研究研究,说在某某个商城上就见到了支付宝支付;另外,微信支付需要有 90 天的试用期,试用期是没办法下发资金的,做支付宝支付很有必要,虽然支付不好用,但最起码可以解决下发资金的问题啊。

    出于“给钱就办事”的职业操守,我极不情愿地开始了支付宝支付的研究,没想到,挺简单的。API 上说得清楚,SDK 也对支付做了相关的封装,于是我花了不到一天的时间就完成任务了。

    等我把这个功能更新上去后,老板再次得意洋洋地拍着我的肩膀说:“王二,你真牛逼啊。”

    说实话,老板拍我肩膀的时候,我脸上泛起了红晕——“这个需求技术上无法实现”竟然成为了我推脱的借口。如果大家对工作有担当的话,请不要轻易地说出这句话。

    03、反思

    在一线大厂的同学可能很少有机会像我这样,直接和老板硬刚,除非是公司草创阶段。但我想,应该免不了要和产品硬刚。

    很多时候,产品提出的需求,总会认为技术上实现绝对没有问题,然后经过技术评估后,得到的反馈是不建议这么做,然后问题就来了:产品认为,是开发人员不想做,故意提出各种难题或者有意卡壳。

    真的是这样吗?我想答案除了开发人员不想做,还有就是不会做。当然了,还有真的做不出来。

    讲道理,“只要想做,没有什么是技术上实现不了的”这句话就等同于“世上无难事,只怕有心人。”要想反驳,绝非易事。但也有几个靠谱的答案,比如说“停机问题”、“钱给到位”。

    就我们程序员自身的成长来说,出于对技术的敬畏,出于职业的发展,我们应该尽量少说“这个需求技术上无法实现”,多说“哦,我想一想,我研究研究。”

    04、鸣谢

    好了各位读者朋友们,以上就是本文的全部内容了。**能看到这里的都是最优秀的程序员,升职加薪就是你了。如果觉得不过瘾,还想看到更多,我再推荐几篇给大家。

    @程序员,别再迷恋多线程工作了

    @程序员,请掌握这些核心生存技能

    @程序员,请万分珍重你的第一份工作

    程序员一般通过什么途径接私活?

    如果大家有什么问题需要我的帮助,欢迎留言哟。如果想发泄一下情绪的话,求轻喷。

    日常操作来了!如果是二哥的铁杆读者的话,求点赞,让更多需要营养的同学看到这篇文章。如果想要第一时间看到二哥更新的文章,可以扫描下方的二维码,关注我的公众号。bye-bye,我们下篇文章见!

  • 相关阅读:
    hdu 4002 Find the maximum
    hdu 2837 坑题。
    hdu 3123
    zoj Treasure Hunt IV
    hdu 2053 Switch Game 水题一枚,鉴定完毕
    poj 1430 Binary Stirling Numbers
    hdu 3037 Saving Beans
    hdu 3944 dp?
    南阳oj 求N!的二进制表示最低位的1的位置(从右向左数)。
    fzu 2171 防守阵地 II
  • 原文地址:https://www.cnblogs.com/qing-gee/p/12071813.html
Copyright © 2011-2022 走看看