胡阳  前搜狐资深开发工程师,现任知乎资深开发工程师

2008年开始,他写博客11年了。

仅最近两年内,博客的访问量累计超过600万。

2017年,他发布了《Django企业开发实战》视频课,广受学员好评。2019年,实体书出版。

「时间在我看来并不是虚无的,是非常具体的东西,一分一分,一秒一秒,都很具体。」——胡阳

文 | 李冰

采访 | 乐馨,李冰

01

入门——兴趣并非偶然

胡阳说,他是「笨鸟先飞」的那种人。

高考后,胡阳第一志愿报的是机械工程专业,他查了下专业背景,需要绘图,于是就开始在家自学。

不过这番准备没派上用场,因为报考结果出来后,他的专业是信息计算科学。

他想起高中发过一本 Visual Basic 的教材,但因为高考复习紧张,没时间上机。于是,在等待大学入学的这段时间,他把书翻了出来开始研究。

入学后,他发现 VB 是大学的基础课,上课教的竟然就是暑假自己学的内容。全校无论什么专业的人都在学,而当其他同学上机还是一脸懵的时候,他已经会写了。

胡阳说:「我们为什么会对一件事情感兴趣?一种情况是你对这件事情真的有天分,一开始上手就比别人学得快。另外一种是你比别人起跑要快。」

成就感激起了他的兴趣。除了 VB 之外,互联网有无数的未知在引人探索。

为什么电脑运行得慢?什么是中病毒?所谓的「黑客」怎么入侵网站?

怀着好奇,大一那年,他把课余时间大多花在学习研究网络安全上。

他在网上能找到很多黑客类的教程,比如演示怎么去入侵一个网站。但是怎么去实践呢?这类教程的时效性太高,网站不会敞开门在那等着。

当然,方法也是有的。那时就有 X-scan 扫描器、挖掘鸡这类傻瓜式工具,只要填一个网址,它会帮你扫描有什么漏洞。

但问题是,这不太有趣,就算黑进网站了也只能说明是人家这个工具写得好。

于是,胡阳的兴趣转向了加密与解密的方向,与脱壳相关的内容。当时还是桌面 APP 的时代,下载之后就可以很方便地实验,很多方法他试过后,发现完全可行,这给了他信心。

不过,软件终究是程序员写出来的,胡阳觉得自己还是得去学编程。

恰在这时,学校有一个信息技术兴趣提高班来招生,他想:那就去试试吧。

这个决定完全改变了他接下来两年的大学生活。

米老师一手创立了兴趣提高班,他不仅一个人教所有的计算机基础课,而且引导大家探索性地学习,相比于照本宣科,他更在意的是启发大家从不一样的角度看问题。

胡阳说:「你会感觉整个视野被打开了。」

在兴趣提高班,大家因为同样的热情聚集在一起,甚至寒暑假也留在学校。这两年,时间和汗水为他打下了坚实的地基。

毕业时,在其他人在就业市场中迷茫的时候,他已经去了师兄的公司搞开发。他说:「这个行业能够让你以自己的方式去做有价值的东西。因为开发一个软件需要依赖的外部成本很低,只需要有一台电脑就能搞定。对我来说比较幸运的是,这个事刚好是我感兴趣的,并且可以有不错的收入,能够养家糊口。」

02

编程,不只是一份工作而已

2011年,他从 Java 转到 Python 开发。

HR 问他:你学了多久 Python 并能正式工作?他回答:「一两天。」

他在回答里推荐了3本书,还有自己做过的项目练习代码。

为什么会选择做出这样的改变呢?

那时,胡阳才刚毕业不久。工作后,他发现公司会接各种项目,比如Java、.NET、PHP、VB,哪个方向他都没办法去深入地学习。他想给自己定一个计划,却不知道怎么做,前路一片迷茫。

辗转反侧了几个月后,他决定辞职。

