开篇词 | 学会如何工作,和学习技术同等重要

你好,我是臧萌,一名已经工作了14年的一线程序员。这些年来,我曾先后在Sybase、eBay、盛大、亚马逊、携程工作,目前是PayPal数据处理组的技术负责人。

回顾我这14年来的工作,其实并不是一帆风顺的。我犯过一些常识性的错误,也对工作中遇到的事情有过迷惑和不解,自然而然的,也就吃过一些亏。后来我遇到了许许多多的程序员,发现无论是初级的,还是中高级的,都会遇到和我一样的问题。

有次一群朋友一起吃饭,有个人说自己最近特别苦恼:

“我现在在一家还不错的公司做后端开发,虽然公司是个很大的跨国企业,在业界也很知名。但是我们公司其实没有自己的产品,说白了,就是专门给人做外包的。我一开始想着公司不错,虽说是外包,但是能做不同的项目,我也能多接触一些东西。但是时间长了我就发现有点不对……”

“我的同学都有自己的专攻方向,我却没有,我还要不要留在这里?有个同事跟我一起入职,但现在职级比我高,为啥升他没升我啊?”

我认真想了一下,他的情况,他的问题都似曾相识。

其实很多人这么迷茫,是因为陷入了“技术之外,别的不重要”的误区。事实上,除了赖以生存的技术本领之外,有很多看似很小的工作细节,也是造成不同人在职场上处于不同地位的重要因素。它会在你不知不觉的情况下,影响你的工作成果、个人成长以及方方面面。

学生时期的我们都想知道如何学习,同样的,到了职场上,我们也要知道如何工作。这不仅仅包括技术方面的事情,也包括如何与同事协作、如何与上司沟通、如何正确地使用邮件等等一系列需要与同事打交道并付诸实施的事情。

经过我这么多年的工作经验,我发现这些事情虽然琐碎,但其实可以大致分为4类,它们分别是职业素养、职业选择、职场情商和技术成长。这也是专栏的模块划分。

职业素养篇中,我们将会讨论如何培养良好的工作习惯。这些习惯很容易影响我们的工作效率和与同事之间的关系。比如,你以为邮件仅仅只是发送信息的吗?邮件的背后有什么样的工作逻辑?再比如,来自领导和部门的任务那么多,我们要如何根据任务的性质划分出它们的重要性?

职业选择篇中,我们将会探讨工作选择,以及与领导之间的关系。在就业形势如此严峻的情况下,我们选择公司要比之前更加谨慎。如何选择和自己“聊得来”的领导?他们都有怎样的特质?在此基础上,如何选择心仪的公司?你是更适合创业公司还是更适合成熟的大公司呢?

职场情商篇中,我们会探讨一个比较敏感的话题,那就是职场政治。我们都说,有人的地方就有江湖,相信不少人都会对同事关系感到头疼。比如最常见的,为啥领导更喜欢他?工作能力也许是一个原因,但绝不是唯一的原因,在这背后,个人的输出、看问题的方式和立场、工作的方式也同样重要。

最后一个篇幅是我们最熟悉的内容,那就是跟技术相关的一系列话题。在提升技术能力的道路上,我们需要注意哪些坑?技术是一种手段,也是一种观念,技术观为何如此重要?它能指导我们什么?

我是如何在文章中讲述这些内容的?

问题已经摆出来了,那么如何带着你将每个问题都想透彻呢?

我的做法是,以利益为视角,以换位思考为手段,以现实例子为场景来给你讲。而事实上,我平时其实也是这样思考问题的。每个人在职场中遇到的问题都是不同的,都会有具体的背景,因此,即便我已经尽可能考虑到了你可能会遇到的问题,但是也可能有漏网之鱼。怎么办呢?放心,这套思考问题的方式,换在任何问题上,都是完全适用的。

以利益为视角

