第一部分 人员管理
那些优秀的程序员,一般是不会出现在招聘市场上的,他们一生可能只有4次求职
聪明的程序员一定认识其他聪明的程序员
程序员的要求:聪明,而且能够完成工作
三种管理方法
l 军事化管理法
亲密不会让普通士兵上战场,只有恐惧才可以。
l 经济利益驱动法
n 内心激励 – 内心想将事情做好
n 外部激励 - 物质
程序员会因此寻求利益最大化,展开了和制度的博弈
l 认同法
n 设法创造内部激励,对公司有认同感
第二部分 写给未来程序员的建议
java语言忽视了最重要的两个特性:指针和递归
计算机科学是由证明(递归)、算法(递归)、语言(演算)、操作系统(指针)、编译器(演算)组成的
给计算机学生的建议
l 毕业前练好写作
l 毕业前学好C语言
l 毕业前学号微观经济学
l 不要因为枯燥就不选修非计算机专业的课程
l 选修有大量编程实践的课程
l 别担心所有工作都被印度人抢走
l 找一份好的暑期实习
l 寻求专业人士的帮助,培养你的信心
第三部分 设计的作用
一个团队来设计一个软件,风险很大!
大构想,一般都是大陷阱
别给用户太多的选择,记得Qingsong关于Cluster配置的方案
设计社会化软件,易用性要考虑文化人类学
第四部分 管理大型项目
第五部分 编程建议
循证式日程规划
l 分解时间
l 追踪时间的用途
l 对未来情况进行模拟 – 蒙特卡洛
l 不要有强迫症 – 按照自己的安排去做就行了
l 积极管理你的项目
l 范围渐变 – 为特殊情况留出缓冲
值得注意的问题
l 低速CPU和小容量内存的环境
l 跨平台的编程语言
l 完善的互动性和用于界面标准
要学函数式编程语言
寻找一种代码的书写规范,让错误的代码显而易见,让代码的相关信息在显示屏集中在一起,使你能够当场发现和改正错误
l 尽量将函数名写短
l 变量声明的位置离使用的位置越近越好
l 不要使用宏
l 不要使用goto
l 不要让右括号与对象的左括号之间的距离超过一个显示屏