那一年,他在博客中写道:「我选择走软件这条路,不是为了一份工作,是从纯对技术的热爱出发的。或许我还没有那么多的人生经历,不了解生活的本质。但是我一直在告诉自己,有些事,你要是想做的话,即便不知道是不是和你想的一样,那你应该去做,因为这样你才能够看得更多。」

一年后,他加入了搜狐。

他说:「在搜狐六年的时间,相当于又上了一个大学了。」

第一年,他每天都在拼命学习。他说,虽然之前有了一年的工作经验,但还是觉得自己什么都不知道。

这样的状态持续了一段时间后,他的学习曲线逐渐平缓。不过很快,他又面临了全新的挑战。

部门变动对于一名普通员工意味着什么?有人只能被挑选,也有人拥有更多的选择权。因为在部门变动或业务扩展后,总会有一些机会出现。那些做得好的人,这时会浮现出来,他会被提拔到更高的位置,带团队负责更大、更多的业务。

所以,胡阳发现,攻克了业务和技术之后,他得带团队了。

一开始,他没有多想,只是用之前老大的方法来带大家。不过,管理会分散精力,在业务膨胀之后,甚至面对全新业务的时候,他有点手忙脚乱了。

于是,他开始思考:技术人应该怎么做管理呢?

新手管理者的痛苦在于,他会纠结:「这哥们怎么写得这么慢?我写早就写完了。」

不过,他发现自己可以换个角度想问题:「把这件事情交给他,就等于你已经做了。为什么呢?相当于你本来是一个单核的 CPU,变成多核了,对吧?你可以同时接多个任务,虽然其中一个跑得比较慢,但是其他的都运转得非常快,所以整体你的产出还是足够高的。况且他也会成长,会不断变快的。」

他总结,本质上 leader 要思考的是团队整体,从而不断地把这个项目的 feature 往前推进。

不过,管理的确会消耗精力,他没有足够时间持续地输出或输入代码,也不能具体负责某个项目的开发,但会写一些「打杂的」代码,解决出现的小问题。

他说,自己会在业余时间学习,保持对技术的感觉或者敏锐性。

搜狐媒体大厦

胡阳进搜狐的初衷很简单,就是想找一个流量大的平台,参与做一个好产品。

从他刚加入时,搜狐就是一家成熟的公司,拥有成熟的系统。他从慢慢熟悉新闻业务开始,维护了它大概六年的时间。

2018年,在搜狐的最后一年,他其实有点沮丧。

尤其是参与团队管理之后,他对公司变革的意义有了更深的体会。「你发现在部门变动或者商业调整之后,技术的价值其实没有那么大。就是说,你可以把这件事做好,但是如果换一个人来做,哪怕做得不是很好,结果也没有太大差别。」

对于技术人来说,最大的否定莫过于此。

可是,怎样才能最大程度地发挥他技术的价值呢?

他想要参与一个自己喜欢的产品的构建。这也是他选择加入知乎的原因。

他不太爱看新闻。他认为,对于新闻这种高流量产品,虽然也存在一些正经的报道,但更多是所谓的「标题党」,无论标题再诱人,它的信息对你毫无用处。而知乎成立不久他就注册了账号,他觉得,大家贡献的内容更偏知识和经验,对用户来说更有价值。

于是,他登上了知乎这艘「海盗船」。

来到知乎,他的第一感觉是:这个地方后端真多。

因为和之前相比,搜狐门户是媒体属性,把新闻发布出来,大家去看,流程就结束了。而知乎是一个 UGC(用户原创内容)的社区平台,所有人都是可参与的,业务更加复杂,尽管功能整合在一个社区里面,但下面细分的内容都是独立的产品。而且大家经常在群里交流,技术氛围非常浓。

他觉得上家公司像一个大的船群,大家朝着共同的目标各自前进。而现在的则像一艘大船,大家一起让船驶向共同的目标。

03

写博客——分享技术和经历

