程序员工作总结与计划 篇一
作为一名程序员,工作总结与计划对于个人的职业发展至关重要。在过去的一年里,我参与了多个项目的开发和维护,对自己的能力和技术水平有了一定的提升。在这篇文章中,我将总结自己的工作经验,并制定下一步的计划,以持续提高自己的技术能力和职业发展。
首先,回顾过去一年的工作,我参与了两个重要项目的开发。在这些项目中,我负责前端开发和与后端团队的协作。通过这些项目,我学习了新的前端框架和技术,如React和Vue.js,并在实践中掌握了它们的使用。同时,我也深入了解了后端开发的流程和技术,如RESTful API和数据库设计。这些经验使我在项目中的表现更加出色,也提高了我解决问题和合作的能力。
然而,我也意识到自己在某些方面还有待提高。首先,我希望能够加强对算法和数据结构的学习。这些基础知识对于程序员的职业发展至关重要,能够帮助我更好地理解和解决问题。其次,我计划深入学习云计算和大数据技术。随着云计算和大数据的快速发展,这些技术将成为程序员必备的技能之一。通过学习和实践,我希望能够掌握云计算和大数据的基本概念和应用。
为了实现这些目标,我制定了以下计划。首先,我将每天抽出一定时间来学习算法和数据结构,通过刷题和参加算法竞赛来提升自己的解决问题的能力。其次,我计划参加相关的培训课程和学习资源,如云计算和大数据的在线课程和教材。通过系统学习和实践,我相信我能够掌握这些技术并应用到实际项目中。
总结来说,在过去的一年里,我在工作中取得了一些进步,但也发现了自己的不足之处。通过总结经验和制定计划,我希望能够持续提高自己的技术能力和职业发展。我相信通过不断努力和学习,我能够成为一名更出色的程序员,并为团队和公司的发展做出更大的贡献。
程序员工作总结与计划 篇二
作为一名程序员,工作总结与计划是我个人成长和职业发展的重要一环。在过去的一段时间里,我在项目开发和团队合作中取得了一些成就,也遇到了一些挑战。在这篇文章中,我将总结自己的工作经验,并制定下一步的计划,以持续提高自己的技术能力和职业发展。
首先,回顾过去的工作,我参与了几个重要项目的开发和维护。通过这些项目,我学习了不同的编程语言和技术,如Java、Python和JavaScript。我也深入了解了不同的开发框架和工具,如Spring、Django和Node.js。通过实践和经验积累,我在项目中的表现逐渐提高,也对自己的技术能力有了更深的认识。
然而,我也发现了自己的一些不足之处。首先,我希望能够加强对软件工程的学习和实践。软件工程是程序员必备的知识之一,能够帮助我更好地组织和管理项目。其次,我计划深入学习人工智能和机器学习的相关知识。随着人工智能的快速发展,这些技术将成为程序员必不可少的技能之一。通过学习和实践,我希望能够掌握人工智能和机器学习的基本概念和应用。
为了实现这些目标,我制定了以下计划。首先,我将参加软件工程的培训课程和学习资源,学习项目管理和软件开发流程的知识和技巧。其次,我计划参加人工智能和机器学习的在线课程和实践项目,通过实际项目的经验来提高自己的技术能力。我也会积极参与开源社区和技术论坛,与其他程序员进行交流和学习。
总结来说,过去的工作经验使我有了一定的成长,但也让我看到了自己的不足之处。通过总结经验和制定计划,我希望能够持续提高自己的技术能力和职业发展。我相信通过不断学习和实践,我能够成为一名更优秀的程序员,并为团队和公司的发展做出更大的贡献。
程序员工作总结与计划 篇三
以我的经历归纳7点:
1认识自己:在做什么、要做什么。安排自己手头工作要掂量的起轻重缓急,即懂得时间管理。
2学习新知识。一来拔高自己的知识和技能层析、提升竞争力,二来为团队储备技术、获得提拔。---最好有博客、社区互动。
3让leader和同事放心:以闭环结果为导向,总是能按时按量完成自己的任务--而不是做了、经历了
4团队建设:及时和同事沟通,团队精神,而不是闭门造车
5沟通表达:跟用户、同事进行清晰、有效、恰当的沟通,说服别人与之协作,推动项目的前进---要有耐心。
6空闲状态:项目全面进入测试阶段或者一个项目完结、另一个未曾开始阶段---积极学习、总结、研究、读书
7自我反省:根据自己的性格特点规划职业生涯----
你过去对自己的认识正确吗?
你现在处在你理想中的位置吗?
你的职业生涯在向正确的方向前进吗?
你准备好迎接新的挑战了吗?
你需要做些什么,以使自己忙碌并能富有激情?
如果通过上述反省,你觉得必须改变一下,那么,越早采取行动越好。
程序员工作总结与计划 篇四
7.5.3系统测试和调试
1.系统测试的意义及目的
系统测试是为了发现错误而执行程序的过程,成功的测试是发现了至今尚未发现的错误的测试。
测试的目的就是希望能以最少的人力和时间发现潜在的各种错误和缺陷。应根据开发各阶段的需求、设计等文档或程序的内部结构精心设计测试实例,并利用这些实例来运行程序,以便发现错误。信息系统测试应包括软件测试、硬件测试和网络测试。硬件测试、网络测试可以根据具体的性能指标来进行,此处所说的测试更多的是指软件测试。
系统测试是保证系统质量和可靠性的关键步骤,是对系统开发过程中的系统分析、系统设计和实施的最后复查。根据测试的概念和目的,在进行信息系统测试时应遵循以下基本原则:
·应尽早并不断地进行测试。测试不是在应用系统开发完之后才开始进行的。由于原始问题的复杂性、开发各阶段的多样性以及参加人员之间的协调等因素,使得在开发各个阶段都有可能出现的错误。因此,测试应贯穿在开发的各个阶段,尽早纠正错误,消除隐患。
·测试工作应该避免由原开发软件的人或小组承担,一方面,开发人员往往不愿否认自己的工作,总认为自己开发的软件没有错误;另一方面,开发人员的错误很难由本人测试出来,很容易根据自己编程的思路来制定测试思路,具有局限性。测试工作由专门人员来承担会更客观,更有效。
·设计测试方案的时候,不仅要确定输入数据,而且要根据系统功能确定预期输出结果。将实际输出结果与预期结果进行比较就能发现测试对象是否正确。
·在设计测试实例时,不仅要设计有效合理的输入条件,也要包含不合理、失效的输入条件。测试的时候,人们往往习惯按照合理的、正常的情况进行测试,而忽略了对异常、不合理、意想不到的情况进行测试,而这些可能就是隐患。
·在测试程序时,不仅要检验程序是否做了该做的事,还要检验程序是否做了不该做的事。多余的工作会带来副作用,影响程序的效率,有时会带来潜在的危害或错误。
·严格按照测试计划来进行,避免测试的随意性。测试计划应包括测试内容、进度安排、人员安排、测试环境、测试工具和测试
资料等。严格按照测试计划进行测试可以保证进度,使各方面都得以协调进行。
·妥善保存测试计划和测试例子,将其作为软件文档的组成部分,为维护提供方便。
·测试例子应是精心设计出来的,可以为重新测试或追加测试提供方便。当纠正错误、系统功能扩充后,都需要重新开始测试,而这些工作重复性很高,可以利用以前的测试例子,或在其基础上修改,然后进行测试。
2.测试过程
测试是开发过程中一个独立且非常重要的阶段,测试过程基本上与开发过程平行进行。
一个规范化的测试过程通常包括以下基本的测试活动。
(1)拟定测试计划。在制定测试计划时,要充分考虑整个项目的开发时间和开发进度以及一些人为因素和客观条件等,使得测试计划是可行的。测试计划的内容主要有:测试的内容、进度安排、测试所需的环境和条件、测试培训安排等。
(2)编制测试大纲。测试大纲是测试的依据。它明确详尽地规定了在测试中针对系统的每一项功能或特性所必须完成的基本测试项目和完成测试的标准。
(3)根据测试大纲设计和生成测试例子。在设计测试例子的时候,可综合利用前面介绍的测试例子和设计技术,产生测试设计说明文档,其内容主要有被测项目、输入数据、测试过程、预期输出结果等。
(4)实施测试。测试的实施阶段是由一系列的测试周期组成的。在每个测试周期中,测试人员和开发人员将依据预先编制好的测试大纲和准备好的测试例子,对被测软件或设备进行完整的测试。
(5)生成测试报告。测试完成后,要形成相应的测试报告,主要对测试进行概要说明,列出测试的结论,指出缺陷和错误。另外,给出一些建议,如可采用的修改方法,各项修改预计的工作量及修改的负责人员。
3.测试策略和测试方法
软件测试方法分人工测试和机器测试。
1)人工测试
人工测试指的是采用人工方式进行测试,目的是通过对程序静态结构的检查,找出编译时不能发现的错误。经验表明,组织良好的人工测试可以发现程序中30%~70%的编码和逻辑设计错误。
人工测试又称为代码审查,其内容包括检查代码和设计是否一致,检查代码逻辑表达是否正确和完整,检查代码结构是否合理等。主要有3种方法。
·个人复查:指程序员本人对程序进行检查。由于心理上的原因和思维惯性的影响,对自己的错误一般不容易发现,对功能理解的错误更不可能纠正。因此,这种方法主要针对小规模程序,效率不高。
·抽查:通常由3~5人组成测试小组,测试人员应是没有参加该项目开发的有经验的程序设计人员。在抽查之前,应先阅读相关的软件资料和源程序,然后由测试
人员扮演计算机的角色,将一批有代表性的测试数据沿程序的逻辑走一遍,监视程序的执行情况。人工检测程序很慢,只能选择少量简单的例子。
·会审。测试人员的构成与抽查类似。在会审之前,测试人员应该充分阅读相关资料,比如系统分析说明书、系统设计说明书、源程序等。测试人员应尽可能多地列出典型错误。在会审时,由编程人员逐句讲解程序,测试人员逐个审查、提问。通过这种方式,往往可能使编程人员发现自己以前没有意识到的错误,使问题暴露=会审后,要将发现的问题登记、分析、归类。
·代码复审应该在被测软件编译成功之后。编译都不通过的软件,当然谈不上复审。在复审期间,应保证有足够的时间,让测试小组对问题进行充分的讨论,这样才能有效地提高测试效率,避免出错。
2)机器测试
机器测试是把设计好的测试例子作用于被测程序,比较测试结果和预期结果是否一致。如果不一致,就说明可能存在错误。机器测试只能发现错误的症状,无法对问题进行定位。
机器测试分为黑盒测试和白盒测试两种。
(1)黑盒测试也称为功能测试。将软件看成黑盒子,在完全不考虑软件内部结构和特性的情况下,测试软件的外部特性。进行黑盒测试主要是为了发现以下几类错误:
·是否有错误的功能或遗漏的功能?
·界面是否有误?输入是否正确接收?输出是否正确?
·是否有数据结构或外部数据库访问错误?
·性能是否能够接受?
·是否有初始化或终止性错误?
(2)白盒测试也称为结构测试。将软件看成透明的白盒。根据程序的内部结构和逻辑来设计测试例子,对程序的路径和过程进行测试,检查是否满足设计的要求。其原则是:
·程序模块中的所有独立路径至少执行一次。
·在所有的逻辑判断中,取“真”和取“假”的两种情况至少都要执行一次。·每个循环都应在边界条件和一般条件下各执行一次。
·测试程序内部数据结构的有效性等。
4.软件测试步骤
软件测试实际上可分成4步进行。
1)单元测试‘
单元测试也称为模块测试,在模块编写完成且无编译错误后就可以进行。如果选用机器测试,一般用白盒测试法,多个模块可以同时进行。
测试一个模块时需要编写一个驱动模块和若干个桩(stub)模块。驱动模块的功能是向被测试模块提供测试数据,驱动被测模块,并从被测模块中接收测试结果。桩模块的功能是模拟被测模块所调用的子模块,它接收被测模块的调用,检验调用参数,模拟被调用的子模块功能,把结果送回被测模块。
2)组装测试
组装测试也称为集成测试,就是把模块按系统设计说明书的要求组合起来进行测试。
即使所有模块都通过了测试,但在组装之后,仍可能会出现问题:穿过模块的数据被丢失;一个模块的功能对其他模块造成有害的影响;各个模块组装起来没有达到预期的功能;全局数据结构出现问题;另外,对于单个模块来说其误差可以接受,但模块组合后,可能会出现误差累积,最后到不能接受的程度,所以需要组装测试。
通常,组装测试有两种方法:一种是分别测试各个模块,再把这些模块组合起来进行整体测试,即非增量式集成;另一种是把下一个要测试的模块组合到已测试好的模块中,测试完后再将下一个需要测试的模块组合起来,进行测试,逐步把所有模块组合在一起,并完成测试,即增量式集成。非增量式集成可以对模块进行并行测试,能充分利用人力,并加快工程进度。但这种方法容易混乱,出现错误不容易查找和定位。增量式测试的范围逐步扩大,错误容易定位,而且已测试的模块可在新的条件下再测试,使测试更彻底。
3)确认测试
经过组装测试之后,软件就被集成起来,接口方面的问题已经解决,将进入软件测试的最后一个环节——确认测试。确认测试的任务就是进一步检查软件的功能和性能是否与用户要求的一致。系统方案说明书描述了用户对软件的要求,所以是软件有效性验证的标准,也是确认测试的基础。
确认测试,首先要进行有效性测试以及软件配置审查,然后进行验收测试和安装测试,经过管理部门的认可和专家鉴定后,软件即可交给用户使用。
4)系统测试
系统测试是将已经确认的软件、计算机硬件、外设和网络等其他因素结合在一起,进行信息系统的各种组装测试和确认测试,其目的是通过与系统的需求相比较,发现所开发的系统与用户需求不符或矛盾的地方。系统测试是根据系统方案说明书来设计测试例子的,常见的系统测试主要有恢复测试、安全性测试、强度测试、性能测试、可靠性测试、安装测试。
5.调试’
调试的任务就是根据测试时发现的错误,找出原因和具体的位置,进行改正。调试工作主要由程序开发人员来进行,谁开发的程序就由谁来进行调试。
目前常用的调试方法有如下几种:
·试探法。调试人员分析错误的症状,猜测问题的所在位置,利用在程序中设置输出
语句,分析寄存器和存储器的内容等手段来获得错误的线索,一步步地试探和分析出错误所在。这种方法效率很低,适合于结构比较简单的程序。
·回溯法。调试人员从发现错误症状的位置开始,人工沿着程序的控制流程往回跟踪代码,直到找出错误根源为止。这种方法适合于小型程序,对于大规模程序,由于其需要回溯的路径太多而变得不可操作。
·对分查找法。这种方法主要用来缩小错误的范围,如果已经知道程序中的变量在若干位置的正确取值,可以在这些位置上给这些变量以正确值,观察程序运行的输出结果。如果没有发现问题,则说明从赋予变量一个正确值开始到输出结果之间的程序没有错,问题可能出在除此之外的程序中,否则错误就在所考察的这部分程序中,对含有错误的程序段再使用这种方法,直到把故障范围缩小到比较容易诊断为止。
·归纳法。归纳法就是从测试所暴露的问题出发,收集所有正确或不正确的数据,分析它们之间的关系,提出假设的错误原因,用这些数据来证明或反驳,从而查出错误所在。
·演绎法。根据测试结果,列出所有可能的错误原因。分析已有的数据,排除不可能和彼此矛盾的原因。对余下的原因,选择可能性最大的,利用已有的数据完善该假设,使假设更具体。用假设来解释所有的原始测试结果,如果能解释这一切,则假设得以证实,也就找出了错误;否则,要么是假设不完备或不成立,要么有多个错误同时存在,需要重新分析,提出新的假设,直到发现错误为止。
程序员工作总结与计划 篇五
光阴如梭,20xx年的工作转瞬即将成为历史,伴随着新年钟声的临近,我们依依惜别硕果累累的20xx年,满怀热情的迎来即将到来的20xx年。在这年终之际,现对来公司一年的时间里所作的工作汇报如下:
1、正义erp项目的编码工作。从了解新疆正义项目的背景、及计划安排,熟悉正义公司制度及业务流程,再到熟悉新能开发模式,之后我根据需求调研报告,从基本的数据库创建,到编码,完成了销售部、生产部、采购部、质检部四个模块的基本单据的制单、审核、选单、查询、打印等系列的编码工作;完成了正义项目的模块测试及流程测试。
通过这段时间的努力,使我个人的耐心、细心程度及对工作的合理安排得到了锻炼,学会了在繁忙之中找条理,危难之中找希望。同时自己也有一些不足之处,一些细节地方技术上还不太成熟,还需加以学习与钻研。
2、正义erp项目的实施工作。从xx月初开始进行正义项目的实施,每天早起赶在企业上班前赶到企业进行erp的实施。实施期间主要是软件的安装实施及对企业的erp系统的使用人员进行软件使用培训;纪录客户使用过程中出现的问题,晚上下班后加班加点将每天的小错误及客户变更修改完毕。
通过这项工作,使我原本欠缺的业务能力得到了很大的提高,并学到了很多与客户交流的技巧及业务上的知识,更加明晰了erp系统的流程。但离一个成功程序开发人员的标准还差得很远,在今后工作中,定会多多注意,加以改善。
3、帮助和使用手册文档的编写。帮助的编写使我熟悉了dreameweaver和fireworks的使用,为后期的oa开发也奠定一定的基础,使用说明的编写,使我更加加深了项目开发的整体思路与技术要点,总结了前期开发和实施中碰到的问题,并又一次的对软件整体进行了测试,对暴露出的小bug进行了最后的修改。
4、利用工作之余的休息时间加强学习。通常注意收集有关pb方面的资料文件,提高自己的处理新问题和解决新问题的能力,并加强学习java及oa方面的知识(现转为学习。net),为后期的工作打好基础。
以上为本人粗略的个人工作小结,请领导审阅,如工作上有不到之处,请领导不吝指出,以便本人及时改正,从而能更好地工作。
展望临近的20xx年,我会更加努力、工作上认真负责,再接再厉,更上一层楼。相信自己会完成新的任务,能迎接新的挑战。
程序员工作总结与计划 篇六
把时钟拨回到xxx年的夏天,大学毕业。那时非常迷茫,不知道能做什么,想做什么,对工作有一种期待和憧憬,只是觉得计算机、网络有关的职位都可以投递简历。
xxxx年5月12日,南下广州,开始找工作。或许,因为运气好、加上笔试不错、人也比较老实,第一份工作敲定了,任职于一家教育培训机构公司网络部,主要工作内容为web网站开发,算是自己的入行职位。
经过大概半年的努力,自己表现出来的专业能力、勤奋、以及奉献精神,得到了部门经理的认可。自己在人才招聘方面、组员工作安排方面也能参与发表一些意见和想法。同时,经过半年左右的工作学习,对该职位所需要的专业知识和技术能力都基本掌握,自己也能比较快的解决遇到的问题。工作内容变的比较多、杂,开发web网站、公司内部管理系统、电脑网络维护、网站客服、等等,除了自学,无法接触到更专业方面的东西。
xxxx年上旬,自己萌生去意,主要原因是公司不是专业的公司,无法在技术上再提升,薪水也较低(1500),最终在xxxx年5月离职,第一份工作结束,工作时间一年多几天。
总结第一份工作,自己的收获是从学生到工作的角色转变,入行了,了解到工作是什么样子了,技术能力上也有一些成长。
因为对第一份工作怀着特别深的感情,自己没有在职先去投简历应聘,坚持用心上班到最后一天。离职后,开始考虑找下一份工作问题。当时自己想到三个职位,按优先级排为:软件测试、web网站开发、flash开发。其中软件测试是觉得测试是该职位未来比较靠经验、比较热门的职业,而flash开发则是因为在上一份工作中独自完成了的一个小。投了不少简历和参与不少面试,软件测试和web开发职位求职并不顺利。最终,6月底面试一个flash开发职位成功。
xxxx年,我们都知道,这是网页游戏开始爆发式成长的一年,各类网页游戏公司如雨后春笋搬的创立,游戏产品遍地开花。市场上对flash开发人员需求急剧增大,给flash开发者们带来了无限的机会。正是在这个浪潮下,自己走上了游戏开发之路,这也是之前自己未曾料想到的。
回到刚才所说面试成功了一个flash开发职位,当时是一家香港公司外设广州的开发部门,要求使用as3负责小游戏的开发,因为之前没有使用过as3,所以做这份工作对自己来说压力非常巨大。正是这份意外的flash开发工作,让自己成为了flash开发程序员。这份工作只做了两个月,主要原因是团队散漫,自己与同事们没有太多交流,做的不快乐。正好有了另外一家大型网络公司的机会,薪水相对第一份工作也已翻番,于是闪电离职。
xxxx年9月2日,新加入第三家公司,感觉非常大、非常专业,是个集团公司,创始人和管理层都是知名的业内人士,公司当时有3百多人,部门设立、规章制度感觉非常完善,刚入职有培训,福利、工作环境都不错,这份工作在当时自己看来,是非常不错的。进入公司后跟着总监进行开发,两人独立负责一个新网页游戏(后面基本就我一个人负责了)。项目开发采用flex,自己买了本书边学变开发,工作压力不是特别大。总监对自己的学习能力、开发进度、沟通能力、积极主动性都还是非常认可的。这个项目开发了大约5个月,时间来到xxxx年1月份,公司经营状况和管理层发生了大变化。公司大量裁员、项目冻结,自己由于积极的和总监其其他相关负责人沟通,正是因为这种主动的态度,自己在项目组被砍掉的情况下转入另一个、也是公司唯一一个正在开发、准备运营的项目中,而之前项目组其他同事全部裁掉了。裁员后的公司开始变的很动荡、人心浮躁、工作压力骤升,团队成员一个个离开,最终自己在6月初也离职,这份工作只做了9个月,但给自己带来了非常重要的积累,关于技术、项目管理、产品运营、开发流程、团队合作等都有了初步的认识和理解,专业方面对开发所需的基础编程知识已基本掌握,游戏模块开发方面已没有太大的问题了。
因为参与过大型游戏的经历、以及游戏市场对该职位人员的巨大需求,相对来说找下一份工作就比较好找了。当时自己的想法是离开广州,年轻就要拼搏,而拼搏就要到最有机会的地方去,游戏开发,在当时(到现在也是)北京和上海(乃至深圳)是机会最多、最好的地方,于是专门往北、上、深三大城市的公司投递简历,包括新浪、搜狐、巨人、腾讯等大公司。虽然,当时自己做过游戏开发,但经验尚浅,要找大公司还是难度很大的,最终北、上、深的求职无果,后来到了一家位于广州相邻的城市—佛山的一家公司。
xxxx年6月,入职新公司。(因为我依旧在公司就职,就不透露公司名了,直接用“公司”二字表示,下文中涉及到开发的项目也会分别用代号表示)
网页游戏经过xxxx年的发展,市场上出现了一批挣大钱的游戏,如热血三国。大量投资者和公司开始投入网页游戏的研发当中,市面上也出现了各种不同类型的网页游戏,策略战争类、儿童社区类甚至rpg类游戏等都有成功之作。在这个大环境下,佛山公司成立了,公司老板美术出生,做个人站/专业网站近十年,之前一直在上海做公司,因为有了佛山合作的机会,独身来到佛山,组建了新公司(后面上海公司就注销了),上海公司之前主要积累在于flash动画平台资源,在游戏开发方面也没什么经验。佛山公司准备组建大概15人的研发团队,开发5—8人,美术5—8人,老板任项目经理兼策划及美术总监,研发项目为q版儿童类社区游戏(下面称为a项目),预计研发时间为半年至一年。
入职这家公司有两个值得提的原因,一是自己想离开广州这座喧嚣的城市,想到安静的地方闭关修炼学习;而这个公司在当时从环境各方面来说都符合我的想法;二是有一个细节,就是去面试,和面试官(老板)谈完准备离开的时候,他主动给了来回车费,这个是我不曾想到的。这个细节让我觉得公司老板是一个愿意分享的人、公司也是可以信赖的。虽然说换这个工作换了城市、要搬家,但当时来说,自己没有想到会在这里一呆就是4年,并且广州离佛山也很近,自己并不需要下多大的决心去选择这个公司和这份工作。
我是在公司成立一周后开始上班的,是公司的第一批员工,算是公司的“创业元老”。当然,那时候没有什么创业的概念,只是当做一份工作,只是现在回过头去看,四年做的事情,遇到的问题、和所付出的心血我觉得与自己创业并没有太大区别。
我入职后一个月左右研发团队基本完善,工作陆续展开,一开始团队做一些简单的功能模块和基础功能点,我主要负责模块开发,时间没过多久,出现了一个偶然的机会,把自己推上了准组长的位置,担负起了主程和组长的职责,也让自己有了从另一个角度去看待问题、处理问题的机会,关注团队开发效率、关注整体。
a项目在逐步往前推进,不过现在想起来,似乎没有特别明确的开发计划和产品方向,因为整个团队都没有太多做游戏的经验,于是就照着市面上的同类型的成熟产品来做,依葫芦画瓢,觉得不好的地方加入我们的想法。以q版儿童社区游戏为主题,展开功能,一路开发、一路摸索、一路修改。期间,调出了几个同事进行花园、牧场游戏以及一些休闲小游戏的开发,想把它们整合进游戏中去。同时,公司又接了腾讯的一个休闲游戏外包项目,由我负责客户端开发,大概持续了2个多月。
自己负责腾讯外包那个项目在那时是从工作以来感到压力最大的时候,时间紧、任务重,最主要的是遇到问题得全靠自己解决,没人能帮自己。在那段时间,开创了晚上睡公司的历史记录。最终项目虽然有些bug和拖延,还是比较顺利上线了,对方也给了比较高的评价,也为后来和腾讯的一系列合作打下了基础。经过这个项目,自己在技术、做事方法、抗压能力方面都有了提高。
整个团队就这样的状态做了大概7个月,时间来到了xxxx年春节,此时,市面上的儿童社区游戏比09年初已经多出了很多,儿童页游市场变成一片红海,盈利状况非常不乐观,而我们的a游戏按计划还需要好几个月才能推出。春节过后,大概3月份的样子,老板决定我们需
要调整方向,改为回合制rpg游戏(因为调整特别大,这里就把调整后的游戏称为b项目吧)。这个决定在当时来看是无奈的、但是是符合市场需求的调整。整个团队就按照新目标来开展工作了。
xxxx年初,公司又有一个机会和某个事业单位合作,把a项目改造成一个和世博会相关的、适合青少年玩的项目(暂成为a+项目),公司又把大部分精力和人力转入到这个项目的研发中去了,我负责了这个项目的对外、对内沟通的职责。4月底,a+项目上线,但经历了极其悲催的事情——在在线人数很少的情况下出现了服务器宕机,这件事在未来几年在团队中都留下了“阴影”。a+项目需要我写很多技术说明性的文档和ppt演示文档,那时似乎自己花在写代码上的时间不是很多,每天的事情很杂,写文档、沟通策划、沟通工作安排等等,这个经历也一定程度上锻炼了自己的文档能力和处理问题的能力。
a+项目是一个合作性的非营利性、阶段性的项目,到6月份后基本就不需要怎么管了,公司全部精力重新回到b项目。b项目做的并不太顺利,xxxx年的6月份距离09年初创公司时已经过去1年,公司启动资金已经用完,老板只能靠借钱发工资了,各方面压力开始增大,加班也比较频繁了。9月份,b项目基本可以测试体验,10月份实现技术封测(不太记得是10月份还是11月份了)。那一年国庆,假期自己也没有回老家,和老板及技术总监一起呆在公司弄着游戏的事。产品一直在调整、修改,修bug,与此同时,公司也在寻求新一轮的融资,和很多机构、个人、公司有接触谈判,当然,这主要是老板做的事,只是作为同事,能感受到这种环境和压力。
时间很快,又来到了xxxx年春节,又一个转折点快发生了。
xxxx年初,之前那个a+项目合作方提出新的需求,希望和我们合作继续开发一款关于宣扬低碳意识的游戏,(暂定为c游戏),于是我们继续分出几个同事对这个项目进行开发,我依旧担任项目对内外沟通的负责人。在这里值得说一下,合作方是一个政府较小的事业单位,和公司及老板有很多年合作的历史。这类游戏项目主题受限制、没有太多开发经费和盈利要求,我们也只是作为外包的态度去看待。
xxxx年春节放假前,团队拼全力在b游戏的完善上,希望发布一个比较稳定、完善的版本。而此时,市场上已经发生悄然变化,回合制战斗类产品已经多的让人眼花缭乱,其中还不乏高品质、大推广的游戏,甚至还出现了不少arpg。这样的环境给我们带来了严峻的考验,一是我们觉得的我们自己的产品似乎没有特别突出的卖点、二是我们在用户、渠道推广方面没有太多的资源和经验,更重要的是:老板层面寻求的游戏联合运营和融资方面一直没有有效的进展,公司账户一直是负数状态。春节放假期间,老板做了一个艰难的决定:决定假期后只少数几个员工按计划上班(我是其中一个),大部分员工延长假期,待公司确定上班时间后再通知。而上班的几个同事先重点研究、分析b项目的情况,针对项目存在的问题,有的放矢,确定未来半年这个项目的计划。
计划赶不上变化快,就在我们在对项目进行整理的那段时间里,我们又有了一个合作的机会,和国内一互联网巨头(暂就称为t公司)的游戏部门合作开发一款关于汽车的游戏,我们临时做了比较详细的准备,产品方案、开发计划,召开电话会议等,但由于一些原因最终没有合作成功。不久,t公司之前和我们有过沟通的人为我们引荐了t公司的另外一个部门,准备合作另外一个关于时尚购物的项目(暂定为d项目)。对这个新项目我们非常期待,因为t公司有着特别巨大的用户资源和平台,如果能合作成功,对我们来说,风险可以降到很低。我们积极的准备产品方案和材料,希望能得到他们的认可。和t公司的沟通大概持续了1个月时间,这段时间我们b项目和c项目的工作没有停止,公司员工陆续回来上班。一方面我们继续老项目的完善,另一方面我们在和t公司进行d项目的沟通和准备。3月底,d项目基本确定,和t公司合作开发。刚得知合作成功的消息时,公司同事还是比较兴奋的(特别是
老板),大家都对这个项目充满期待,当然,也有担忧、迷茫和疑问。(和t公司的合作,后面回过头看来,其实主要还是以我们公司为主,对方只是在初期发表一些意见和看法,他们所承诺的帮助最终由于各种原因也没有达到预定的目标)
d项目确定后,我们就把b项目彻底放弃了!从09年创立公司打算的a项目,再到把a改造成b项目,时间已经过去近2年!而如今,因为各种原因,要把b项目放弃,这是何等的无奈和遗憾。过去近两年的努力基本白费,大家心里都有些不甘。时至今日,每每说起这个项目,心里多少都还会惋惜。
我们对d项目做了了详细的开发计划,采用快速迭代开发、小步快跑的方式。开发时间准备1个半月,然后上线。当时,在facebook上有一款同类的游戏,我们以它为原型,进行修改调整符合我们本土的风格和玩法(后来,我们又做了很大的玩法上的创新和完善)。我们加班加点的赶工,晚上也在公司,假期也基本都在公司,遇到事情处理事情、遇到问题解决问题,最终通过团队的努力,6月份完成了上线内测,8月份登录空间、9月初开始收费,游戏各方面的数据都表现不错。
那时,团队也迎来了一次较大调整,陆续有同事离开,一方面工作压力巨大,另一方面公司财务长期得不到改善,用“苦”和“累”这些词语已经很难表达完自己的感受了。很多人对公司的未来、项目的未来、自己的未来充满了疑惑、迷茫,对是否坚持产生了动摇。值得一说的是,在那次团队变化过后,之后的两年里,团队就基本没有大变化了,所以我们现在的核心团队都是一起打拼了4年的同事,人数少、效率高,沟通简单、直接、高效。
d项目上线后,有了收入,相对就平稳了。公司主要工作就是收集玩家需求,开发新功能上线。差不多一年多的时间(大概持续到xxxx年的12月份),我们一直在通过各种方式增加用户、增加留存,提高付费渗透率。xxxx年4月到xxxx年12月期间,我们还上线了c项目,以及为t公司的其他部门开发了外包项目及其他合作的小项目。因为时间不是很长,也不是公司主要方向,在这里就不详细介绍了。
d项目的开发过程非常艰苦,最明显缺的就是开发人员,这么大的一个游戏项目,包我就只有2个客户端开发人员、一个半服务端开发人员(为什么算半个是因为前期有2个,后期只有1个了),没有专职测试,老板任项目经理兼美术总监兼策划兼商务。所有人都是在高压力、同时又是疲惫的状态下工作。自己更是不仅要写程序,关注团队,很多时候还需要兼任客服、以及一些过往项目的对外沟通。自己不知有多少个日夜,凌晨、甚至通宵还在写代码、修bug,新功能刚刚开发完就要赶着上线,然后无穷的bug和错误、甚至低级的错误。很多问题是由于时间匆忙、工作流程、人手有限等各方面的原因导致的。自己那时也承受着巨大的压力和遭受了很多委屈。
值得欣喜的是d项目可以算作一个成功的项目。项目维持在20—50万左右的日活跃,每个月有几十万的流水(有几个月快接近百万),在如此激烈的竞争环境中起得这样的成绩也算是对我们辛苦付出的一个汇报,值得我们这种小团队值得高兴的事情了。因此在xxxx年春节,公司首次派发奖品:每人一台ipad,这也是自己工作以来首次获得的大价值奖品/奖金。但从公司层面来说,从xxxx年6月到xxxx年12月,三年半时间,依旧还在贫困线上徘徊,依旧还有很长的路要走,依旧任重而道远。
xxxx年11月份后,d项目活跃人数开始缓慢下降,收入基本稳定但呈下降趋势。做了一些调整和活动但效果不明显,我们开始把人力资源转向新项目的开发了。关于新项目,本文不做详细介绍(留着下一个6年的回忆录里写),开发了大半年,时不时被暂停转去做其他事情,项目进展基本顺利,预计今年6月份内测。