分类目录归档:随笔

警惕那些让你省力的工具

作为一个 Engineer ,前「后端工程师」,我用过不少后端框架,比如 PHP 里的 ThinkPHP(3.x)时代,Laravel(5.x)时代,Python 的 Flask、Django ,Ruby 里的 Rails。

其中,近两年我用的最多的是 Laravel 和 Django ,原因是他们提供了一个很重要的 Feature ,就是 Admin Panel。只不过 Django 是官方自带的(Django Admin),而 Laravel 使用的是第三方 Pacakge (Laravel-Admin)。

借助这两个工具,可以快速的生成一个好用且效果非常不错的管理后台,让并不是很喜欢做界面的我大呼爽快(实际上我并不是不喜欢写 JS,我仅仅是不喜欢写 CSS,现在的组件化开发大大的让我解脱出来)。只需要很少的一些代码,就能够完成自己想要的效果。

不过,这样让我产生了一定的依赖,现在要做一些和 Web 相关的事情时,我都会优先考虑 Laravel 和 Django ,因为他们提供了 Admin 后台,可以让我在很长的一段时间内不去关注后台的逻辑,更加专注于前台的开发。

这很好,很敏捷。但是也让我失去了自己开发业务后台的耐性,毕竟,已经有更加简单的实现方式了,为什么还要为难自己呢?

但是,如果你想要认认真真去做一个项目的时候,会发现这种高度简化的代码,让你的拓展性非常的差,你无法更好的去做好自己应该做的事情。

所以,为什么不从一开始就自己写后台呢?虽然慢了点,但是对于你自己来说,也是足够的。随着你自己的开发项目的变多,完全可以做一套你自己的通用后台,完全符合你自己的要求、想法。那才是你真正需要的。

离用户近一点,再近一点

在现代的工业体系下,任何工作都被拆分为流水线上的一环,如今的互联网行业更是从用户那里知道他们想要什么再到实际做出来,有足足六七个环节。

006tNc79ly1fzwukjnuwcj31220ggwey

作为一个有写代码爱好的人来说,能选择的余地不多,唯有「后端工程师」和「前端工程师」,在过去的很长时间,我基本上呆在后端的领域,去做了很多后端相关的开发,自己也在后端方面有了更多的认识。

在新的 2019 年,我将会尝试让自己转向,成为一个前端工程师。接下来,我来说一说我这个选择的背后逻辑。

员工的价值到底由什么决定?

白子:离客户越近,其价值就越大。

提到择业,就避不开两个话题,企业的需求和员工的价值。一般来说,我们认为,员工的价值由他为企业带来的价值所决定

这句话没错,那么,员工如何为企业带来价值?

员工可以帮助企业创造更好的产品,但是,这是价值么?

更好的产品本身并不是价值,其所带来的用户、客户才是真正的价值

员工本身并不让企业盈利,相反,企业需要支付费用给员工。而客户则是支付费用给公司,帮助企业盈利。

从这个角度来看,离客户越近的人,越能产生价值,这也就是为什么我们会经常看到一个企业里,销售是赚钱最多的人,因为他们离客户最近,能够给企业带来实打实的价值。

技术背后的陷阱

白子:技术本身就是螺丝钉,只研技术,不过是一个螺丝钉,变成一个更粗的螺丝钉。

关注技术本身有没有坏处?当然没有,作为一个开发者,追求技术的卓越是应有的义务。但是,从企业的角度来说,只关注技术本身,意味着你的价值会不断降低。

技术再强,也是可以找到替代者的,区别仅仅是愿不愿意花那么多钱罢了。业务理解的深度,却是其他人无法轻易替代的。江山代有才人出,各领风骚数百年,技术迭代速度非常快,总会有新人出来,比你更加擅长技术。

为什么是前端不是后端

白子:如今的前端更加接近业务本身,更具备价值

随着现代软件产品的高度流水线化,我们推崇的前后端分离、RESTFul API、GraphQL 让后端的工作越来越轻松,可以花费更多的精力投放在技术深度的探索,去研究更加深层次的优化问题,而不需要花费更多的心思在业务逻辑上去。

同样的,前端不得不承担起业务流程的开发,工作量大大加大。虽然有各种各样的组件库帮助前端优化了具体布局、界面上面的工作,但业务流程本身的复杂度并不会因为组件库的引入而简化

在这种强前端重后端的模式下,前端承担了原本是后端的工作,让后端不再需要去理解业务逻辑,更加关注技术本身的内容就可以了。离业务越来越远,使得后端的话语权越来越小。

游刃有余的前端

前端工程师本身负责的是客户可以看见的内容,这使得他们相比于后端工程师,有着更多的职业选择

他们了解用户交互体验,可以从开发转换成为用户研究

他们了解用户使用方法,可以从开发转换成为销售

他们了解用户使用路径,可以从开发转换成为产品经理