从 2008 年开始,胡阳已经写博客 11 年了。

博客内容不仅包括技术,还有他的读书笔记、对某事的感想、找工作的历程、年度总结,等等,像是一条河流,沿着过去流淌到现在,一路的景色清晰可见。

他前几年有一个习惯,看到一个好博客的时候,会从头开始把所有内容看一遍。除了看内容,他还会揣测作者当时是什么状态、想法、这个人的成长过程是怎样的。这是他会坚持写博客的一个原因,把自己的经历共享给大家也是某种意义上的开源。

2017 年,搜狐部门变动,上层战略都在调整,他手上的事情停了,时间突然空了出来。他想:毕竟工作时间也挺长,在搜狐已经呆了五年,他希望能有一些具体的东西留下来。

「为什么这么讲?比如说我有很多同事换公司之后,就不再用 Python 了。无论他之前的经验有多少,只对他自己来说是有价值的。因为有这些经验,他可以快速地去适应另一种新的技术。

「当你跟他共事,你会发现,原来他懂这么多。而他转行了之后,其他人可能也有同样的感觉,但是肯定不如你也用 Python 时的这种体验更直接。这在一定程度上是一种浪费。

「但如果他把经验变成书或者视频,哪怕之后真的不做这个语言,或者不做这个行业了,它对别人还是有帮助的,因为这是沉淀下来的东西。」

另一方面,这样也有助于技术的学习。

他说:「怎样学技术才能做到又快又好呢?一是带着问题去学习。比如你遇到一个 bug,怎么都搞定不了,刚好有一本书能解决,那你肯定会特别投入地把书看完。另外一种就是我常用的方式——以教代学。」

既有输入,又有输出,中间就是大脑在提炼总结,理解吸收。

那年,他做了《Django企业开发实战》的视频课,学员的反馈很好。后来,他把内容进一步细化完善,整理成了纸质书,2019 年初在图灵出版。

Django是基于MVC(model,controller,views)构造的开源Web开发框架,可以显著提高工作效率。

胡阳举了个具体的例子:「如果用Tornado框架写一个新feature,我需要先把数据库设计好,之后写model层增删改查的部分,写controler层数据整合的部分,再写HTTP层接口部分,然后用阿里开源的antd去写前端。无论你的feature有多简单,这套都要走完,很繁琐。

「而用Django的话就会简单很多。因为Django是基于model构建的,把模型设计好数据库就有了,然后再配置一下admin,页面就已经有了。按照前后端分离的逻辑,你只需要配一个Django REST framework,所有restful 接口就有了。然后你根据model写rest framework的配置,就基本上已经完善了,剩下只要花时间写前端逻辑就好了。所以它是生产工具,能极大地提高生产力。」

04

让自己的历史不断向前

「时间在我看来并不是虚无的,是非常具体的东西,一分一分,一秒一秒,都很具体。」

有多少人会执着地记录自己十年的变迁呢?有人觉得这毫无意义,因为过去发生的已经消散。

但这是关于一个人的历史。我们无法想象一个只凝固于现在的,没有历史的国家;而如果一个人走在一步一消散的台阶上,也无法判断自己是向前,在原地,还是在倒退。

除此之外,胡阳也更明白自己时间的定义。

「你看老大爷大妈,满头白发,在街边走路,你知道你以后也会是这个样子,这是不可避免的。有时候我觉得人生是一眼可以望到头的,每个人都这么几十年的时间。

「对我来说,时间是一个刻度,它也是一个容器。

「如果说它是刻度的话,比如说一个小时,人生其实是由无数这样的一个小时组成的,对吧?而说它是容器,是指你可以填充不同的内容。比如我们每个小时都在闲扯,这个容器也同样填满了。」

它有什么样的意义呢?他举了一个程序员们很熟悉的例子——编程马拉松(Hackathon)。

