《关于编程一些鲜为人知的真相》一文讲了一些编程的真相:如果把所有项目的生命周期平均一下,那么一个程序员大概10-20%的时间用来写代码,并且大多数程序员可能每天大约只有10-12行代码会进入最终的产品,无论技能水平如何。优秀的程序员会将剩余的90%的时间大多用在思考、研究和试验上以发现更棒的设计。而非优秀程序员他们的大多数剩余时间是在调试代码。

一个好的程序员的工作效率是普通程序员的10倍,而一个伟大的程序员则是普通的20-100倍。一个糟糕的程序员不单是一事无成,相反——不仅完不成分配给他的任何工作,还会制造各种各样的麻烦和问题需要别人来解决。

“伟大的车工拿几倍于普通车工的工资,但是一个伟大的代码作家——程序员却是值得我们付出普通软件写手10,000倍的薪水。” – 比尔·盖茨

一、 程序员逆袭应具备的7大技能

程序员一直被认为是一个苦逼的职业,工资一般般,但工作压力却很大,类似“程序员职业病、程序员光棍”等话题充斥着整个行业的讨论区。程序员需要逆袭,做好以下这7点,你可以混得更好一点。

  1. 对技术的热忱
  2. 懂得数据分析
  3. 了解业务
  4. 良好的沟通技能
  5. 与他人团结协作的能力
  6. 精通企业以及相关行业的知识
  7. 掌握并应用现代信息技术

二、 初级软件开发人员进修必备的20本书(上)

  1. 《学习软件开发》
  2. 《返朴归真:以自由为原则的软件开发人员》
  3. 《不要掷骰子》
  4. 《每个程序员都应该了解的97件事》
  5. 《开发流程中的效率》
  6. 《基础编程》
  7. 《HACKNOT:软件开发》
  8. 《初级程序员的动机》

相关阅读:《软件开发人员进修必备的20本书(下)》

三、 程序员常用的一些工具

一些高效的软件可以给我带来高效的工作效率。下面说一下程序员常用的一下工具,高效的工具。

  1. Xshell Xftp——免费软件 Xshell 和 Xftp 都是 NetSarang 出品的优秀网络管理、安全传输工具。
  2. Axure RP Pro——一个产品经理必备的交互原型设计工具,能够高效率制作产品原型,快速绘制线框图、流程图、网站架构图、示意图、HTML 模版等。
  3. FastStone Capture——一款极好用的图像浏览、编辑和截屏工具,支持 BMP、JPG、JPEG、GIF、PNG、TIFF、WMF、ICO 和 TGA 在内的主流图片格式,其独有的光滑和毛刺处理技术让图片更加清晰,提供缩放、旋转、剪切、颜色调整功能。
  4. Lingoes 灵格斯词霸——内置的基础英汉词典、海词在线词典、句酷双语例句、互动百科、Google 网络释义、即时翻译。
  5. 印象笔记——把自己在工作中遇到的一下问题,及时的记下来。
  6. Mindjet MindManager——是一款优秀的思维导图和知识管理软件,能够帮助你将想法和灵感以清晰的思维导图的形式记录下来,这对梳理工作计划和规划很有帮助,广泛应用于研究、组织、解决问题和决策中。
  7. EditPlus——一套功能强大,可取代记事本的文字编辑器,拥有无限制的撤消与重做、英文拼字检查、自动换行、列数标记、代码折叠与高亮等功能、同时还能编辑多文件、全屏幕浏览功能。

相关阅读:Mac开发者常用的工具

四、 写代码前的准备,你做好了吗?

在程序员写代码之前,还有很多工作要做,做好了这些准备,所写的代码才能更加完美。

  1. 编写设计文档——A、反复思考得出最优结果和B、加快今后编码速度
  2. 绘制原理图——一图抵万言
  3. 制定开发计划
  4. 制定测试计划

五、 程序员健康指南 真的很受用

  1. 健康管理支撑着你的工作
  2. 简单的每日检查
  3. 职业病的处方
  4. 对付睡眠不足
  5. 心理健康很重要
  6. 尽情的放松
  7. 简单的营养补给

六、 你曾后悔进入 IT 行业吗?为什么?

两天前极客头条上的问题,目前已有166顶和148条评论,欢迎大家一起来探讨和交流。有网友认为:IT有IT特有的魅力所在;说多了都是泪啊;不后悔;妹子太少,感觉有些孤单;不后悔,还是觉得自己好牛逼懂一些人家不懂的技术;后悔迟入行了……

此外,还值得关注的有:程序员创业前需考虑的6条建议程序员,你需要大量地阅读周鸿祎:比情怀更重要的硬件创业三定律幽默趣味:程序员如同妓女程序员迷茫的未来

