大多数小公司都是创业公司,所以它们有着非常独特的“创业心态”。所谓创业心态通常表现为关注快速增长,竭尽所能让公司盈利,或者达成其他一些迫切目标。

在这样一家公司工作的软件开发人员,你极有可能要身兼多职,不能只写代码。因为员工数量不多,角色不固定,所以你需要更加灵活多变。如果你只是想坐在桌边写代码,你可能就不喜欢设置服务器或者协助测试。但是,如果你精力充沛、活力四射,喜欢迎接新挑战,那你就会对这种环境着迷。

在一家小公司,你做的事情可能影响更大,可以说是好坏参半。如果你希望寂寂无闻,做好自己的本职工作,那你可能不会喜欢在小公司工作——那就像在雷达的监视下飞行。但是,如果你乐于看到自己的工作成效,那么小公司无疑是最佳场所。因为小公司员工很少,每个人的作用都能被注意到,甚至直接影响到公司收入。这意味着不仅你的功劳会被放大,要是搞砸了也同样如此。

小公司通常没有大公司稳定,但是长远来看,潜在的回报更大。小公司极有可能面临倒闭,或者发不出工资,不得不裁员。但是,如果你能安然度过这些风暴,作为这个成长显著的小公司的第一批员工,回报是巨大的。在大公司里,通过晋升到达总监级别是非常难的,但在小公司你的上升概率要高很多,新进员工都会在你手下。

许多开发人员都在为创业型公司工作,薪水低廉、上班时间长得令人觉得荒唐,就是指望公司上市或被收购,能够靠期权股票发财。但是,我认为这个赌注风险极高。我不建议你为了“中彩票”而选择去创业公司。一旦选择了那条路,你可能耗尽心力却一无所获。选择为小公司或初创公司工作的一个更好的理由是,你喜欢那种快节奏的、令人兴奋的工作环境,也希望构建伟大的产品并见证它的成长。

为小公司或者创业公司工作的好处

〓● 角色灵活,拥有多个头衔。

〓● 拥有很高的影响力。

〓● 高回报潜力。

为小公司或者创业公司工作的弊端

〓● 可能无法安安静静坐下来全身心编写代码。

〓● 工作在众目睽睽之下,工作绩效一目了然。

〓● 稳定性差。

程序员成长必备书籍

软技能:代码之外的生存指南

本书献给所有自强不息、孜孜不倦地持续 自我改进的开发人员。他们具备下列素质:
永远不会对“不错”感到心满意足
永远寻求每一个机会来拓展自己的视野,探索未知事物
对知识的渴求永远不会熄灭
笃信软件开发并不仅仅意味着编写代码
知道失败不是结束,失败只是人生旅程上的小小一步
有过挣扎,有过失败,但仍然会爬起来继续战斗
拥有强烈意愿和决心,在人生的道路上不畏艰难
最重要的是,愿意一路上帮助他人

如果你想真正成为一个更好的软件开发人员(或者其他真正优秀的人才),你需要把重点放在整个“人”上,而不只是你生活中的一两个领域。

在这本书里,你会发现不少看似无关的主题串联在一起,但这种无序的背后其实另有深意。本书共分为七篇,每一篇都聚焦在软件开发人员生活的不同方面。如果你想为这些内容分类和分组,最简易的方法是将它们看成是事业、思想、身体和精神四个方面。

这是一本真正从“人”(而非技术也非管理)的角度关注软件开发人员自身发展的书。书中论述的内容既涉及生活习惯,又包括思维方式,凸显技术中“人”的因素,全面讲解软件行业从业人员所需知道的各种“软技能”。

本书聚焦于软件开发人员生活的方方面面,从揭秘面试的流程,到精心做出一份杀手级简历,到制作脍炙人口的视频内容,到打造你的个人品牌,到提高自己工作效率,到与职业倦怠做斗争,甚至到投资房地产和关注自己的健康。本书共分为职业篇、自我营销篇、学习篇、生产力篇、理财篇、健身篇、心态篇等七篇,概括了软件行业从业人员所需的各种“软技能”。通过阅读本书,软件工程人员、编程人员和其他技术人员能够积极思考自己的职业生涯,丰富自己的生活,让自己更接近成功。

重构 改善既有代码的设计(第2版 平装版)