「很多科技公司都会定期组织 Hackathon 活动,如果你没有参与过,你可能体会不到 24 小时内能完成多少任务。当我们被限制,要把一些内容放到固定的时间容器中,往往我们会想方设法来达成目标。

「它会有一个倒计时,你看还剩一个小时的时候,还有两个工作没做,你哗哗哗就开始写,这时候效率会非常高。

「所以你参加完 Hackathon 就会知道,24 个小时,每个小时你能做到什么。

「很多刚入行的程序员,他们估算时间的单位都是一天或半天,有时候说‘OK这个需求我排一下’,可能就排到两周。大家早上起来往这一坐,就11点了,还没进入状态,中午该吃饭了。然后下午2点睡醒之后,把上午没做的事情再做一下。

「说到时间管理,其实最关键的就是:你真正的单位时间是什么?

「同样是一个小时的单位,你能完成多少事,能往时间容器里填充多少东西,在你放 10% 的精力和 100% 的精力的时候是不一样的,后者才是真正的单位时间。只是很多人会有意无意地忽视。」

如何做到这一点呢?胡阳说,秘诀就在于「状态的切换」。

万事开头难,所以关键的是先把自己切换到那个状态里面。

举个实际的例子,他分享了自己写博客时的经验。「平时工作比较忙的时候,其实回家是不想写东西的。你往那一坐,不想再对着电脑输出,因为太累了。

「这时候的解决方案,就是你先随便写个开头。然后,当你继续写完一段之后,会觉得自己写得不好,这时你已经在这个状态里面了。那就再去写一些好的东西出来,最后把开头删掉,或者把开头再重新写一遍。」

无论是大学时的「笨鸟先飞」、职场上做的选择,以及这些年不断地学习和分享,驱动他的马达是什么?

胡阳说:「其实我自制力没那么好,特别累的时候,也不太想做比较消耗大脑精力的事。

「但是我不太能接受长时间去做同样的事情,或者说我长时间没有信息摄入,我会觉得特别可怕,觉得特别枯燥。

「所以我无论是写博客,去看技术或者其他书,我其实是在不断地了解新的东西。因为,本质上我会特别害怕,我始终在重复一件事情。」

他全力以赴,一心探寻自己的极限,永不停息地向前,时间会给所有付出一个完美的答案。


图片来源:胡阳

Django企业开发实战

作者  胡阳

扫一扫,京东购

资深开发工程师the5fire多年开发经验总结

本书以从零开发一个博客系统为例,介绍Django在日常工作中的应用。

往期访谈

余弦(钟晨鸣):打破常规,守正出奇

郝培强:创造的乐趣

冯大辉:信息真正的意义

胡阳老师的 免费 直播Live  将于本周四(8月15日)开启!立即报名

