## 1.1 在新工作中找到你的出路
伴随着技术型公司增长的波动性,忠于公司的高级职员会逐步减少。当一个公司业务重点发生转折或改变的时候,开发经理们通常开始找寻新的工作。当然,获得新工作的第一步,始于面试。
面试中,面试官将尽力描绘他们公司的美景,如同薄雾笼罩的莫奈名画。而一旦你开始工作,则图画开始扭曲,甚至有些像毕加索的作品。面试中所描述的微妙的小问题变成了你亟待解决的巨大危机。表1-1中以调侃的口吻比对了面试说词与现实之间的差异。
表1-1 面试与现实的对比
| 面 试 说 词 | 现 实 情 况 |
| --- | --- |
| 我们有一些很小的质量问题 | 该产品是一场灾难。只要你上了贼船,就会为所有的错误承担一切指责 |
| 我们需要提升我们的交付承诺 | 没有产品可以如期交付,由于市场及其他高层不能下最后的决心,公司在整个开发过程中需要不断修改新产品功能。即使这样,所有的人都希望按期交付 |
| 我们有一支伟大的工程师团队,只是需要一些指导 | 团队成员正在大厅里尖叫着讨论,至少有一位工程师由于不够格要被开掉 |
| 我们是一个有紧迫感的公司,有干劲十足的员工 | 你那个“懒惰的”的开发团队正期待着混过工作午餐、每一个夜晚以及大多数周末——除非你干掉他们 |
在你加入公司走上令人生畏之路时,你需要充分利用现状。
### 1.1.1 立即着手处理
在你任开发经理的一开始的日子里,急迫的问题需要立即引起你的注意。一些问题自从上任经理离职之日就开始堆积在那了,在你桌上堆放着延期数月的决策方案。在沼泽中跋涉是对处理这些积压工作最形象的比喻。
在专注于这些问题时,你可能会感受到压力,这会危及你长期的成功。只关注急迫的问题,会让你失去从公司、产品、同事以及你的团队中学习成长的机会,所以要做一次深呼吸看一看更广阔的天地。
如果在解决悬而未决的问题与处理日常危机之间分割你的时间,你会最终减少一些重复出现的问题,这样会提升团队的效率。每天花一部分时间从公司获得一些情况要比全力以赴处理积压问题更有效率。此外,你最好去了解一下团队所面对的重大问题,这将会促使你较早找寻出解决之道。许多问题还会在日常工作中冒出来并迫使你持续转移注意力。可以通过建立一个根据自身时间来处理多方面要求的体系来避免这个混乱的过程。
#### 1.维护一个问题和处理成果的列表
从一开始养成细致的任务管理和记录保存好习惯将会对工作非常有帮助。维护一份清单,清单中要包含有关你的决策、处理过程以及一些重大问题,特别是那些对你较为迫切的问题。根据问题解决完成时间排出列表的优先级。管理好这份列表不仅有助于你减缓由于遗漏问题而引起的焦虑,将列表组合还可以让你和老板一起对你所排的优先级和问题处理进展进行评审。
逐日审核你的任务列表锁定优先问题。对于大的任务,则要锁定那些短时间内能够完成的子任务。每周要把重点放在高优先级的大任务上,否则,短期紧迫的要求依旧会导致进一步的延期。如果你日常处理这些问题的时间有限,则要避免时间透支并妨碍你的工作进展。
当你完成了一个解决问题的任务的时候,记得标记上日期并将任务存档。这个档案文件将在日后你被问起如何处理这些问题细节时有所帮助。验收成果同样有助于提高自身工作的积极性。
#### 2.尽可能去授权
在适当的时候,对一些紧迫的问题进行职责分配,不要试图亲力亲为地解决所有问题。适当的任务分配可以使你和你的团队更富有成效,并且通过处理新任务也可以提升整个团队成员的士气。任务分配时,要确认受托者清楚了任务的内容、与其他相关工作的优先次序以及进展状态检查的时间点和完成日期。同样也要确认项目成员知道可以从你这里得到更多的信息。
如果不适合将整个任务分配出去,你可以将一部分任务分配给团队成员。例如,你可以把信息收集分给其他人而把审核留给自己。或者你也可以让一个团队成员提供一个问题的背景分析并指导他去分析数据。如果你能赋予团队成员承担部分重要工作的机会,你们都会受益。
当处理完棘手问题时,记得向老板通报你的进展。这有助于预防对你工作上的误解。
### 1.1.2 经历初始培训
初始培训阶段的成功需要集中付出努力与时间。每天要留有稳定的时间用于熟悉公司的员工,学习公司的技术,了解公司的产品、市场以及运作流程。找出你最机敏且能集中精力的1~2个小时。每天提前上班,并把每天最初的时间用在培训上,然后在以后将这段时间用于处理疑难问题。
作为新任的开发经理,在你的老板给你一些灵活度来熟悉工作和企业文化时,你会拥有3~6周的“蜜月期”体验。这一时期你可能会期望加班,用这些额外的时间来熟悉工作并处理重要的问题。如果老板认识到了你额外的付出,他会为最初雇用你的决定感到满意。在你展示了自己的能力后,就可以将工作时间适当减少到适度合理的水平。
要知道你是否被特别雇用,被期待成为变革代理人或期待给一个高效的部门带来增量变化。这些期待将决定你如何把结果展示给你的团队和老板。例如,如果你认定的重大问题而公众却期望维持原状的话,你就要耗费大量的时间和精力去说服老板和团队去认识一些问题的重要性。
你解决长期问题的时间也很关键。例如,如果你等到6个月以上再讨论宏观问题,你将面临比较巨大的挑战。你可能失去了展示创新理念甚至确定问题之所在的机会,一旦你沉浸于细节,就很难认识到系统中的瑕疵。当人们更愿意从新经理那里倾听新颖的观点时,你会发现开发团队更加抗拒变革。
如果你提议实施重大变革,要向公司如实陈述其利益和成本。“兜售”你的变革可以帮助你避免树敌或面对其他人抗拒变革的行为。
### 1.1.3 收集信息
收集公司产品、人员以及过程方面的信息有助于你制定头3~6个月的工作策略。通过与老板交流以及花时间与你的直属下级、同僚们沟通,以获取公司更广阔的前景。你的目标是了解公司的成就与全局性问题,并学会如何发展才能最好地为公司服务。从询问如下开放式问题开始,找到并分辨出问题的主要切入点。
* 运作良好的业务是什么?
* 你看到的主要问题是什么?
* 你建议的解决方案是什么?
然后将学习成果融入到工作总结中,并寻找一个解决模式。
#### 1.创建讨论总结
当你与同事、经理以及其他员工商讨问题时要做笔记;然后把你的点评融入到带有强调符号的陈述之中,以确保思路清晰而富有条理。释义转述和总结性注释会使你的陈述短小精悍。
之后,分门别类整理总结文件。每一类都可以包含问题以及成就两个方面。在每一个问题方面之后,罗列出一个你们交流讨论的相关解决方案。这里有一个用于收集信息的推荐分类列表(当然,你的列表也可以用不同的展示方式)。
技术 质量问题
人员 内部文档
组织架构 风险
清晰的目标 客户服务
方针 市场和销售
过程 财务问题
计划 其他
问题和解决方案可以分为三类:你和你的团队可以直接解决的问题;需要通过与其他部门或其他组织中的人员合作解决的问题;你只能施加影响而不能直接解决的问题。根据你的摘要标示出每一个问题。
一个最终文件的摘录可以做成这样。
4.技术
* 有利因素:我们的技术比竞争对手更快更可靠。
* 有利因素:编程语言和函数库都是最新的。
* 问题:系统在A-15子系统中没有冗余性,将导致“核心崩溃”。这需要与运营部门协作。
* 问题:API几乎没有错误校验。两个缺陷数据请求就可以导致系统擦除数据库。
解决方案:我可以通过与开发人员讨论直接解决。
#### 2.把你的总结应用于工作之中
之后,为发现的问题和取得的成果设置优先级。将成功的做法与问题进行排名可以让你考虑如何保持有利因素的优势。一个简单的A、B、C优先级对最初的排序就很好,并且可以在每一级别都遵循这一体系。将老板的指示级别提高,但也不要低估其他人的反馈。最终,你必须决定解决哪些方面的问题并且如何解决它们。从最高级别的问题中制定一个行动计划。例如,估算未来3~6个月你能完成多少。一个切实可行的计划会帮助你避免一次跟踪过多的任务以至于能完成的工作越来越少。
制定计划前要确认相对于改善型工作你完全了解自己能承担的混合型项目工作。对于一个小公司,至少要花费自己10%~20%的时间和团队5%~10%的时间来解决和当前项目没有直接关系的问题。这类与项目无关的问题包括提高生产率、指导培训讨论、推进技术、规划未来、改善工作关系,以及解决人的问题。
行动计划的失败通常是由于缺少公司的支持,所以要确信在你不断的努力下能从老板那里争取到支持。你需要你的老板极力支持——至少是认可——如果你希望成功。如果你的老板否决了你的建议,你需要理解他的忧虑——或者,你依旧相信你的建议,去做更多的研究然后兜售。在你的方法获得成功以前,你的老板需要知道你在用一种合理的方式来解决企业中存在的问题。
你也应该与其他部门经理特别是市场和销售经理们沟通。他们需要理解实现他们所谓的短期目标为何要花费如此多的时间和资源。要说明你的变革能给公司带来的长期利益。由于你确定的问题并不仅仅与你的部门相关,与其他人讨论和反馈意见将增进你对问题范围的了解以及帮助你找到最好的解决方案。
将每一件费神的事情当做一个带有时间表和资源的项目。要持续促进项目改进,否则他们就会失去动力;不能提升领导力就会导致随着公司的发展壮大,生产力却更为低下。
> 得到公司的总体概况
> 当我加入目前公司的时候,我花时间与不同部门的十几个人去交流。我把所听到的信息整合入一个只有几页纸的总结性文档中。这个过程让我洞察到了即将发生的一切。与每个人交流是一项启发性活动,它指引我直奔最先需要解决的首要问题。
> —— 新任经理
- 内容提要
- 前言
- 本书的章节结构及相关说明
- 公司发展阶段
- 现实生活的记述
- 电子表格
- 模板
- 致谢
- 专家推荐语
- 第1部分 开发团队
- 第1章 入门
- 1.1 在新工作中找到你的出路
- 1.2 了解人
- 1.3 不愿透露信息
- 1.4 认同企业文化
- 1.5 学习技术、过程和产品
- 1.6 了解客户
- 1.7 了解公司的业务流程
- 1.8 回归重点
- 第2章 管理开发团队
- 2.1 理解你的核心价值
- 2.2 与你的团队沟通
- 2.3 解决冲突
- 2.4 培训
- 2.5 指导
- 2.6 激励你的团队成员
- 2.7 教导问题员工
- 2.8 考核与评价
- 2.9 附加读物
- 第3章 创建一个高效的开发团队
- 3.1 有效的团队组织
- 3.2 程序员的效率
- 3.3 办公空间
- 3.4 如何让其他团队与工程队伍沟通顺畅
- 3.5 新经理,旧习惯
- 3.6 富有乐趣
- 3.7 附加读物
- 第4章 扩充软件团队
- 4.1 设计一个筛选过程
- 4.2 面试特长
- 4.3 汇总
- 4.4 附加读物
- 第2部分 产品和技术
- 第5章 定义产品
- 5.1 产品定义过程
- 5.2 产品定义内容
- 5.3 整体产品概念
- 5.4 利用原型定义产品
- 5.5 与市场部门建立联系
- 5.6 客户对产品的认识
- 5.7 在α版本发布中改善产品
- 5.8 了解现有产品的组成部分
- 5.9 附加读物
- 第6章 驱动版本发布
- 6.1 版本发布计划
- 6.2 版本发布过程
- 6.3 发布版本的标识
- 6.4 附加读物
- 第7章 评估你们的工具和方法
- 7.1 备份知识产权
- 7.2 创建和管理开发文档
- 7.3 源代码版本控制
- 7.4 软件构建方法与时机
- 7.5 软件发布过程
- 7.6 缺陷跟踪系统
- 7.7 选择合适的开发工具
- 7.8 附加读物
- 第8章 评估你们的技术
- 8.1 系统文档
- 8.2 系统可扩展性
- 8.3 故障模式
- 8.4 错误处理和消息
- 8.5 系统的灵活性与可维护性
- 8.6 整合入系统的第三方软件包
- 8.7 系统应用程序接口
- 8.8 安全
- 8.9 数据报表与分析
- 8.10 国际化支持
- 8.11 着眼重点
- 8.12 附加读物
- 第3部分 工程之外
- 第9章 与你的公司一起工作
- 9.1 企业文化和做法
- 9.2 处理团队内部问题
- 9.3 增进同僚关系
- 9.4 尊重工程团队
- 9.5 附加读物
- 第10章 和CEO及执行团队一起工作
- 10.1 支持你的老板
- 10.2 与执行团队合作
- 第11章 倾听客户的声音
- 11.1 客户满意
- 11.2 客户会议
- 11.3 搞定交易
- 11.4 支撑的要求与客户的需求
- 第4部分 为项目、过程以及质量制定工作流程
- 第12章 项目评估
- 12.1 建立一个评估
- 12.2 采集原始项目数据
- 12.3 附加读物
- 第13章 启动一个项目
- 13.1 理解目标
- 13.2 集结项目团队
- 13.3 设置优先级
- 13.4 选择一个框架
- 13.5 制定时间表
- 13.6 创建一个项目计划
- 13.7 启动会议
- 13.8 附加读物
- 第14章 项目执行与跟踪
- 14.1 一个项目的执行管理
- 14.2 项目跟踪方式
- 14.3 变更控制流程
- 14.4 风险管理
- 14.5 附加读物
- 第15章 设计一个软件开发过程
- 15.1 软件开发过程中都涉及哪些内容
- 15.2 开发过程的类型
- 15.3 自定义一个过程
- 15.4 选择一个过程
- 15.5 引进一个过程
- 15.6 附加读物
- 第16章 流程改进
- 16.1 建立一个流程模型
- 16.2 分析流程模型
- 16.3 坚持不懈地走下去
- 16.4 附加读物
- 第17章 理解质量保证
- 17.1 质量的重要性
- 17.2 质量定义
- 17.3 注重质量
- 17.4 质量评估
- 17.5 QA指标
- 17.6 质量与生产力方面的缺陷影响
- 17.7 附加读物
- 第5部分 规划未来
- 第18章 确定发展方向
- 18.1 听取市场部门的意见
- 18.2 创建整体产品
- 18.3 化解技术上的定时炸弹
- 18.4 筹划技术检修
- 18.5 优化客户安装程序
- 第19章 发展战略及路线图
- 19.1 建立产品路线图
- 19.2 对选择进行评价
- 19.3 创建单页纸的评估
- 19.4 附加读物
- 第20章 继续前进
- 附录A 软件公司的组织架构
- 1 公司任务
- 2 典型的个体公司
- 3 典型的两人公司
- 4 12人的软件公司
- 5 24~50人的软件公司
- 6 100多人的软件公司
- 7 结论
- 附录B 国际化
- 1 需要考虑的国际化问题
- 2 国际化的最佳实现方式
- 3 小结
- 附录C 企业工作流程示意图
- 1 创建一张简单的工作流示意图
- 2 工作流实例
- 欢迎来到异步社区!
- 异步社区的来历
- 社区里都有什么?
- 灵活优惠的购书
- 社区里还可以做什么?
- 加入异步
- 版权信息
- 版权声明
- 看完了