|
本帖最后由 brotherlamp 于 2015-1-13 13:45 编辑 一个初级程序员真实的故事
我们正在和客户开会,他提出了一个有关于项目的想法。他想让我们给他提供一个能支持其项目技术要求的系统架构草案。关于这一点,我也明确地告诉他,增值开发需要对架构重新调整。
当我提及找一个合适的架构也是一个需要学习的过程,他一下子打断了我,并说了下面这句话:
难道我还得支付你学习的费用吗?
为了节约时间,我告诉他,我指的是业务领域,我们只有充分理解之后才能提供正确的架构。
你希望你的项目是由一个不熟练的网站开发团队的吗?
除非你高薪外包,否则大多需要一个软件开发团队为你工作。如果这个项目已经跨越了一年或更多的时间,你会怎么看待这个貌似一直都没有提升水平的团队?
软件开发是公认的知识驱动型产业之一,然而很多人不知道为什么会认为开发人员很容易掌握解决任何给定问题所需要的一切技能。
编程语言在不断地进化。关系型数据库在不断地增加新的功能。新出来的NoSQL数据库可能大多数人都不曾用过。成功的框架在不断地推出新的版本。新技术(例如响应式编程和微服务)出现的同时,其他一些以前我们不屑一顾的技术则在不断地增加其魅力(例如函数式编程)。
想要掌握所有的技术和方法,不花时间是不可能的。
什么时候应该考虑提升程序员的水平?
当然也有那种对编程充满激情的程序员会将他们的业余时间都用在了看书、阅读技术文章、学习新技术上面,但你不能否认的是,这样的例子真的不多。
大多数程序员会选择在工作过程中学习所有需要使用的知识,而如果你不能给他们投资,那么他们在这个团队中永远也不会成长。
最合适的时间和地点是在工作时学习软件技术。
遗憾的是,并不是每个在这一行的人都赞同我的这个看法。企业主不愿意花资源(时间和金钱)来培养他们的开发人员。
这可能是看待问题的角度不同,因为很多人觉得这种投资是得不到任何直接或间接回报的——纯粹是在浪费资源。但是如果你计划周密,它就很容易变成一种盈利的投资。
以盈利为目的的学习
高品质的软件需要扎实的知识和专业性的判断,但是积累技能需要的并不仅仅是阅读。你得成为一名积极主动的学习者,用最大的限度获取知识。
我曾经是一个被动的学习者,只是阅读书籍和文章,虽然知道个大概,但实际上并没有什么大的进步。
当我提笔写这篇博客的时候,我发现教学相长也是一种学习技能的好方法。
当我成为一个活跃的StackOverflow的用户时,这种感觉就更加明确了。
当我开始做一个开源项目时,我终于明白,原来学习只是艰苦工作的一个副作用。
上面这些经历让我深深理解了什么是主动学习。
从商业角度看,我们不难预见,这类投资的收益可能来自:
一个更加熟练的开发团队能在失败风险更低的情况下操作更加复杂的项目。
在掌握了一定的技术之后,可以为大家提供专业的培训和咨询服务。
写书,通过自助出版程序出售。
还有一点就是,专业类的技能总是特别畅销。
投资于开发技能绝对物有所值。很多开发人员都喜欢那种能促进自我成长的工作环境,所以这一招其实也有利于于留住员工。
开始这个学习的旅程并没有人们想象的那么困难,下面我将介绍一些我非常欣赏的有关于主动学习的活动:
准备培训材料
比方说,你想要在你的公司推广特定的核心技术技能,那就可以分配给部分开发人员去研究和准备有关于这个课题的培训材料。
讲习班的效果会比一个简单的演示要好。在准备好培训材料之时,其实你已经对相关知识和培训基础有了一定的积累。然后就可以就此技术开始提供培训或咨询服务了。
公司博客
每一家软件公司都有其积累的经验,但是很少有人能真正和其他人分享。这时候,开个公司的技术博客或能有助于相互之间的交流。高品质的博客可以显示出你的专业知识和专业能力。
你还可以与DZONE/JavaCodeGeeks建立战略作伙伴关系,这样也可以促进你的业务发展。
在StackOverflow上回答问题
StackOverflow的作用很多人都会低估。如果你真的想要成为某个领域的专家,那么你就应该开始往那个特定的方向回答问题。在你回答问题的同时,也在巩固自己的知识领域。
总而言之,重复是学习之母。
开源项目
如果你想要提高你的设计和编码技巧,那么你就应该踏足开源项目。
框架的作者大多非常地严谨,他们的代码审查可以教会你很多最棒的编程实践。如果你的公司经常需要使用某一种开源技术,那么回过头去好好学习一下是很有必要的。对待框架问题最好的途径就是老老实实地解决掉它。
没有人比它的维护人员更了解这个框架的了。
写文章和卖书
你可以将你的经验都概括在书中。写书也是一种非常有意思的学习过程。只有当你写完的那一刻,你才能说你真正地掌握了这方面的内容。
亚马逊提供了一个自助的出版程序,有需要的话可以它的帮助。
结论
学习可以让你的公司增加竞争优势。产品代表的就是公司,软件产品的质量反映了开发团队的专业程度。
最后,我要告诉你的是,你投资的并不仅仅是个人,也是在投资自己的公司。
免费领取LAMP兄弟连原创PHP视频教程光盘/《细说PHP》精要版,详情咨询官网客服:http://www.lampbrother.net
大家可以订阅一下邮件,我会时不时的给大家分享IT相关教程及书籍。
http://list.qq.com/cgi-bin/qf_invite?id=ea7d919ad263169bce2be53a3e16da0f0ec55ac36513c68e
|
0
0
相关文章
PHP 升级:使用 PHPStan 阻止回归
什么是 PHP?为什么要学习它?
释放 Laravel 的力量:构建高质量应用程序的技巧
探索 Laravel:增强您的 Web 开发之旅
创建 Laravel 工厂和播种机的快速指南
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具
相关专题
本专题系统整理batoto漫画官方网站最新可用入口,涵盖最新官网地址、网页版登录页面及防走失访问方式说明,帮助用户快速找到batoto漫画官方平台,稳定在线阅读各类漫画内容。
127
2026.02.25
本专题系统整理Steam官网最新可用入口,涵盖网页版登录地址、新用户注册流程、账号登录方法及官方游戏商店访问说明,帮助新手玩家快速进入Steam平台,完成注册登录并管理个人游戏库。
17
2026.02.25
本专题面向全栈开发者,系统讲解基于 TypeScript 构建前后端统一技术栈的工程化实践。内容涵盖项目分层设计、接口协议规范、类型共享机制、错误码体系设计、接口自动化生成与文档维护方案。通过完整项目示例,帮助开发者构建结构清晰、类型安全、易维护的现代全栈应用架构。
15
2026.02.25
本专题聚焦 Python 在数据工程场景下的实际应用,系统讲解 ETL 流程设计、数据抽取与清洗、批处理与增量处理方案,以及数据质量校验与异常处理机制。通过构建完整的数据处理流水线案例,帮助开发者掌握数据工程中的性能优化思路与工程化规范,为后续数据分析与机器学习提供稳定可靠的数据基础。
1
2026.02.25
本专题围绕 Java 在复杂业务系统中的建模与架构设计展开,深入讲解领域驱动设计(DDD)的核心思想与落地实践。内容涵盖领域划分、聚合根设计、限界上下文、领域事件、贫血模型与充血模型对比,并结合实际业务案例,讲解如何在 Spring 体系中实现可演进的领域模型架构,帮助开发者应对复杂业务带来的系统演化挑战。
1
2026.02.25
《Golang 生态工具与框架》系统梳理 Go 语言在实际工程中的主流工具链与框架选型思路,涵盖 Web 框架、RPC 通信、依赖管理、测试工具、代码生成与项目结构设计等内容。通过真实项目场景解析不同工具的适用边界与组合方式,帮助开发者构建高效、可维护的 Go 工程体系,并提升团队协作与交付效率。
18
2026.02.24
《Golang 性能优化专题》聚焦 Go 应用在高并发与大规模服务中的性能问题,从 profiling、内存分配、Goroutine 调度、GC 机制到 I/O 与锁竞争逐层分析。结合真实案例讲解定位瓶颈的方法与优化策略,帮助开发者建立系统化性能调优思维,在保证代码可维护性的同时显著提升服务吞吐与稳定性。
9
2026.02.24
Golang 面试题精选》系统整理企业常见 Go 技术面试问题,覆盖语言基础、并发模型、内存与调度机制、网络编程、工程实践与性能优化等核心知识点。每道题不仅给出答案,还拆解背后的设计原理与考察思路,帮助读者建立完整知识结构,在面试与实际开发中都能更从容应对复杂问题。
6
2026.02.24
《Golang 运行与部署实战》围绕 Go 应用从开发完成到稳定上线的完整流程展开,系统讲解编译构建、环境配置、日志与配置管理、容器化部署以及常见运维问题处理。结合真实项目场景,拆解自动化构建与持续部署思路,帮助开发者建立可靠的发布流程,提升服务稳定性与可维护性。
5
2026.02.24
热门下载
精品课程
共18课时 | 1.3万人学习
共6课时 | 2.1万人学习
共107课时 | 19.3万人学习
最新文章