胡阳:汗水铺就代码之路,三分天注定,七分靠打拼相关推荐

  1. 程序员一定会有35岁危机吗?三分天注定,七分靠打拼

    最近经常在知乎刷到一些类似的问题--<普通程序员真的无法度过 35 岁危机吗?>.一般问这类问题的题主年龄都超过 30 岁,希望有人来分享他们的经验. 我今年 33 岁,从毕业到现在工作也 ...

  2. 一岁一礼 一寸欢喜 | 三分尽兴 七分惊喜 | 齐飞20了

    2021/01/04,我终于20岁了,这又是一篇记录生活的博客,想和各位朋友的分享一下.生活的点点滴滴都是美好. 文章目录

  3. pythondjangoweb典型模块开发实战 pdf下载_胡阳《Django企业开发实战高效Python Web框架指南》PDF及代码...

    Python社区中的框架Django 的定位是企业级开发框架,全功能 Web开发框架,少代码快速开发 Web应用.从开发速度还是上线后新功能的迭代,Django 都能很好地满足需求. 学完 Pytho ...

  4. 图灵直播——听胡阳老师和大家聊聊《Python Web开发者的破局之道》

    Quora联合创始人Adam D"Angelo在Quora开发中选择Python时所说, 到目前为止,我们对这一选择感到非常满意...所有在过去一直使用其他语言的早期员工都乐意转换到Pyth ...

  5. 七分结构三分代码-直立车想节能

    沉睡的小灰 2021-01-27 Wednesday ⊙ 原文链接: 直立车想节能--2020全国大学生智能车车竞赛经验记录之梦的开始 ▌黄粱一梦   如今回首,我不懂我一个通信工程的为什么要去做这个 ...

  6. 《袁老师访谈录》第九期丨陈家强教授/香港科大商学院前院长【问诊未来·院长系列:科技铺就金融创新之路】...

    2020年3月11日晚8时,香港科大商学院内地办事处重磅推出的<袁老师访谈录>[问诊未来•院长系列],成功举办了第三次线上直播,共有3万多人次观看了本次直播. [院长系列]邀请香港科大10 ...

  7. 三分建设,七分运营|用现代化安全运营应对数据安全风险

    近日,华为网络安全治理论坛在华为全联接大会2022期间举办,论坛以"共筑安全可信,护航数字化转型"为主题,汇聚业界专家学者.行业精英等,共同探讨在行业数字化转型下,网络安全与隐私保 ...

  8. 【系统分析师之路】第七章 系统分析架构篇记忆敲出

    [系统分析师之路]第七章 系统分析架构篇记忆敲出 系统分析师系统设计架构篇记忆敲出 [系统分析师之路]第七章 系统分析架构篇记忆敲出 一. 软件架构的概念 二. 五种软件架构的风格 三. 数据流风格的 ...

  9. 【财富空间】曾国藩:三分精明,七分厚道,做人最高境界

    授权图片 | 滕首诗 摄 大道至简,最有用的道理最浅白. 大智若愚,最笨拙的处世最精明. 做人也如吃饭,要有粗有细,才能营养均衡. 只要精明不要厚道,是小聪明:只要厚道,不要精明,是假厚道. 三分精明 ...

最新文章

  1. unity天空盒渐变_「是日美好事物」野兽派带来“金色眼泪”治愈新香,LV耳机印上蓝色天空...
  2. hive export import
  3. mft按钮设计_奥林巴斯M4/3系统新品激情再燃 以轻量化设计铸就微单极致体验
  4. wxWidgets:添加菜单栏
  5. 最近看了两本低代码的书
  6. IPv4数据报格式及其语义
  7. 使用Adobe Audition生成基本音频
  8. mysql高级查询教程_MYSQL高级查询
  9. 小牛485通讯原理_让你秒懂智能电表工作原理及抄表原理
  10. String reverse方法
  11. Linux服务器的攻防技术
  12. ensp ftp服务器配置文件,ensp配置ftp服务器,显示连接失败。
  13. Tests for normality正态分布检验
  14. 和利时dcs系统服务器设置,和利时DCS系统组态流程
  15. echarts自定义地图
  16. Windows XP的图标结构
  17. NVDIMM介绍与应用
  18. 送给1985年左右的朋友,看完是不是有些泪水
  19. PyCharm下载和安装
  20. 微信PC版史诗级更新,终于摆脱手机了!

热门文章

  1. 查看mysql8日志_mysql8 参考手册--通用查询日志
  2. c语言编程常见问题解答 pdf,[编程语言]C语言常见问题集pdf pdf文件[1.35MB]-码姐姐下载...
  3. stm32编码器正反转计数程序_编码器接线方法你会吗?
  4. 安卓端和服务器端通信协议,安卓客户端和服务器如何通信协议
  5. iOS 注册密码加密 添加了时间戳 遇到的问题...
  6. C# Create Access File
  7. 怎么用express搭建一个服务器
  8. 百度快照被劫持跳转的解决办法
  9. 浏览器数据库IndexedDB介绍
  10. 动车废票二维码将泄露个人信息 暂无防止破解法