所谓重构(refactoring)是这样一个过程:在不改变代码外在行为的前提下,对代码做出修改,以改进程序的内部结构。重构是一种经千锤百炼形成的有条不紊的程序整理方法,可以最大限度地减小整理过程中引入错误的概率。本质上说,重构就是在代码写好之后改进它的设计。

“在代码写好之后改进它的设计”这种说法有点儿奇怪。在软件开发的大部分历史时期,大部分人相信应该先设计而后编码:首先得有一个良好的设计,然后才能开始编码。但是,随着时间流逝,人们不断修改代码,于是根据原先设计所得的系统,整体结构逐渐衰弱。代码质量慢慢沉沦,编码工作从严谨的工程堕落为胡砍乱劈的随性行为。

“重构”正好与此相反。哪怕手上有一个糟糕的设计,甚至是一堆混乱的代码,我们也可以借由重构将它加工成设计良好的代码。重构的每个步骤都很简单,甚至显得有些过于简单:只需要把某个字段从一个类移到另一个类,把某些代码从一个函数拉出来构成另一个函数,或是在继承体系中把某些代码推上推下就行了。但是,聚沙成塔,这些小小的修改累积起来就可以根本改善设计质量。这和一般常见的“软件会慢慢腐烂”的观点恰恰相反。

有了重构以后,工作的平衡点开始发生变化。我发现设计不是在一开始完成的,而是在整个开发过程中逐渐浮现出来。在系统构筑过程中,我学会了如何不断改进设计。这个“构筑-设计”的反复互动,可以让一个程序在开发过程中持续保有良好的设计。

本书是一本为专业程序员编写的重构指南。我的目的是告诉你如何以一种可控且高效的方式进行重构。你将学会如何有条不紊地改进程序结构,而且不会引入错误,这就是正确的重构方式。

本书是经典著作《重构》出版20年后的更新版。书中清晰揭示了重构的过程,解释了重构的原理和实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。书中给出了60多个可行的重构,每个重构都介绍了一种经过验证的代码变换手法的动机和技术。本书提出的重构准则将帮助开发人员一次一小步地修改代码,从而减少了开发过程中的风险。

代码整洁之道

鲍勃大叔作品,程序员,汇聚编程数十年编程生涯的心得体会,阐释如何解决软件开发人员、项目经理及软件项目领导们所面临的棘手的问题。

学写整洁代码很难。它可不止于要求你掌握原则和模式。你得在这上面花工夫。你须自行实践,且体验自己的失败。你须观察他人的实践与失败。你须看看别人是怎样蹒跚学步,再转头研究他们的路数。你须看看别人是如何绞尽脑汁做出决策,又是如何为错误决策付出代价。

阅读本书要多用心思。这可不是那种降落前就能读完的“感觉不错”的飞机书。本书要让你用功,而且是非常用功。如何用功?阅读代码——大量代码。而且你要去琢磨某段代码好在什么地方、坏在什么地方。在我们分解,而后组合模块时,你得亦步亦趋地跟上。这得花些工夫,不过值得一试。

本书提出一种观念:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。作为编程领域的佼佼者,本书作者给出了一系列行之有效的整洁代码操作实践。这些实践在本书中体现为一条条规则(或称“启示”),并辅以来自现实项目的正、反两面的范例。只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。

本书阅读对象为一切有志于改善代码质量的程序员及技术经理。书中介绍的规则均来自作者多年的实践经验,涵盖从命名到重构的多个编程方面,虽为一“家”之言,然诚有可资借鉴的价值。