关于编程一些鲜为人知的真相 csdn的更多相关文章

  1. C++ STL中Map的相关排序操作:按Key排序和按Value排序 - 编程小径 - 博客频道 - CSDN.NET

    C++ STL中Map的相关排序操作:按Key排序和按Value排序 - 编程小径 - 博客频道 - CSDN.NET C++ STL中Map的相关排序操作:按Key排序和按Value排序 分类: C ...

  2. java 编程时候的性能调优

    一.避免在循环条件中使用复杂表达式 在不做编译优化的情况下,在循环中,循环条件会被反复计算,如果不使用复杂表达式,而使循环条件值不变的话,程序将会运行的更快. 例子: import java.util ...

  3. 程序员书单_java学习基础编程篇

    Java程序设计语言.(美国)阿诺德.清晰版 http://download.csdn.net/detail/shenzhq1980/9076093 JAVA2核心技术第1卷.基础知识7th.part ...

  4. Delphi xe7并行编程快速入门(三篇)

    现在多数设备.计算机都有多个CPU单元,即使是手机也是多核的.但要在开发中使用多核的优势,却需要一些技巧,花费时间编写额外的代码.好了,现在可以使用Delphi做并行编程了. 在Delphi.C++ ...

  5. python socket编程实现的简单tcp迭代server

    与c/c++ socket编程对照见http://blog.csdn.net/aspnet_lyc/article/details/38946915 server: import socket POR ...

  6. python udp编程实例

    与python tcp编程控制见 http://blog.csdn.net/aspnet_lyc/article/details/39854569 c++ udp/tcp 编程见 http://blo ...

  7. Linux 高性能服务器编程——多线程编程

    问题聚焦:     在简单地介绍线程的基本知识之后,主要讨论三个方面的内容:    1 创建线程和结束线程:    2 读取和设置线程属性:    3 线程同步方式:POSIX信号量,互斥锁和条件变量 ...

  8. Linux 高性能服务器编程——多进程编程

    问题聚焦:     进程是Linux操作系统环境的基础.     本篇讨论以下几个内容,同时也是面试经常被问到的一些问题:     1 复制进程映像的fork系统调用和替换进程映像的exec系列系统调 ...

  9. Linux 高性能服务器编程——I/O复用

    问题聚焦:     前篇提到了I/O处理单元的四种I/O模型.     本篇详细介绍实现这些I/O模型所用到的相关技术.     核心思想:I/O复用 使用情景: 客户端程序要同时处理多个socket ...

随机推荐

  1. 深入理解javascript系列,读书笔记

    深入理解JavaScript系列(2):揭秘命名函数表达式 1.讲了函数声明和函数表达式的区别,包括一些在函数提升上的区别 2.如果给函数表达式的函数也取名,会在调试的时候受益 3.不要在block( ...

  2. Guava----Function

    1. Function接口,提供两个方法: apply方法: 可以自定义自己想实现的功能 @Nullable T apply(@Nullable F input); 1. 实例: import com ...

  3. sql语句查询服务器的数据库,数据库的全部表和表的全部列

    下面是数据库的结构: 数据库名是:edushi_zixunok;表名是infoArticle --获取所有用户名 SELECT * FROM sys.sysusers --获取所有用户数据库 SELE ...

  4. 20145236 GDB调试汇编堆栈过程分析

    GDB调试汇编堆栈过程分析 首先需要输入sudo apt-get install libc6-dev-i386安装一个库才能产生汇编代码,然后输入gcc - g example.c -o exampl ...

  5. 机器学习实战knn

    最近在学习这本书,按照书上的实例编写了knn.py的文件,使用canopy进行编辑,用shell交互时发现运行时报错: >>> kNN.classify0([0,0],group,l ...

  6. html/css 钢琴黑白格布局

    效果图:

  7. React Native 获取网络数据

    getMoviesFromApiAsync() { return fetch('http://facebook.github.io/react-native/movies.json') .then(( ...

  8. guava学习--Preconditions

    转载:https://my.oschina.net/realfighter/blog/349819 Preconditions是guava提供的用于进行代码校验的工具类,其中提供了许多重要的静态校验方 ...

  9. linux 下mysql 开启远程连接

    系统通过netstat -ntlp  来查看正在运行服务所使用的端口 ,查看3306端口是否开启. 防火墙iptables 如果是新装的 系统, 一般不用管这个因素,不过我们也先 用service i ...

  10. I/O

    IO流:1:字节流(inputStream:输入流)(outputStream:输出流).2:字符流(reader:输入流)(winter:输出流). 首先判断是输入还是输出(站在计算机的立场):其次 ...