当我们想要理解工作中的各种问题和各种事情的时候,不妨坦诚地从“利益”这个视角思考,弄清事情背后的“原动力”。别觉得“利益”是什么不好的词儿。公司存在的最主要目的就是创造利润,而我们工作最主要的目的就是赚钱。但是,除了看得见摸得着的金钱,我们可以从工作中获取的“钱”还有很多,比如升职、学习、实战的积累、好的成长机会、可以复用的资源、公司内外的声誉等等。

可以说,利益贯穿了工作中的每个关键环节,是推动工作中几乎所有事情的原动力。这样想的话,很多时候事情的走向就会简单、明晰很多。

换位思考为手段

换位思考是一种很重要的能力,很多事情之所以不能理解,甚至看上去匪夷所思,其实就是因为我们没有把自己的屁股坐在在对方的板凳上,站在对方的利益考虑问题。

你可能要说了,换位思考到底对我有啥好处呢?

我觉得最直接的一点就是,换位思考可以帮助我们自己更高效地工作,因为它能有效地帮我们避免一些麻烦,在做事情之前预知随之而来的后果。

现实的场景为例子

我们都讨厌干巴巴的理论讲述和推断过程,那太枯燥了。因此,我在讲课的时候,充分考虑到了这一点。刚好,咱们课程中的问题,其实原本就是现实工作中的。所以我在讲述的时候,基本都是把这些真实的场景直接给你给放进来。

在我开始讲之前,你可以去想想,如果你遇到了这个问题,你是怎么想的,你会怎么解决。然后,再看看我的做法,是不是和你的一样。这样对比的过程,你慢慢就能明白,我们的思考问题的方式,有啥不一样。我也欢迎,你对这些话题提出更多自己的想法,我们能够教学相长,共同进步!

我一直坚信,学会如何工作,和学习具体的技术是同等重要的。我一直觉得,在职场中,我们每一步的经历都是有用的,我们在职场中遇到的每一个问题都不小。正是这一点一滴,才构成了我们的职场生活。

你想想,我们人生的多少时间是在职场中度过的呢?你不想更有意义地度过职场人生吗?

