分类 工作 下的文章

程序员的时间都去哪儿了?

三年的、五年的、八年的程序员,他们的时间都去哪儿了。
初级工程师、高级工程师、架构师,他们的时间都去哪儿了。
技术总监、CTO,他们的时间都去哪儿了。

一个项目的开发流程大体如下:

  1. 需求收集,自研,竞品分析;
  2. 策划评审,需求讲解,业务答疑;策划修改,策划评审;
  3. 产品UI设计,出图;UI评审;UI修改,UI审评;
  4. 和3并行,前端框架搭建,基础组建研发,基础模块编写;后端数据模型设计,前端接口定义;
  5. 前端业务页面开发,后端接口测试;前后端接口联调;
  6. 和3、4、5并行,后台框架搭建,基础功能研发,通用模块编写;后台业务功能开发;
  7. 优化:接口性能优化、数据库优化、框架优化(统一标准化)、功能完善化,是系统具备更强大的能力。

一个普通开发程序员,日常的主要工作内容:

  • 写业务代码;
  • 解决线上问题:没有测试出来的隐藏bug、线上异常数据问题、运营后台使用疑问、接口性能问题;
  • 解决测试中问题:转测时解决测试人员提出来的bug;
  • 会议:参加策划评审会议、参加测试用例评审会议、参加项目例会、参加小组例会、参加部门会议;
  • 沟通:和产品、运营确定不明确的需求;和开发协作,如接口联调,公用代码等;
  • 百度、Google问题解决方法;
  • 查看IT科技新闻;
  • QQ群聊技术、扯犊子;
  • 刷朋友圈、公众号、即刻热门;
  • Linkedin好友申请处理和申请加好友;
  • 写总结:项目总结、技术总结;
  • 处理公司OA日常邮件,跟进项目进度;

不重要的事项,可优化的地方:

  1. 查看IT科技新闻;——每天半个小时左右
  2. QQ群不间断的撤犊子;——每天半个小时左右
  3. 多项执行事项切换,投入不能连续,导致效果不够理想;——每天半个小时左右

需要优化的地方:

  1. 强化总结输出结果,为后续写公众号、写技术博客文章;
  2. 每天早上确定当天要做的最重要的三件事情;

一些设计资源网站

博客:

设计资源

分享演讲PPT

每次听完别人的技术分享以后,总会想着去要一份PPT,绝大部分人都很乐意分享他们辛辛苦苦做的PPT。但要PPT的时候经常遇到这样的情况:留下自己的邮箱他把资料发过来,或者让你记录一个下载的网址,自己去下载。


可不可以做得更好一点呢?如果演讲者乐意分享自己的PPT,那么演讲之前或者演讲之后,PPT上展示一页:演讲主题,以及一个二维码和一个容易记的网址。

扫描二维码后手机浏览器会跳转到一个页面,输入自己的邮箱,点击确定,本次演讲的相关资料就会发到你的邮箱。
如果会场较大,距离较远的人扫不出屏幕上的二维码,可以通过直接输入网址进入页面,然后输入邮箱获取资料。
如果手机没有网络,也可以照一张照片,把演讲主题以及二维码和网址拍下来,会后再去获取资料。

这个功能或者工具,百度云可以做,资料上传上去,然后分享出去时候生成这个页面。
活动行可以做,活动举办者需要收集演讲的相关资料,可以把资料的链接地址放入活动介绍页面。


如果要再好一点呢?演讲者一般会有个相关的公众号,公司的或者活动举办方的,通过关注公众号获取演讲相关资料。
或者现场建个微信群,通过微信群发送资料,也方便与会人员交流和结识,扩大和延伸活动影响力,微信群里面抢红包等等。上次devstore2.0的活动便是如此,效果还是不错的。

五度空间

今早从中山公园跑步回来的路上突然想到这么一个问题,我们现在所处的世界,六度空间理论还适应么?

六度空间理论指的是:你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过六个中间人你就能认识到任何一个陌生人,也叫小世界理论。1967年哈佛大学的心理学教授坦利·米尔格拉姆根据这个概念做过一次连锁信件实验,尝试证明平均只需要五个中间人就可以联系任何两个互不相识的美国人。

那还是半个世纪前做的实验,现在随着互联网的发展,人与人之间的连接方式越来越多,连接路径也越来越短,也许五度空间理论甚至以后四度空间理论也会变成现实。
假如我要认识英国女王,我只需要通过阿里的小伙伴,认识到jack.ma,然后通过jack.ma认识英国上层贵族,然后认识英国女王。
假如我要认识非洲的一个小黑妞,我只需要微博上认识一个跟中建几局相关的人,然后就可以认识到非洲本地政府相关的人,进而认识到这个小黑妞。
假如我要认识互联网中一个从业者,嗯,这个就太容易了。


从某一方面讲,互联网的发展可以分为三个阶段。人与人的连接,人与服务的连接,人与物的连接。

以前是人与人的阶段,已经基本结束。QQ、微信、Facebook、WhatsApp等等。但是以后人与人的连接,小范围的,去中心化的,相同特质和爱好等的人与人的连接会继续进行,而且更具活力,是一个以后的发展趋势。如罗辑思维,各种垂直社区。

现在是人与服务的时代,如创业者服务36K、创业邦、缘创派,投资者服务创投圈,开发者服务七牛云存储、开发者工具社区devstore.cn,海底捞,河狸家等等等等,体验经济的时代,服务即体验嘛。

以后将是人与物的时代,物联网,小米智能家居,格力海尔等智能电器,低功耗的局域网通信协议ZigBee,蓝牙也慢慢的走向低功耗了。


创业变得简单,基础服务设施已经搭建好,只要有好的创意和高效的执行力,都可以尝试去创业,或者利用业余时间做一些项目。

边缘创新,从0到1而不是从1到N,不重复造轮子。

读用面向对象的思维方式来设计数据库之所想

刷微博的时候无意中看到一篇讲用面向对象的思维方式来设计数据库的文章(链接地址),突然想到之前在AILK呆的三年,不论是电信的资源系统还是后来的电信ITSP3.0大类建模,都是基于面向对象的思维方式来设计的数据库啊。

对某一类型资源的管理,抽象出基础和共有的属性作为主表,对于不同子类型的特有属性则放入扩展表进行管理。扩展表可以是横表(进一步抽象子类型共有属性)和纵扩展表,纵扩展表方便扩展,通过增加属性ID的方式可以给不同类型的资源增加属性数据,动态可扩展。模型这样来设计的话,可以节省很多的代码开发量,接口的设计也更加简单。

回顾之前做过的资源系统,觉得还是有点强大的。这个系统的有个特别的地方,在于它的可配置思想。
系统管理部分,系统菜单和权限、界面的显示控件、不同类型资源的显示内容等等一切都是可以配置的,可以快速开发新的功能响应新的需求。
后面ITSP3.0的大类建模思想又在这个基础上更进一步,综合了几个不同公司的系统模型进行统一和优化。现在想想,如果让我来设计有电信这么多复杂业务的系统,我怕是还得修炼几年。

一个系统的架构设计包含它的技术架构和业务架构,资源系统的技术架构没什么特别的地方,数据模型和业务上的设计才是这个系统的精髓。以前身在其中没有多少感受,现在离开AILK后慢慢回想,渐渐的有所收获。

13年的时候华为打了两次电话没去,留在AILK呆满了三年,现在回想起来还是值得的。

附:
各种大型网站技术架构(文章:51CTO)
大型网站技术架构(书籍:豆瓣)