程序员在小公司(没有大牛,人少)怎么成长?相关推荐

  1. BAT程序员面试小公司遭拒绝,面试官:统筹能力差,只适合流水线

    BAT,B指百度.A指阿里巴巴.T指腾讯,是中国互联网公司百度公司(Baidu).阿里巴巴集团(Alibaba).腾讯公司(Tencent)三大互联网公司首字母的缩写.你能进入BAT,那么肯定的是你绝 ...

  2. Java黄金五年——1~5年一个Java程序员从入行到大牛的晋升之路

    在程序界流行着一种默认的说法叫"黄金5年",也就是一个程序员从入职的时候算起,前五年的选择直接影响着整个职业生涯中的职业发展方向和薪资走向,如何走好这5年,彻底从一个刚入行的菜鸟蜕 ...

  3. 大公司程序员 VS 小公司程序员 | 差别在哪?

    很多大学生毕业之后,都希望能进互联网大厂,但是大厂并没有那么好进,不说别的有的学历就会把你卡在门外.但是大厂有大厂的优势,小公司有小公司的优势.根据自己的需求选择自己合适的公司,才是最重要的. 大公司 ...

  4. 我是怎么招聘程序员的——引自大牛【陈皓】

    原文:http://coolshell.cn/?p=1870(酷壳)       很早以前就想写一篇和面试相关的文章了,今天在网络上看到一篇关于如何去面试程序员的英文文章,发现其中有很多和我共鸣的东西 ...

  5. 程序员等级图鉴,大牛头发有点少

    点击上方"开发者技术前线",选择"星标" 13:21 在看 真爱 程序员是一个非常神奇的工种,他们对技术有特殊的崇拜,有着严格的等级划分,不同级别的程序员有什么 ...

  6. 从程序员到架构师的最佳技术成长之路

    我把程序员到架构师的技术成长之路分为几个典型的阶段:工程师 - 高级工程师 - 技术专家 - 初级架构师 - 中级架构师 - 高级架构师,总的成长原则是每个阶段都需要"积累经验.拓宽视野.深 ...

  7. 四年时间,从一个浑浑噩噩的程序员到csdn博客专家的成长之路

    文章目录 本文只做记录总结篇,如有不适请轻喷 写在前面 浑水摸鱼的大学四年 学习之路极其长远 怎么会突然写博客 侵权问题 写博客是一件很享受的东西 人生短暂,展望未来 本文只做记录总结篇,如有不适请轻 ...

  8. java程序员推荐轻薄笔记本,移动架构师成长路线

    正文 在写这个文章之前,我花了点时间,自己臆想了一个电商系统,基本上算是麻雀虽小五脏俱全,我今天就用它开刀,一步步剖析,我会讲一下我们可能会接触的技术栈可能不全,但是够用,最后给个学习路线. Tip: ...

  9. 师徒计划--程序员在小公司的成长历程

    我们认识世界.认识社会的方式都是通过"先做加法,后做减法"的方式进行的.马云.雷军都是到了三四十岁才开始出来创业,在这之前,他们一直在做加法,在向上生长.我们绝大部分普通人可能一辈 ...

最新文章

  1. 工资8000以下的程序员注意了:《零coding数据大屏实战宝典.pdf》
  2. Mysql: pymysql 模块
  3. linux 互斥锁销毁_c-销毁锁定的互斥锁时pthread_mutex_destroy的正...
  4. OpenCV中SUFR、SIFT无法使用的原因及解决办法
  5. chrome自动调节窗口大小插件_高效使用Chrome浏览器的10个技巧
  6. 使用LiveNVR实现将RTSP转RTMP、FLV、HLS,实现监控摄像头无插件直播
  7. scala中的case中的变量为啥没有定义
  8. servlet container:tomcat jetty and undertow
  9. 高性能滚动 scroll 及页面渲染优化
  10. NSDictionary使用枚举方法
  11. java 泛型的问题_java 泛型问题?
  12. 腾讯云cdn怎样接入域名
  13. 阿里巴巴和淘宝集团web安全标准
  14. php图片颤抖,如何实现图片抖动效果
  15. 客户成功的起源——SaaS(软件即服务)
  16. 为什么打印还要另存为_为什么打印机一打印就会出现另存为
  17. 【Spark】Graphx用例(Java)
  18. css+js制作循环轮播图——可滑动
  19. 华为是怎样研发的(4)——器件选型
  20. EasyExcel 实现批量合并单元格(支持自定义)

热门文章

  1. davinci可钻取图形
  2. 1.(地图资料篇)地图一些重要网站
  3. java.lang.NoClassDefFoundError: com/fasterxml/classmate/TypeResolver
  4. 实现Excel文件xls与xlsx格式批量互相转换
  5. rar密码恢复之尝试
  6. Django之爱鲜蜂项目开发 day03 (二)
  7. Scapy的下载和安装(二)
  8. 常用下载地址ed2k
  9. GUI编程之拨号盘按键音识别的学习与实现
  10. JAVA通过epublib解析EPUB格式的电子书