精选留言

  • 镞砺括羽

    2020-05-18 21:12:46

    老哥,今天你开新专栏了。
    而今天我却裸辞了,很迷茫,不知道怎么办,未来如何。
    原谅我暂时没钱买这个专栏,哈哈哈,,找到新工作就买😂
    作者回复

    哈哈,有钱的捧个钱场,没钱的捧个人场~

    不过我专栏里也会提到,我真心不建议裸辞,很被动的。哪怕你再不喜欢老的公司,也骑着破驴找新马。裸辞的话,一方面新公司可能会因此“压价”,另一方面新公司也会在意这个事情,想知道你裸辞的原因。我的建议是你想好一个自己裸辞的理由。

    当然,有一点好处是,你的入职时间可以很快。有时候也是很重要的一个优势。这些都要看机遇,随缘。

    2020-05-18 21:45:28

  • Garwen

    2020-05-18 19:18:48

    我也写了三年代码,感触很多,在工作中智商给出了能力上限,因此想要完成更大的事情不可避免的就要与人合作,组织团队的力量来完成任务。在这过程中从别人身上学习,从经历中学习同样重要。毕竟没有Linus Torvalds那样的实力,一句不爽就能talk is cheap, show me your code.正确的合作方式与技术实力同样重要。1+1可以大于2,也可以小于0,一山不容二虎也是常见的事了。希望老师结合自己的实际工作经历给出一些案例作参考,分不同阶段的说明吧。对这个专栏还是有些期望的。
    作者回复

    嗯呐,软件行业发展这么多年,单兵封神的时代基本过去了。

    努力做专栏,努力不让你失望。有问题也欢迎你在相关章节里留言讨论~

    2020-05-18 21:41:04

  • 一道阳光

    2020-05-18 18:47:47

    我现在就在困局中,打算重新找工作,准备了很长时间,之前一直都在外包工作(这家公司工作了2年,为什么不早点走:不想做无意义的跳槽,想学的硬知识才去找工作),直到最近半年才感觉学到了点东西,感觉之前一直都在做没多大技术含量的事,不是我不努力,而是别人分配你的活根本就无法锻炼你。所以这次找工作,选择很重要,能带来成长,带来视野,有好的氛围,如果能认识大神就最好。期待老师的课程能给我带来答案
    作者回复

    “不是我不努力,而是别人分配你的活根本就无法锻炼你。”

    这个我同意。。。外包和外派我在这个专栏里会讲到。

    2020-05-18 21:38:32

  • Rock

    2020-05-18 22:52:40

    10年运维工程师,2次裸辞(最近2年1年次),因原公司3年没有涨过工资,工作量增加数倍所以离职。当时只觉得钱多就行,不拖欠就ok了,也没有多想,外包去了大厂1年,项目顺风顺水,突然整个项目组被裁。第二次是在甲方,我把所有问题都解决了,重新搭了新架构,所有的都稳定了,公司来了一个卸磨杀驴。
    作者回复

    事情都做完了,被卸磨杀驴,如果我说我不是第一次知道这种事情,你会感到惊讶么?这也是我为什么在直播选题的时候,会强调找个合适自己的经理。

    专栏里也有一篇说这个事情,很多人觉得某个项目机会难得,哪怕经理奇葩,也忍了,先做事。但是很多时候这种情况下,做事儿的程序员就算做成了事儿,也没有收益。

    2020-05-19 10:38:09

  • 前路漫漫

    2020-05-18 22:04:48

    人际真的很重要,包括格局,比技术难多了。^_技术是固定的放在那里,与人交往要读懂背后深意,确实难,想想就累^_^
    作者回复


    嗯呐,我觉得第一步是认同交流沟通的价值,然后结合自己实际的情况,选择合适的处事方式。如果自己可以,那么自己来,如果自己不大可以,那么可以借助别人来。

    2020-05-18 23:44:48

  • sugar

    2020-05-25 19:37:42

    如今工作第6个年头,一直混迹BAT,职场问题给我印象最深的两句话:“跟对人做对事”,“选择比努力重要”。经历过的人自然懂
    作者回复

    ✅✅,选择在专栏里也有重点提到。经历过的都懂,我想通过这个专栏,帮助没经历过的、正在经历的、经历了也没懂的同学,懂。

    2020-05-25 19:57:21

  • 酸辣土豆丝

    2020-05-19 20:57:10

    工作六年了,已经32,现在也感觉很迷茫,心里一直想从事纯开发的工作,但是实际工作,运维的工作多,开发的量少,想转纯开发,不知道现在转开发还有转吗,学的知识面又杂,没有一个拿手的
    作者回复

    我的感觉是,任何改变,都是个需要出很多的过程,更不用说转变。尤其是在工作中,日常繁杂琐碎的事情很多,如何能不被这些事情耗尽精力,进而有机会做自己想做的改变,其实真的是一个挺难的过程。

    我有个朋友也是做运维的,也是想转开发(真的。。。真的不是无中生友。。。)。他也是传统金融行业,并非是互联网行业,没有对运维工作提出太高的要求。我跟他聊下来,给的建议是从日常工作入手,看看有没有机会做个项目,替代日常繁杂的工作。哪怕是自己用业余时间做。

    如果公司对运维的依赖和重视程度很高,比如说互联网公司,那么不妨专注于运维,让自己的开发服务于运维。比如前面我提到的,可以让自己的运维范围从一台台独立的机器,慢慢上升到机器上跑的服务指标,再上升到服务所支撑的业务指标

    其实,很多做开发的,也是困扰与自己是业务翻译机,十年专注CURD,觉得自己会的东西太窄,都是围城。

    2020-05-19 23:01:22

  • 平少

    2020-05-19 10:33:09

    干运维工作7年了,至今还只是个公司的运维主管(团队就2人),公司对运维这块没提供啥好平台。人已30,不知道接下来该如何抉择,很担心35岁危机,老师有啥好建议呢
    作者回复

    运维方向没有深入了解过,就我接触到的信息看,有两个方向。

    一个是紧跟业务,为业务提供价值。很多运维从传统的机器层面的运维,利用自己的监控系统,讲业务监控和运维纳入自己的范围。比如说,之前是监控机器的健康信息,慢慢的将机器上部署的服务,服务所属的组,也纳入到自己的信息系统,机器出问题,立刻给相应的组上报。更进一步的,将业务的指标也纳入监控系统。也就是说,监控的不仅仅是机器健康,而是业务健康,比如订单量,浏览量等等。这样,可以为业务提供价值,尽早发现问题,减少损失。

    另一个方向是智能运维,提供根因分析,这个是比较技术流的,对技术系统要求比较大。

    运维有一个优势是掌握着机器的健康数据,而且缺省就需要轮值,既然轮值监控,为什么不更进一步,监控更有价值的业务数据呢?

    2020-05-19 14:14:56

  • Sdylan

    2020-07-06 19:57:46

    作为开发人员绝对不要想着我就是想纯做技术,脱离业务、脱离团队,会走的很难。对于所做的事情,不能提升自己,快速做完。然后学习学习和巩固新知识。今天就被几个生产问题搞得晕头转向,关键是你的领导不知道这事,想想一点毛用都没有。
    作者回复


    是的,程序员要一直提升自己,而提升自己只靠技术是不行的。

    关于解决线上问题,经理不知道,确实有点憋屈的感觉,又累,经理还不知道,找谁说理去。。。这个一方面可以在 1:1 会议上说说,如果你觉得线上问题对你来说是个很大的包袱,可以让经理考虑是否别人可以分担一部分。

    但是就我自己的选择的话,我会选择将生产问题扛下来。这样你可以对系统(自己的系统和公司的系统)更熟悉,虽然短时间看,自己是“吃亏”的,但是如果你打算在这个公司长期发展,其实对你是有利的,也许经理一次两次看不见,也不会每次都看不见。而且和你合作的人也能看得见,如果你的人设是“能搞定问题的那个人”,你的付出就有回报了。

    当然,线上问题,解决是一方面,另一方面是总结,然后向经理提出如何进一步避免问题的方案,这才是向前迈出了一步。如果只是每次被动上去解决,确实不能带来很大的成长。

    2020-07-06 22:11:56

  • 南湾小猪

    2020-05-20 04:52:29

    Wow! SAP, eBay, Amazon, PayPal...相信作者一定有很多和印度友人合作的经验可以分享😉
    作者回复

    略有一些,略有。

    你知道Sybase被SAP收购了,想必也是混张江的了😜

    2020-05-20 07:42:46

  • 兰芳林

    2020-05-19 16:08:09

    跟我同一年进来的同事,他已经升职了,而我还在原地。
    作者回复

    升职的人都是类似的,而没升职的人各有各的原因。

    这个专栏的职场情商篇第一节就会聊聊升职的事情。其实比自己来的晚的,升职比自己还早,也不是罕见现象。

    如果你觉得自己有成长,工作挺开心,只是没升职,那么你不妨找机会跟经理聊聊,自己距离下一级还有多少差距,自己努力的方向是什么。

    2020-05-19 22:44:09

  • J.Smile

    2020-07-29 13:00:00

    经常听到身边的朋友说:“我只想搞钱,搞什么技术?!”,是啊,经常看到技术人品都不咋滴的都在深圳买了房,想想确实挺酸的。后来又想了下,自己在技术上投入那么多真的纯粹就是为了钱吗?心里的回答是否定的,也许只是想单纯跟技术交个朋友,毕竟技术这个朋友单纯而直接,偶而会给你开个玩笑,而你最后理解了这个玩笑。是冷幽默也好,钢铁直男也罢,技术从来不会欺骗我们。也许是这一点才让很多人在技术上投入太多的精力,但最后很多人只有技术的输入,却没有技术的输出?唯一的输出可能就是工资,奖金,但很多人依然有很大的职场压力,有时候宁愿少赚点钱,轻松一点。看武志红心理学课上说的一句话“我们每个人都没有简单活着的福分”。而职场就是打破我们单纯幻想的地方,职场其实就是属于几个人的游戏,大多数人都只是龙套。果断报名了这门课,希望能从课中得到一些启迪,明白一些道理。
    作者回复


    对外技术是工具,对内技术是朋友。你这个朋友的比喻太经典了!学技术,有物质层面的追求,也有精神层面的追求。

    希望对你有帮助,也欢迎你在留言区和我和大家交流。

    2020-07-29 14:17:05

  • Seven

    2020-06-24 14:36:35

    开篇就给了多元有效的视角!
    作者回复

    😄,欢迎交流,欢迎分享~

    2020-06-24 21:07:05

  • 极无宪

    2020-05-24 07:54:50

    还是比较期待如何成为架构师!
    作者回复

    在我看来每个程序员都需要有架构师的职能。这个专栏技术篇也会聊聊程序员如何成长为系统架构师。但是架构师是需要软硬技能双修的,这和专栏里很多内容都是有呼应的,比如重视沟通,重视需求等。

    2020-05-24 11:34:07

  • ⛽️🦆

    2020-05-20 23:19:10

    年龄27,后转行入的互联网。特别迷茫就是互联网行业对学历要求很高。我的学历不是很高。是不是没有机会进大厂了。而且目前在用python写web。想转行java,前进的路上一直在怀疑自己。哎。
    作者回复

    你好加油鸭,

    学历对找工作的作用会随着工作经验的丰富越来越小。这个逻辑是工作经验和成长能够代替学历,用来筛选人才。我的python很菜,但是根据我和朋友聊下来,python不是很适合做大规模的web开发。但是现在python很火呀,机器学习什么的都是很好的方向。如果你愿意做后端开发,Go和Java都是不错的选择。

    2020-05-20 23:41:47

  • Geek_3b1096

    2020-05-20 08:42:37

    报名了
    作者回复

    Nice to meet you~

    2020-05-20 09:16:51

  • 风中劲草

    2020-05-20 08:39:23

    找好下家了,提出离职申请,原单位拖我一个月,协商新单位晚点入职,最后被新单位放了鸽子,最后还需要重新找
    作者回复

    就新公司来说,给你一个月的时间从老公司离职应该是常规操作。如果他们想让你提前入职,需要提前说清楚,而且能不能做到还不好说。

    对老公司而言,一般离职是需要以前一个月提的,不同的公司规定不一样。有的公司是系统限定的;有的公司是只要离职单上相关人等都签字,当前离职也可以。

    找工作这种事情,有时候就是随缘。。。

    2020-05-20 09:14:15

  • Noya

    2020-05-20 04:07:24

    大二学生来看看未来的职场,看看大学有没有相似de地方需要学习
    作者回复

    哈哈,应该不多。大学里没有太多利益,处理事情的关系简单得多

    2020-05-20 07:33:17

  • 行与修

    2020-05-19 22:19:23

    这是个宏观话题,我有预感将在这个专栏和大家里碰出火花👊
    作者回复

    哈哈哈哈哈哈,我觉得也是,有问题有想法都欢迎在下面留言讨论哦~

    2020-05-19 23:03:01

  • Noya

    2020-05-19 12:13:14

    我来支持老师了! 老师的零基础学java非常棒, 而且基本上又问必答!!! 回复非常及时
    作者回复

    谢谢支持~

    有问题随时交流哦~

    2020-05-19 15:00:59