而后端,由于专精于技术,其职业选择,也不过是从一门技术,转为另外一门技术罢了。

为什么谈场景不谈功能?

在接触到了很多小白以后,我开始习惯性的说:

你是什么样的场景需要 XXX 的?

背后的逻辑其实是,你的方法可能无法被你所提出的解决方案所解决,你可以告诉我你实际遇到的问题是什么,我可以借助我的经验,帮你想到一个 workaround 来解决掉这个问题。

人生需要干湿兼备

年轻人难免会心急,希望快速成长,希望在有限的时间内,获得无限的成长,因此,对于干活的希望是无比渴求的,他们希望自己接收到的都是干活,没有湿货。但是应当注意:

干货如骨架,吸收越来越多的干货,只是让你的骨架越来越大。若是没有足够的湿货来辅助,就是空有骨架,依然不是一个完整的人,只是从一个骨头架子变成了另一个骨头架子。看点湿货,让自己的骨架成长的时候,也有对应的血肉填上,这才是刚刚好的一个人。

湿货看的比干货多的话,一个人就会骨架不强而血肉有余,满口空话,不过是痴肥罢了。

小程序合照助手

合照助手小程序用于快速在一些聚餐、合照的场合生成合照图片。

image

用户可以打开手机小程序,选择图片,然后分别输入合照的名称、第一行的顺序、第二行的顺序。然后可以点击保存将图片保存至本地。

适合场景:聚餐、聚会、会议

向世界交付产品,而不是Demo

作为开发者,最常见的问题是,做项目的适合,所做的产品完全无法交付给第三方使用。你所做的东西只能用于自己使用,无法交付给第三方使用时,实际上你并没有交付出去价值。

当你交付出去了价值的时候,世界才能为你定价。所以,做东西尽可能做成可以交付的产品,交付出去产品,让世界为你估价。

以上心得是我在做美食地图时得到的。

在做美食地图时,我需要做以下事情来保证交付:

  1. 一个安装文档
  2. 一个配置说明
  3. 一个FAQ
  4. 一个升级说明(当你有 breaking changes 时,就需要写清楚升级说明,来辅助你的用户完成版本升级)

如何平衡深度和广度

我很崇尚广度,在有一个深度以后,去追求更多的广度,并试图将广度发展成深度。

不过,这两天在群里看到了另外一种分类的方法:

  1. 如果你是做基础架构的,广度更重要;看得越多,知道的模式越多,基础架构越牢靠。
  2. 如果你是做业务的,深度更重要;深度越深,业务越稳固。

从另外一个角度来看,也解释了为什么大公司需要的是深度型的人才。

大公司往往业务模型已经确立,他们需要的是人能够把业务更好更快的运转,螺丝钉更适合;而小公司由于没有确定业务模型,需要花时间去做好基础架构,这个时刻广度就非常重要了。

做事先做人

如何做好一件事?

做事要先做人。

一个人要能够把事做完,靠谱,让所有人对你产生靠谱的印象,那你就差不多了。如果你没有办法让别人对你产生靠谱、可以信赖的印象,很难做长久。

低欲望年轻人

由于要留在深圳工作了,就要考虑到租房的问题了。

整理了一下自己的住房需求,发现自己真是一个低欲望的年轻人。

  • 单人床:更大也可,但是至少应该是一张单人床
  • 空调:即使是今天,我依然穿着短袖+5分裤,可以推断夏天我一定会觉得非常热,那么一个空调就有必要了。
  • 能洗澡:作为一个北方来的糙汉子,公用卫生间也OK。而且我的作息和大部分互联网人不一样。12点睡 5 点起,可以避开高峰期。
  • 安静:安静的房子可以让自己有更多的精力去处理自己的事情。
  • 有洗衣机:虽然在大学里都是自己手洗的衣服,但是工作了以后,我可能没有太多的精力去洗衣服了。不过好消息是,按照目前的情况来看,大概率我一年四季穿 T Shirt。

暂时打算去自如看看,先租半年自如的房子。

腾讯之行总结

TL;DR
受限于学历,可能没有办法通过校招补录的申请,因此没有办法在当前这个时间进入腾讯。
详情
我的朋友基本集中在阿里巴巴和腾讯。在经历了 gap year 后,我希望能够再次进入到大企业镀个金,所以联系了两家的朋友。
阿里的朋友反馈由于应届非校招,无法直接进入,认为我必须以运营的方式进入。
而腾讯这边的朋友由于进入了新的项目中,没有锁 HC,还在招人,因此就希望把我搞进去。
元旦过后,我和腾讯的人面试了几轮,都是直接对接业务方面的人,进行沟通。和业务方面的人沟通的很愉快,也体现出了我适合的几个方面:
技术、产品、布道师
他们也愿意接收。不过,最后因为学历的问题,还是没办法进去。
1jgi7