最近好多小伙伴跟我聊天,发邮件。聊天的内容都分享出来:

一.你好有动力啊,一直在坚持自己想做的事情,为什么我坚持不下来?

我底子不好,从来没想过自己能坚持一些什么,你如果认识前几年的我,一定会觉得是两个人。
关于坚持我是这么想的,只要超过7天,剩下的就是习惯,我强迫自己跑步一周,第二周的时候就不会有很大的挣扎,慢慢的就当做是一种习惯维持下来了。
随着时间推移,你坚持的事情会改变你,你的身材更匀称,能流利的说一些英语句子。看着这些变化,想着再过一个月我比现在还要优秀。
很多坚持是枯燥无味的,比如跑步,比如学习英语,这就要在坚持的过程中找一点小事激励自己,设立一些小成就,慢慢达成它。
我属于坚持不了多久的人,坚持跑步最长时间三个月,之后就坚持不下去了。但是我发现频繁的去坚持做一些事情,貌似能锻炼你的坚持能力。
然后我戒烟,20天戒烟成功,然后再去吸烟,这个十一准备再戒一波。减肥,前前后后以供三次,第一次三个月,第二次一个月,这次已经过去了一个月,还在坚持中。
坚持读了一本概念类的书,并坚持写了20多篇读书笔记。我一想到之前自己坚持做了那么多事情,再去做一遍也绝对是轻而易举。
最近开始第三次减肥了,没有之前那么嘚瑟了,没有把这个计划告诉所有人,因为我觉得这个事情太简单了。
只要我坚持一个月,我就能瘦10斤,我之前每次都成功了,这次绝对不会出问题。所以这一个月下来确实没怎么内心挣扎,一切都很自然。
so,这就是我为什么看起来一直能坚持一些小事情。

二.工作那么忙,哪有时间去坚持别的事情

他说出这句话的时候,我反驳了一句:没有时间是最大的谎言。我们来算算一周有多少碎片化时间
工作日:

从家到公司1个小时(浪费在听音乐上,能否趁着脑子清醒听一些英语短语)
中午午休前的30分钟(不玩游戏,尝试听听得到的app)
下午4点的30分钟(不去聊天打屁,翻翻技术博客,了解新技术)
下午6:30等饭来的10分钟(与其刷微博不如想想早上背的单次还记不记得)
晚上9点下班回家1小时(看一些杂谈,让脑子放松下)
睡前刷剧,打游戏的1小时(坐下来写一写总结,列一列计划)

休息日:

每天8小时

这么算下来一周的碎片时间36小时,快比得上一周工作时间40小时了,还说没时间?
所以,找一些碎片化管理的软件,自己规划下时间安排,合理利用每一个碎片时间,聚沙成塔,聚水成涓.
说实话我没做到这么细致,我现在保证的是每周能写一些文章,每天2小时的运动时间,1小时的看书时间。

三.工作没有头绪,感觉一直在做重复的工作,没有提高

这个问题是在之前公司我常常感觉得到的,业务繁忙,需求多,要的急。
我当时也没有好的解决方案,现在想想的话,第一点是对自己的code做重构,做优化。能不能简单一点,再简单一点。
第二点是多读别人的代码,codereview也好,github阅读源码也好。都是一种方式。
第三点是观察别人的工作,比如看看APP,打包发布怎么做,强制升级怎么做。zk是什么,redis是什么…
除了手上的,多去了解一下其他人的工作,提高不了技术,但是可以提高你的见识,学到一些优秀的思想。做到不被技术局限。

四.毕业之后一看文档就犯困,怎么办啊?

我也是,尤其在看pdf文档型的文章时。我算了下,基本上40分钟左右,必犯困。我找了个周末,把它调整过来了。
周六早上开始看书,困了就睡,起来就看,困了就睡,整整一天,到了下午晚上,基本上看两小时都不带打哈欠的。
坚持两天之后读书就不犯困了。唯一的缺点是晚上睡不着了,迟到了一周。

五.我也想学习新的东西,但是不知道该从何入手。前端发展那么快,我到底该先学什么?你的学习计划是什么?

