最有效率的程序员会比一般的程序员的编程效率高上几个数量级。但在任何公司里,他们的工资水平却只会出现很小的浮动差距。甚至在整个行业内,这种差距也不是很大。如果一个程序员的效率能达到其他人的10倍,为什么他不能得到10倍高的报酬呢?
从第 1 层爬到第 2 层相对容易一些,以 C/C++ 程序员为例,只要熟练掌握 C/C++ 编程语言,掌握 C 标准库和常用的各种数据结构算法,掌握 STL 的基本实现和使用方法,掌握多线程编程基础知识,掌握一种开发环境,再对各种操作系统的 API 都去使用一下,搞网络编程的当然对 socket 编程要好好掌握一下,然后再学习一些面向对象的设计知识和设计模式等,学习一些测试、软件工程和质量控制的基本知识,大部分人经过 2~3 年的努力,都可以爬到第2层,晋升为“大虾”。
一名阿里员工因为加班顿生怨言:在阿里巴巴干着太累了,找到60万的工作我就离职,并且直言压力很大:心累,开发还得干产品的活,一天8个会,各种拉你,这边还得解决客户的问题,还得干PM的活推动各方开发,每到周日晚上就想辞职,有没有一样的?
“你肩上扛20万行代码,搞的定不?”,这是我刚进华为的时候听的最多的一句话。 记得那还是96年,我刚参与完华为的新员工培训,领导就让我去出差去上海,刚进上海项目组,就有pl问我,这次承接项目的人有多少人,我愣愣地指了指自己:“就我一个。只听pl惊讶的说:什么?
当有多个线程在操作时,如果系统只有一个 CPU,则它根本不可能真正同时进行一个以上的线程,它只能把 CPU 运行时间划分成若干个时间段,再将时间段分配给各个线程执行,在一个时间段的线程代码运行时,其它线程处于挂起状态.这种方式我们称之为并发。并发,指的是多个事情,在同一段时间段内发生了,大家都在争夺统一资源。