这是王不留的第 8 篇原创文章 前段时间写过<王不留的十多年工作和生活的流水帐>,在知乎.简书,还有不少微信的朋友私信问我每天四点钟是如何做到的?你现在的作息时间是怎么安排的? 于是,我将工作十多年的三个生活片断按时间轴的方式梳理了出来,写就了这篇文章.也算是一位普通程序员不同职业生涯阶段生活方式的一个缩影. 01 2007年-2010年,那时大学刚毕业,一个人,无忧无虑.一人吃饱,全家不饿. 作为单身狗,当时的作息时间是这样的: 8:00-8:30 赶紧起床,买早点,飞奔到班车停靠点,争取达…
一个4年工作经验的java程序员的困惑,怎样才能能为一个架构师 LZ本人想往架构师发展, 业余时间也会看一些书籍, 但是感觉没有头绪, 有些书看了,也没有地方实践 我做了4年的java开发, 在一个公司做电商网站项目,主要是新功能的开发和bug修改, 目前对整个系统的架构也有一定的了解, 知道用了哪些东西,知道怎么部署在服务器上的, 但很多东西都是在使用层面, 比方说,我们项目的框架是 spring + springmvc +mybatis +oracle +redis +solr +nginx…
一篇文章搞懂高级程序员.架构师.技术总监.CTO从薪资到技能的区别 http://youzhixueyuan.com/senior-programmers-architects-technical-director-cto-difference.html…
作为一个经验丰富的C/C++程序员, 肯定亲手写过各种功能的代码, 比如封装过数据库访问的类, 封装过网络通信的类,封装过日志操作的类, 封装过文件访问的类, 封装过UI界面库等, 也在实际的项目中应用过, 但是回过头仔细想想,其实以前自己写过的这些代码,只能是在特定的项目或者特定的环境中使用, 对于自己来说, 在不同的项目中应用, 只需要复制代码, 改改也就可以了, 因为自己写的代码自己很熟悉.问题是, 你封装的这些库, 在给别人使用的时候, 别人用起来是否很方便, 跨平台方面是不是也很通用,…
一.AOP框架     Encase 是C#编写开发的为.NET平台提供的AOP框架.Encase独特的提供了把方面(aspects)部署到运行时代码,而其它AOP框架依赖配置文件的方式.这种部署方面(aspects)的方法帮助缺少经验的开发人员提高开发效率.     NKalore是一款编程语言,它扩展了C#允许在.net平台使用AOP.NKalore的语法简单.直观,它的编译器是基于Mono C#编译器(MCS).NKalore目前只能在命令行或#Develop内部使用.NKalore兼容公…
近日网上有一篇关于Java程序员职场生存现状的文章“2017年 Java 程序员,风光背后的危机”,在Java程序员圈子里引起了广泛关注和热议. 2017年,Java 程序员面临更加激烈的竞争. 不得不承认,经历过行业的飞速发展期,互联网的整体发展趋于平稳.为什么这么说?为什么要放在 Java 程序员的盘点下说? 的确,对于进可攻前端,后可守后端大本营的 Java 程序员而言,虽然供应逐年上涨,但是市场似乎对他们依然青睐有加.这些承担着技术招聘市场中高供给高需求的 Java 程序员在 17 年的…
最近,有一个词儿特别热门--躺平.有没有人跟你说过:"躺平说起来容易,做起来更容易." 和躺平相对的是另外一个词--内卷,群聊的时候,已经很多次看过草卷起来了.jpg表情包.某些节假日还在学习的老哥,我们一般都会送一个雅号--卷怪. 内卷大户自然是我们互联网行业了,各种绩效KPI考核,末尾的要扣奖金,要被优化. 内卷怎么来的?也很简单,蛋糕做不大,分的人又变多了. 前两天看过某乎的一个回答,目前每年培训班大概会出来几十万的学生,实际的市场需求只有几分之一,那么这些新人入行,自然要卷起来…
程序员 程序员,英文名coder/programmer,大家常自嘲叫码农的阶段.这个角色职责是把需求或产品实现为用户可用的软件产品. 此职位为执行级别.另外因为经验较少,一般需要求助别人,或与别人一起完(ban)成(zhuan)一个任务. 此阶段大概要经历3年,程序员的职责如下: 1.负责公司运营系统的设计与开发工作 2.运营数据处理和分析 高级程序员 高级程序员学名工程师.到了这个level,英文名可改叫做engineer或developer.此时你的功力开始增强,这与你平时的积累努力是分不开…
昨天收到了心仪企业的口头offer, 回首当初什么都不会开始学编程, 到现在恰好五年. 整天在社区晃悠, 看了不少的总结, 在这个时间点, 我也写一份自己的总结吧. 我一直在社区分享, 所以, 这篇总结也是本着一种分享的态度, 希望相比我还年轻的同学们, 可以从中找到一些让自己成长更快的文字. 先介绍下背景:1. 2008年3月开始学习编程, 目前2013年3月;2. 2009年6月计算机专业本科毕业;3. 大学期间, 基本稳拿班级倒数第一, 高考英语49分, 大学英语除了补考没及格过.接着,…
编写技术文档,是令众多开发者望而生畏的任务之一.它本身是一件费时费力才能做好的工作.可是大多数时候,人们却总是想抄抄捷径,这样做的结果往往非常令人遗憾的,因为优质的技术文档是决定你的项目是否引人关注的重要因素.无论开源产品或面向开发者的产品,均是如此. 实际上,我想说明的是:对于面向开发者的产品来说,其用户体验中最重要的一环并不是什么主页设计.登录过程.或者SDK下载.真正最重要的是产品的API文档!如果没人知道你的产品如何使用,纵使它巧夺天工,又有何用? 如果你是一个专门从事面向开发者产品设计…
[题目] 实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作. [要求] 1.pop.push.getMin操作的时间复杂度都是O(1).2.设计的栈类型可以使用现成的栈结构. [题解] 实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作.[要求]1.pop.push.getMin操作的时间复杂度都是O(1).2.设计的栈类型可以使用现成的栈结构. 解题思路: 使用一个辅助栈,里面存的目前栈中的最小值 #pragma once #include <…
接着上一篇,该篇讲述使用python对数据库进行基本的CRUD操作,这边以sqlite3为例子,进行说明.sqlite3 是一个非常轻型的数据库,安装和使用它是非常简单的,这边就不进行讲述了. 在python下,已经自带了sqlite3模块,供我们使用,这个模块的用途其实和JAVA当中的jdbc驱动是类似的,通过它,我们就可以非常方便的和sqlite3进行各种操作了. 好了,开始吧. python的数据库模块有统一的接口标准,所有的操作都有统一的模式,大概是分为以下几步(假设使用的是sqlite…
  C家最近也有一篇关于如何阅读大型c项目源代码的文章,学习..融合.. -------------------- ref:http://www.csdn.net/article/2014-06-05/2820092-interview-with-pengxu   摘要:阅读源码是开源项目最好的学习方式,然而真正的执行起来却并不容易.这里我们为大家分享许鹏的源码阅读经验.C程序员的修养以及Spark和Storm源码走读博文. 对许鹏的第一印象来源于其Bolg的粗读,最早时候更准确说应该是博文的粗…
一个程序员,他写完了代码,在测试环境通过了测试,然后他把它发布到了线上生产环境,但很快就发现在生产环境上出了问题,有潜在的 bug. 事后分析,是生产环境的一些微妙差异,使得这种 bug 场景在线下测试中很难被发现.毕竟想要在测试环境完美的复制生产环境的所有情况也是不太可能的,导致出现了疏漏.对于这类情况,我们在想是否可以通过在线下做一些 Code Review(代码审查)假想线上的环境差异,通过在头脑中的假想上线运行来获得一些概念验证,这样是否能够减少上线后出现 bug 的概率呢? 感性 Co…
      “很多人都不太认可以第三方ORM,因为考虑的点不够全面,没有大用户群体的ORM有保证,这点是不可否认确是事实.但是往往用户群体大的ORM又有不足之处,今天我们就来聊聊关于ORM的话题,打造一款人见人爱的ORM框架.” 小程简介       季健国(蚂蚁Ant),10年的工作经验, 7年的IT经验是一枚名副其实的屌丝程序员.技术无边界,编程靠思想.因为对这份职业的热爱,所以我到现在还在一直从事这份职业.目前主要研究方向为ORM底层核心,爬虫,WebAPI,SOA,Docker,Xama…
十年前,笔者还是一个刚毕业的大学生,对IT业只是停留在学校的编程知识领域.刚出社会,有很多需要学习的地方.在这十年间,笔者经历了程序员,技术经理,项目经理,部门经理等职位.本文就是要说说如何从程序员到部门经理的经验. 对于程序员,按笔者在<软件项目角色指南>一文中的称呼,应该称为软件工程师.大家可以去看看该系列中对软件工程师的职责等内容,希望大家能对该角色有一定的理解.软件工程师要做的事情还是比较多的,因为在项目中可能要涉及到很多方面的内容,所以,软件工程师往往身兼多职.软件工程师在项目中的作…
引言 首先声明,不要再问LZ谁是林萧,林萧就是某著名程序员小说的主角名字. 写这篇文章的目的其实很简单,算是对之前LZ一篇文章的补充和完善. 之前LZ写过一篇<回答阿里社招面试如何准备,顺便谈谈对于Java程序猿学习当中各个阶段的建议>,那篇文章LZ主要介绍了如何应对社招面试,以及如何进行Java学习. 文章的反响还不错,不少猿友都感叹,"如果早看到这篇文章,说不定我已经成大神了." 但是LZ只能很遗憾的告诉你,LZ那篇文章并不能让你成为大神,只能让你成为一个比大部分人优秀…
最近,我大量阅读了Steve Yegge的文章.其中有一篇叫"Practicing Programming"(练习编程),写成于2005年,读后令我惊讶不已: 与你所相信的恰恰相反,单纯地每天埋头于工作并不能算是真正意义上的锻炼——参加会议并不能锻炼你的人际交往能力;回复邮件并不能提高你的打字水平.你必须定期留出时间,集中锻炼,这样才能把事情做得更好. 我认识很多杰出的程序员——这是在亚马逊工作最好的额外"福利"之一.如果仔细观察他们,你会发现他们时时都在锻炼.他们…
程序员职业生涯中流行这这样一个定律:35岁定律,那35岁以上的老程序员都干吗去了呢?为了讨论程序员的职业寿命,我们先得给公司或者团队分分类.大概有这么三类: 外包型 项目型 产品型 咱们一一来说一下吧. 外包型 什么是软件外包呢? 来来来,发挥剪报君的特长,看看百度百科的定义: 软件外包就是企业为了专注核心竞争力业务和降低软件项目成本,将软件项目中的全部或部分工作发包给提供外包服务的企业完成的软件需求活动. 看见了吧,大多数时候,软件外包干的就是人家不愿意干的脏活.累活.低技术含量的活.有产品做…
概况: 今年,有超过5万名开发者向我们分享了他们是谁,做什么工作,以及他们的成果.通过本文,你将看到有史以来最为全面的一次开发者情况调查的结果. 每8秒钟,就会有一位开发者在Stack Overflow上提出一个问题.今年,有来自173个国家的56,033位程序员在Stack Overflow上进行了回复. (在这次调查中,)我们提出了45个问题.我们把回复结论的亮点总结如下: 越来越多的程序员使用Mac和Linux作为他们的主力操作系统,这个现象还是第一次发生.只有7%的开发者认为自己是“摇滚…
最近在和招聘经理交流现在找一个好的程序员有多难的时候,我渐渐意识到了现在编程语言越来越倾重于JavaScript.Web开发人员尤其如此.所以,如果你是一个程序员,那么你应该去学习JavaScript. 需求 我之所以这样说的主要原因是,随着JavaScript的日渐成熟,以及Node.js方案变得越来越可行,我们对JavaScript程序员的需求正在持续增长. JavaScript在需求比例上已经超过了C#,仅屈居于Java之下.如果你看看GitHub上可行的项目,你会发现JavaScript…
有些年轻的程序员向我咨询,将来的路该怎么走?俗话说,条条大路通罗马.不同的路都能走向成功,到底选择哪条路,取决于自己的兴趣.可能有程序员会问:如果还没有找到自己的兴趣怎么办?我的建议是多尝试,努力做,这是职业生涯的必经之路.当你积累了一定的技术和经验之后吗,就会面临多种选择.选择哪条路,因人而异.常见道路如下: 专家级程序员 如果对某一种或几种技术非常感兴趣,并且能够持续钻研,经过一定时期的积累,你可以逐渐成长为专家级程序员.专家级程序员对所掌握的专业技术的熟练程度非一般程序员所能及,给类常见的…
道生一,一生二,二生万象.OO的思想就是抽象,万象归宗,化繁为简.99%的程序员使用OO,或者所谓的类库的目的就是好用,不必了解内部实现就可以直接达到所期望的结果.这时一种生产力的进步,一种流水线式半零件式的生产流程.程序员只是最后再流水线上拼接起来上个螺丝的工人而已(严格说来是码农).C++就是抽象万象的利器.用Windows举例子,从无到有这个关键的一步(所谓的底层),通产是C或者汇编.Windows源码大多是C/ASM编写,实现了硬件的抽象统一了抽象接口(中介有众厂商的驱动提供),然后从一…
徒有工龄,没技术没学历没平台没家底,工作几年,无车无房无存款还前景不明. 时常有身边的亲友问怎么学开发怎么转互联网,说起IT行业都说工资高,动辄月薪上万动辄年薪几十万. 再看看自己,我可能是假的程序员,不不不,只是一个搬砖工. 如果总结这几年,可能无非就是方向不对没有天赋也不够努力,如今流的泪都是当初进的水.再多的悔恨,往昔不可追. 所谓职场瓶颈期or天花板 情况如开头所叹,23岁不小不老,工作的第四个年头,.NET开发继续进行时, 从广州到长沙,如今在麓谷工作. 所谓职场瓶颈期or天花板,个人…
一个程序员,他写完了代码,在测试环境通过了测试,然后他把它发布到了线上生产环境,但很快就发现在生产环境上出了问题,有潜在的 bug. 事后分析,是生产环境的一些微妙差异,使得这种 bug 场景在线下测试中很难被发现.毕竟想要在测试环境完美的复制生产环境的所有情况也是不太可能的,导致出现了疏漏.对于这类情况,我们在想是否可以通过在线下做一些 Code Review(代码审查)假想线上的环境差异,通过在头脑中的假想上线运行来获得一些概念验证,这样是否能够减少上线后出现 bug 的概率呢? 感性 Co…
PHP程序员从小白到高手,掌握这些技能少走弯路 PHP究竟是不是最好的语言,一直以来是程序员最大的“争议”,但毋庸置疑的是,PHP绝对是最有前途和力量的变成语言,也是你入门最值得学习的语言. 作为老牌后端编程语言,PHP 在全球市场占有率非常高,仅次于 Java,从各个招聘网站的数据上来看 PHP 开发的职位非常多,薪资水平也非常不错. 那么,从新手码农到高级架构师,需要掌握哪些技能?要多努力,才能成为为人倚重的技术专家?本文将一一为你梳理. 一.平静的心态 和所有程序员一样,要写一手好的程序,…
个人理解: 一般刚工作的程序员总觉得技术最重要.但是当工作年限超过3年.或者岗位需要涉及汇报.需求对接等就会发现沟通非常重要.也许在大公司还不那么明显,但是在小公司.小团队或者创业,沟通甚至可以说是第一要义,技术倒是其次. 其实不光是程序员,社会360行哪行不需要沟通的技巧与艺术呢?何况做业务做市场做人事的岗位.哪怕生活中,和爱人.孩子.亲友.朋友也需要沟通的技术.只有少数懂你的挚友才不需要技巧,不过又有几个懂你的挚友呢? 文末提及,先要理解沟通的用处,是第一步,目前我也认识到了.接下来怎么做的…
感谢有这样的机会,能和大家一起来聊聊开发者的那些事儿. 其实程序员危机是一个真实存在的问题.也有人说是互联网行业的下滑或者互联网行业已过了风口等等.我在这儿主要谈的是 PHP 程序员的危机,而这种危机多半来自于丰富的语言种类和公司对语言的选择上. 尤其是近几年非常火热的人工智能,机器学习等等,还有推上风口的 python.这多少会带动一些人盲目跟风.其实开发工程师对自己知识体系的扩充和转型都需要有一个明确的目标.跟风是一件比较危险的事情,转型也不同于丢掉自己所有的东西.我想通过程序员的诞生和程序…
PHP程序员遇到职业问题时,是离职?还是坚持? 初级php程序员最担心在公司里遇到原本其他程序员开发的项目,他们“跑路”以后的工作就由新程序员完成.而新员工也不懂内部的逻辑,酱紫让程序员很难处理后续的问题?摆在他们面前的可能就两个词,离职! 坚持! 面对这样的职业问题php程序员该如何处理? 作为一个php程序员,我个人认为解决问题的能力是排第一位的,比学习能力优先级更高.解决问题的能力既能看出程序员的思维能力,应变能力,探索能力等,又可以看出他的经验.如果解决问题能力不佳是无法很好的处理职业问…
刚入职的程序员新人,办公桌上,基本上也就一电脑.一键盘.一鼠标,再配个被杯子.然而混迹职场多年的猿老们,办公桌上都有一些彰显身份地位的“好东西”. 这张图两点颇多,最显眼的,是办公桌上那个黄黄的东西,拉近一看,是一只小黄鸭.据说程序大师随身都会携带一只小黄鸭,调试代码时,就会详细的向鸭子解释每行代码.这种方法还有一个好听的名字“小黄鸭调试法”. 一直以为,不会写 bug 的程序员,是一个非常不合格的程序员.不过 bug 写多了,好像也不是什么好事.这不,某位程序员同僚,因为赶项目的时候,写了太多…