前端发展快,看起来好像确实是,各种技术框架,ui框架,今天争吵这个,明天争吵那个的。我也追过一段时间这些东西。
但是发现有些框架必须天天写,你才能踩到一些坑,只照着demo写一遍只能算入门。
所以后来我的做法是保持对新技术的好奇心,有空了会写一写demo。花大心思到js语言,es6,es7。以及一些设计思想。
个人觉得有这些作为基础,再去上手框架会容易的多。因为日常开发中好多问题其实换个思路就能解决掉。重要的还是思想。框架只是工具。
明白这个之后再来说说我的学习方式。之前我们写过一篇以点破面,从一个点开始,遇到不懂的就发散去学习。这样本来去学习一个点,不知不觉搞懂了一个面。
作为学习开始的点从哪里来?我在平时和同行聊天,和后台开发聊天的时候都会对一些我从没听过的词,或者是知道,但不是很清楚的名词做个记录,然后抽空去搜索了解这个关键词。
搜索的过程中再有没听过不了解的词,再记录下来。这样怎么去学习,学什么就有了一个列表,一个个搞懂他们就行。文章《一大波Flag》是我的关键词列表,我的所有文章都会以此为目标。有兴趣可以看下。

六.新团队特别安逸,没有事情做,大家都在玩自己的,这种情况下怎么提高自己?

经历过,左边的玩手机,刷微博,右边的看电影,看小说。我在中间写设计模式的demo。
怎么说呢,我要说好话就是:保持你的本心,你学你的,你做你认为对的就行,带动他们和你一起学习,一起成长。
但是人和人不同,没必要用别人的生活态度来为难自己,有的人就是把编程当做工作,到点下班,有机会就玩一会儿,偷懒一会儿。
他什么活法我们不去参与,也没必要去改变他,他要是那种会改变的人,看到你这么努力他们也会学习。
我会把我认为不好的人好好分析下,写到一个笔记里,在下面列出问题,例如怎么和这样的人做朋友,如果遇到这样的员工我该怎么办。然后转换角色去回答。
所以一句话,不要用你认为的别人的错为难自己,做好自己,提高自己,明年跳槽。

七.有好多想法但是没有被采纳,该不该放弃想法?

这其实也是我今年出来的一个目标,通过自己的努力,推动自己想要的结果。
现实是残酷的。做的80%的事情至今没有上线。我是怎么做的
1.我对某个流程有想法
2.记录这个想法,提出解决方案
3.解决方案选型开工
4.完成最小demo
5.邮件发送给teamleader
6.如果被驳回
7.继续优化demo逐渐成型
8.邮件发送给经理
9.驳回
10.继续优化 达到全功能90%
11.邮件发送CTO
12.被驳回
13.封印项目/开源项目
跨级别沟通不太好,不要像我这么偏执。但是一定要对自己的想法坚持,别人说你不对事情就不做了,那以后还怎么开公司?
一定要对自己认为的事情100%的坚信。一步一步去实现它,哪怕最后没人采用,那这是你的经验,可以写到简历里。或者是开源,开源之后也可以听听别人的意见,逐渐丰富自己的想法。

八.为什么你总能发现系统的问题?

这是一个同事的问题,因为之前做的一些小项目慢慢的都被用了起来,并且老大在全员会议上也肯定了这些事情的价值。
我一直觉得可能是自己90后性格的原因,从来不愿意刻意的去讨好或者是妥协,我对自己认为正确的事情特别的坚持。
举个例子来说,3月份的时候我们开发了一个前端开发工具。原因是我来的前三天一直在配一套java环境,这我就很反感。我的工作是前端开发,为什么在后台的配置上要花费这么多的时间?
我对这个事情抱怨很大。一直以来我都觉得怎么最快发现问题?听听别人对这件事的抱怨,你的产品不好,用户会抱怨,你的流程不好,员工会抱怨。有人说团队里爱抱怨的人传播负能量不好,
我恰恰觉得正是这些抱怨的声音才是找着问题关键的因素。发现有人抱怨,立即反问他一下,你觉得怎么修改才能让你满意?怎么样的流程才能让你满意?如果他能列举出来123,那就给个机会让他去解决。往往这些解决方案里存在着很好的优化方案。
我抱怨开发流程繁琐需要配置java环境,马上我就开始整理需求,怎么做能解决这个问题?在整理需求的时候我喜欢用一个方法:5why分析法。不停的问自己为什么,直到找到那个关键的点。
之前听刘润老师的课程时听到一个例子分享下:

1.我国现役火箭的最大直径是3.35米。 为什么是3.35米?
2.因为火箭需要火车运输,铁轨的宽度决定了火箭最大直径的宽度。 铁轨宽度又是怎么决定的?
3.因为英国人发明了火车,而火车轨道的宽度在设计之初就沿用了马车的轮宽标准4.85英尺。 马车轮宽为什么是4.85英尺?
4.因为这是拉动战车的两匹马的屁股宽度。

所以你看到了,这就是如何去找到关键问题的方法。我们用5why法分析我们开发流程的问题:

1.前端开发需要配置java环境 为什么需要java环境?
2.因为前后端在一个项目中 为什么不选择前端单独项目?
3.因为前端项目存在jsp,shtml,vm模板等后台渲染模板 为什么不能前端渲染?
4.前端渲染后 ajax使用相对路径调用,无法调用接口 为什么要使用本地接口?

这么几个问题之后我们基本就把需求理清楚了,最关键的是后面的问题,模板渲染以及接口调用的问题
找对应的解决方案逐一解决,就可以将前端后端进行分离了。
这就是我发现问题的方法,找着抱怨最多的点,慢慢去找最关键的点,那就是问题点。好多程序员就是被PM这么把工期砍掉的。

九.如何分配工作任务?

最近看到一些同事在分配任务的过程中有一些问题。描述问题描述不清楚,小伙伴听得一头雾水,没有达到预期效果,没有明确结束时间要用时发现还没完成,
会议结束不知道要做什么,会议结束后发现想说的没有说完等等问题。
最近了解到了一个方法用于解决这些问题的一个“框架”叫做 5W2H分析法,也叫做七何分析法,用于企业管理和技术活动。用来提高沟通问题效率,弥补考虑问题疏漏。
发明者用五个W开头的英语单词和两个H开头的单词进行设问。以此来发现问题,寻找解决思路,描述问题等。具体介绍下:

WHAT – 是什么?目的是什么?做什么工作?条件是什么?哪一部分工作要做?重点是什么?与什么有关系?功能是什么?规范是什么?工作对象是什么?
WHY – 为什么要做?可不可以不做?有没有替代方案?
WHO – 谁?由谁来做?
WHEN – 何时?什么时间做?什么时机最适宜?
WHERE – 何处?在哪里做?
HOW – 怎么做?如何提高效率?如何实施?方法是什么?
HOW MUCH – 多少?做到什么程度?数量如何?质量水平如何?费用产出如何?

以上的分析法适用于各种场景,当老大给你新任务时,从以上几个方面提问,丰富这个需求的内容。开会的时候根据此方法总结会议主题,达到会后明确会议思想。
给下级部署任务时,需要从以上几个角度描述你的任务,并让其记录下来,使得任务发布更明确。
你还可以结合我们前面介绍的5why来扩充这个体系,实现一套完整的问题分析、归纳、整理、描述结构。

十.你喜欢什么样的同事?

见过一些只把编程当做工作的人,准时上下班,有任务来了写写代码,没任务的时候刷刷微博,看看小说。
也见过一些工作完成的非常棒,还能对流程,对框架,对项目模块化,组件化提出意见的同学。
我们不去评论对与错,说一些我对工作的要求,以及我喜欢的工作的样子。
1.发现问题

前面我们也聊过一些如何发现问题,找出问题的方式方法。帮助我们找出工作中的瓶颈。我个人很看重这一点,说明你对项目认可,对公司认可,对工作负责。

2.解决问题

能够主动的去解决一些问题,提出解决方案,提高开发效率,提高部署效率等等。代码写出来除了给用户看之外,能帮助团队做一些提高。这也是我喜欢的。

3.不断提高

这个点有很多方面,一个团队中,只有不停的学习,才能带动团队越来越棒。
你提高了,团队没提高,需要你做分享,想办法提高整体水平。团队回报给你的是技术领导力的提升,会有机会让你去做leader涉及到管理的范畴,锻炼你的管理能力。
反之团队提高了,个人没提高,当这个差距足够大的时候,团队会选择淘汰掉你。一个团队的管理要做好两件事,招合适的人,开除合适的人。所以,你当下最重要的事情就是提高自己。

4.不断优化

工作是不停地重复简单的工作,我们经常需要开发不计其数的导流页,落地页,着陆页。需要开发H5,活动页。项目精简版,缩略版。
有这么一句话:简单的事情重复做,你就是专家。 重复的事情用心做,你就是赢家。
重复工作交给别人,有的人会抱怨,有的人会产出一套规则,让这些重复的事情变得简单。几十万行的js交给别人,有的人会抱怨,有的人会整理一套规则,模块化,工具类,让开发变得容易。
不断优化你的工作,优化重复繁琐的点,这也是我非常看重的点

5.态度积极

我特别反感身边有人在叹气,如果是我的伙伴,我会和他聊聊原因。杜绝一切负面的态度出现在工作环境中。
能力强不强无所谓,态度一定要正确,能理性的看清PM和RD的关系,能处理好自己的情绪。
西方有句话,意思是招聘那些态度好的人,培养他们的能力。

最后,还是欢迎大家提一些问题,以及一些困惑到我的邮箱
我不是大牛,只是和你一样爱好编程的人。
我们讨论问题,一起成长,一起学习