软件开发的设计者或者说架构师之前都是做coder,然后随着工作经历的积累,一步一步走上设计师、架构师。但是有时候你们发现他们设计的大学往往很多让下面的程序员、执行者很难受,或者说有些让基层的开发者不知道怎么去实现?换个角度是他们的理解能力太差了。
我为什么要写这篇文章,上周以及周末看了ooad设计,其实这周部门培训面向对象的软件设计以及uml,这个我没有去参加,不是自己不想去,是自己没有机会去参加,参加培训的都是项目经理,而我只是一个小coder。其实我觉得这个吧,作为一些基层的软件开发者,写代码的程序员最应该去参加,为什么呢?整理设计是这些项目经理、架构师的来完成,但是代码的最终开发却是我们这些程序员去实现的,经常听他们说项目的代码怎么差怎么差,其实这不是写代码的人能力差,我来这个单位已经一年半了,我可以很负责的讲工作这段期间单位对的培训基本为0。单位给我感觉是需要我的体力劳动,而不是脑力劳动。很多时候我一天要改代码好几百个文件,都是一些ctrl+c、ctrl+v的工作,或者是简单的拷贝组件,当然也有一些新的开发,但是这些开发说不好听也基本上是在复制代码。我写这些不是说单位不注重培养我,说单位对我不怎么好?其实这些对我来说不是很重要,我们和单位之间其实就是一种金钱关系:我出卖了自己的劳动(脑力的、体力的),单位付给我薪水,其实就是这么简单。
之前上大学的时候,面向对象的设计以及uml、软件工程都学过,那个时候给我感觉是空空的,和纸上谈兵差不多。自己的成绩也不是很好,后来参加工作之前的培训,虽说培训中没有这些,但是我却自己想学这个,我之所以想学这个就是不想一直去做简单的coder,一直写那些重复的代码。有了实际的工作经验再去学习这个,就是理念结合实际。参加工作到了项目组,第一年自己是菜鸟,什么都不行,没想那么多,一直再找机会充实自己,可是说我现在的技术差不多都是那个时候学会,再加上自己的基础比较好和比较聪明。很多新工作的对单位的抱怨都很大,其实我觉得没有必要这样,第一年我觉得就应该是四个字:充实自己!我现在已经不是刚工作的菜鸟,但是自己仍然很低调。
经常有些人说一个项目的代码很差,垃圾代码太多,而他们往往抱怨的都是做coder的,为什么?他们觉得是做coder没有执行设计师、架构师的设计理念。差不多是这样,他们作为领导你们考虑过这些么?
做coder的程序员的能力怎么样,你们对他们的培训呢?往往是刚进单位的,就让他们去写代码,我们不是技术牛人,也不是天才,即便是,对于不同的项目,肯定会有这样,那样的要求。如果是这样那我们为什么还要这个单位,领那么微薄的薪水呢?那我们就可以去做设计师、架构师了!
做程序员的需要交流,每个人都有自己熟悉、精通的领域,三人行必有我师!可是作为领导的,你们给这些程序提供这个平台了么?你们可以说年会、例会等等,还有有项目组之前的交流,你们私下也可以交流。但是实际上,工作都已经让我们精疲力尽了,工作之后呢?睡觉,甚至在股市这么火的情况下,都没有机会去炒。项目之间的交流是项目经理之间,而不是两个项目的coder之间的。
你们了解每一个员工么?作为领导忙,事情多,这些大家谁都清楚。但是一个好的项目,除了要有一个好的领带,一批好的员工,还要有为领导真正做事的人,士为知己者死!如果领导对员工关心,员工工作起来当然会"卖命"了,每个项目经理都会有"自己"的人,就是这个道理!
后计:大家应该可以从我的文章,看出来了自己对单位,对于领导不重视自己有些不满;但我觉得这些都不重要,重要的是自己的能力与实力。等你同时具备这两点之后,领导不重视自己你可以炒他的鱿鱼。我还是那句话:充实自己!低调做人,高调做事!这篇文章我不怕让领导看见,如果要是真的领导看到了,我倒是觉得是一件好事,可惜偶的领导还不知道我的blog,就是他知道估计也没有时间看^_^
分享到:
相关推荐
### 敏捷软件开发方法理论与实战 #### 敏捷方法概述 敏捷软件开发是一种以人为本、灵活应变的软件开发模式,旨在通过迭代和增量的方式快速交付高质量的产品。相较于传统瀑布模型等预见性的开发方法,敏捷更加注重...
《敏捷软件开发原则、模式与实践》一书是由著名软件开发专家、软件工程...对于那些渴望掌握敏捷软件开发方法和实践的读者,本书不仅提供了理论知识,更提供了丰富的实际操作案例,是学习敏捷开发不可或缺的一本好书。
Martin(别名Uncle Bob)所著的指导书籍,旨在为软件开发人员、项目经理以及软件项目领导提供解决实际问题的方法和策略。本书将敏捷开发与极限编程的实践原则紧密结合,提供了丰富的实际案例,展示了如何在预算和...
它不仅关注理论,还注重如何将这些原则和模式实际应用到软件开发的过程中。因此,这本书为那些想要了解和掌握敏捷开发精髓的读者提供了丰富的知识和实用的指导。 在敏捷开发领域,Robert C. Martin是敏捷开发方法学...
软件开发工具与环境的不断发展和完善,推动了软件工程理论的进步,使得软件开发更加高效、规范和可靠。随着云计算、人工智能等新技术的应用,未来的软件开发工具将更加智能化,为开发者带来更大的便利。
这份讲稿不仅涵盖了软件开发的基础理论,更强调了在实际工作中如何有效地进行项目管理和团队协作,旨在帮助项目经理人提升专业素养。 一、软件开发过程 软件开发过程通常包括需求分析、设计、编码、测试和维护五个...
总体而言,《软件开发工具》这门课程的学习涉及到软件开发的理论知识与实践技能的有机融合。考生需要通过学习复习资料中的历年真题来检验学习效果,通过课件和实践部分的知识点来巩固理论知识,通过应用题来提升实际...
通过阅读和理解源码,可以深入理解如何将理论应用于实际开发,如何组织代码、设计数据库、处理用户输入等。 3. **数据库配置与SQL脚本**:在使用提供的源码时,需要对数据库相关配置进行修改,以适应个人环境。这...
通过学习这组PPT,学生们不仅能了解小组软件开发的基本理论,还能掌握实践中的工具和技术,为未来的职业生涯打下坚实的基础。对于任何参与软件开发的人来说,理解和应用PSP和TSP都是提升项目管理水平和开发效率的...
在实际应用中,精益软件开发管理通常结合敏捷方法,如Scrum或Kanban,以实现更灵活、更高效的开发流程。例如,Scrum的sprint周期可以用来定期检查和调整工作流程,而Kanban则强调可视化工作流程,以便更好地管理任务...
本文将围绕“安此理论”(假设指的是安全、稳定的开发理论)展开,探讨软件项目的生命周期,包括需求分析、系统设计、编码实现、测试和运行维护等关键环节,旨在帮助项目经理、架构师、系统分析员及有志于从事软件...
《软件开发环境与工具》实验指导书主要针对计算机科学与技术专业的学生,旨在通过8个学时的实验,让学生深入理解和应用软件开发...通过这些实践,学生能够更好地将理论知识与实际应用相结合,提升自身的软件开发技能。
在2014年的河北省职业技能大赛中,软件开发与设计项目实施方案是竞赛的核心内容,这一比赛不仅考察了参赛者的软件开发基础知识和实际操作能力,同时也对团队协作精神进行了全面的测试。该比赛分为理论知识考核和实际...
《03173软件开发工具》是一份针对自考计算机本科阶段的重要学习资源,包含了课件和笔记,旨在帮助学生...在实际学习中,结合实例操作和项目实践,将理论知识与实际应用相结合,会更有利于理解和掌握这些软件开发工具。
在实际操作中,软件开发过程与项目管理紧密相连。例如,敏捷方法(如Scrum或Kanban)强调迭代开发和快速反馈,这需要项目经理与开发团队密切协作,灵活调整计划。此外,风险管理、质量管理、沟通管理等都是项目管理...
《Modbus软件开发指南》是清华大学出版的一部深入解析Modbus通信协议的教材,旨在帮助开发者构建自己的Modbus Poll工具,以便在实际项目中进行有效的程序调试。这本书详细阐述了Modbus协议的基础知识、工作原理及其...
尽管理论上的开发与测试流程看起来很理想,但在实际操作过程中往往面临着诸多挑战。例如,由于时间和成本的压力,很多企业可能无法做到充分的测试,导致一些潜在的问题未能被发现。此外,由于技术更新换代的速度非常...
【标题】"川大软件工程开发与环境黄武的作业全"揭示了这是一份来自四川大学(简称“川大”)的软件工程课程的作业集合,由教师黄武教授指导。这个标题暗示了这份资源可能包含了多个学期或年份的作业,因为提到“每年...