流月城·夜 后端初阶和写作

Author Avatar
kdwycz 4月 10, 2016
  • 在其它设备中阅读本文章

虽然人已经跑到了南半球,以后或许能走到世界任何一个角落,但是心还是被囚禁在永夜当中

关于后端开发

凌晨即将睡觉的时候,打开了QQ看下信息.一个大三的学妹问我想找Python后台的工作,应该具备哪些知识或者能力~

想想马尔代夫和北京三小时的时差,并没有马上回复的必要,可是自己却睡不着了.想想去年这会,自己也是如此,希望短期内掌握后端的各种知识,但是由于比较作死的性格(折腾最新版的工具)以及很烂的英语水平.看各种教程和开源软件无法深入,最后找到实习的时候也没有一个完整的项目经历,到真正负责项目的时候已经是实习半年后的事情了…

同事还在熟睡,我尽量轻声的穿上衣服去外面走了一圈.和在大堂值班的工作人员用蹩脚的英语寒暄了下,到码头看星星~一边梳理思路.后端开发需要怎样的技能树,如何拾级而上…(话说星空真是很美.满天都是星云)

记得之前看过一篇有趣的文章 写给那些傻傻的,想做服务器开发的应届生在谜一般的片面之下也说出了很多事实:

  • 后端开发虽然和并发,大数据处理挂钩,但是简单的需求都是调用别人的轮子,技术含量并没有很高
  • (接着上一条)需要调用很多轮子就要去了解.所以后端开发需要了解的技术面较广.
  • 上线和处理线上bug确实很烦人.虽然(可能)开发时比前端轻松,但是上线时前端去休息了,后端却要盯着
  • 其他的确实在扯淡

个人理解的后端开发的日常是数据库增删改查, 数据处理, Restful Api.但是远不能覆盖业务需求.比如需要定时任务(linux crontab, 当然lazy-loading也能解决,有点脏),某些数据库查询太慢要加缓存,某些数据处理任务过于耗时要引入消息队列,还有诸如错误监控,服务器状态监控等等(怎么开始偏运维了Orz)…如果做前端的话,只要把自己这边业务逻辑写好就能应付大多数情况了吧(不对的话求喷).而后端要懂点数据库,玩转Linux,知道各种轮子用法等等

我觉得校招后端开发要有三方面的能力~重要性递减

  • 有较正规的项目经历
  • 对Python语法,Web后台框架的知识
  • 基础知识(计算机网络,算法,操作系统)

而公司招人的话,毕竟招人是要做项目.项目经验是第一优先级的.而且不是玩具项目,是经得起生产环境检验的项目.这一点很多人都没有,包括我.补齐的话想想可以抱大腿~可以参与开源项目~也可以对着大型教程做完改…

很难想象一个对自己使用的语言和框架不熟悉的话,写出来的代码会是什么鬼样子~所以语言和框架的相关知识很重要~好好刷官方文档和相关书籍就是.多看多写

基础知识的话比较见仁见智~很多”实战派”不喜欢基础知识.而且基础知识的作用不会很快的显现出来.毕竟优化的算法和底层的数据都被封装进了各种轮子.初级开发的话,需要底层知识的需求不到10%.有句话我是很认同的~程序的组成部分不是数据结构和算法,而是搜索引擎和英语.

不过人总是要有追求的,10%也不是很低的概率(数字是我编的).一次无意听到前端讨论数据处理逻辑,发现一个O(nlogn)的问题被他们写成了O(n^2).就去纠正了下.一个有追求的工程师一定会把基础知识夯实的.

像我们公司面试技术不会问基础知识,知乎的话特别喜欢问基础知识~看公司和人的性格了.要是我以后面试别人,基础知识一定会问的.其实能把基础知识学的特别好的人,也不会被上面两条纠结住.只是辛苦了天赋一般非常努力学基础知识而没有积累项目经历的同学

为什么文章写得这么差却不弃疗

在搜索hexo的时候看到一个人的博客 读立写生 看起来并不是程序员,却使用 Jekyll,Github,七牛云…博客内容也是包罗万象.而且有一段时间博客是日更的~其中有一篇文章是每天写一千字的练习.我很赞同这个行为,但是无法输出这么多

每一次当中发言时的语塞,或是想写什么东西却无从下笔.看起来表达能力非常欠缺.缺什么补什么吧~所以写博客.复习记录自己的经历.

本站所有原创内容均以 署名-非商业性使用-相同方式共享 4.0 (CC BY-NC-SA 4.0) 协议授权
本文链接:https://blog.kdwycz.com/archives/fool20160410/