70后游戏辅助开发程序猿的人生路(完结篇)

2024-05-07 10:08

本文主要是介绍70后游戏辅助开发程序猿的人生路(完结篇),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

       时间很快来到2014年,经一个朋友介绍,来到一个本地美容企业谈开发他们ERP的事。他们原来用的有一套系统,但是他们在使用过程中发现越来越多的问题,当他们找开发者的时候,开发者却告诉他们,这个实现不了,那个实现不了等等,于是他们就诞生了开发新的管理系统的需求。首先我给他们的承诺就是,“无论你们有什么需求,我都可以满足。”在这样的前提下,沟通好了需求和价格后,我就开始进入开发阶段了。系统采用CS结构,客户端发送数据给服务器端,服务器端从数据库中查询整理数据,返回给客户端,服务器端和客户端之间的通信,通过一个汇编写的DLL程序进行加密,其它部分全部采用易语言编写。之所以这么设计,应该是搞游戏时间长了,形成了惯性。其实后来,我又看了本行业其它管理软件,发现我这么设计,纯属给自己平白增加工作量,包括很多市场上大规模销售的管理软件,他们都是客户端直接访问数据库,根本不存在服务器端,也不存在通信加密。我一个人用了3个月的时间,整个系统开发完成,交付用户使用,在其后的半年时间里,还在根据他们的需求,不断修改完善。整个系统40多个功能模块,数据表72个,这种项目,对我来说,没有什么技术难度,全部都是苦力活,唯一要注意的就是要让系统稳定、长期运行,就必须检查、优化每行代码,任何可能出现错误的地方,都要加入错误判断、处理,任何打开的连接、资源、变量等都要及时释放。开始时,服务器运行一周左右后,就可能出现崩溃等问题,造成的原因通常是内存溢出、通信丢包等,经过无数次优化调整,目前可保证稳定运行100天以上无任何故障,而且服务器端EXE程序的资源占用不超过2M。

       由于该美容企业老板在全国美容行业内具备一定影响力,所以软件稳定后,我们就想能否把软将推广到全国。进行一番尝试后,仅仅销售出去两家,原因就是美容行业各家的管理制度、运营流程、营销策略、工资提成等都存在巨大区别,很难让大家统一用一套系统来完成管理。即使销售出去也两家,也为他们做了很多的定制,如果销售更多家,并且每一家都要定制,那么整个系统就会非常庞大,并且难以维护。这两家用户里,有一家规模很大,年营业额接近2亿,他们全省范围内有他们30多家门店,他们所有顾客数量接近20万,顾客各种卡项余额数据表超过100万,门店每天的销售、消费记录表,在1年后超过500万条数据。他们在年底结帐的时候,经常会有同时4、5家门店,在同一秒进行大数据量的查询统计。为了他们我又不断优化代码、算法等,目前他们对软件系统的稳定性和效率性上已经非常满意了,再后来他们要根据业务发展,要求我为他们定制功能时,我给他们报价,他们也从来不还价,从这个方面,我找到了一些成就感和满足感,说明我还是能做一些对社会有意义的事,并且能够得到客户认可的。

       通过这个系统的开发,再次说明一个问题,易语言并不像很多自认为是专业程序员的人的评价“是个玩具”。易语言开发效率高,让中国人更容易学习并理解编程逻辑,这些都是优点,而且开发出来的程序并不是玩具,同样可以负载大量的数据处理工作,我觉得它很适合做企业C/S结构的管理系统。它同样有缺点,不适合多人协作开发,不适合做高并发的互联网应用,不能做B/S结构的服务端等,如果易语言开发者能在这些方面努力改变的话,我想一定有更大的发展空间。

       2015年初,美容管理系统日益稳定,我又无所事事了,对于合格的程序员而言,没事干是很折磨人的。还好时间不长,一次机会让我认识了一批90后的创业小伙,他们在X宝上卖各种微信商城源代码,他们没有什么技术,但是推广做的很好。很快我就和他们达成协议,他们新建一个宝贝连接,就是“定制企业管理软件”,通过他们接到的单子,我们双方分成。效果还真好,2个月内,咨询的人不断,并且顺利成交了几笔,包括机票销售管理系统、汽车租赁管理系统、典当行管理系统等。这些单子,我也开始偷懒,嘿嘿,直接用客户端连接数据库,也不做加密了,开发效率显著提升,并且把用户管理、权限管理、部门管理、分公司管理、数据自动备份、数据导出、导入等都做成标准模块,达到代码大量复用的目的。开发很快,3个月内完成了3个项目的设计、开发、交付等,用户评价也非常好,都认为我是最好的开发人员,帮助他们解决了实际问题,过节的时候还有客户给我邮寄过节礼物。通过这些事情我感到社会上对C/S结构的程序还是有大量需求的,我通过自己的专业技术还是可以给很多人带来帮助的,这样的事情才是正能量的事,虽然挣钱不多,但是心里很满足。

       然而美好的时光总是过的很快,3个月后,90后团队接不到任何单子了,咨询的人也非常少了,一问原因我才明白,他们原来是利用X宝的某种漏洞,提高了自己店铺和宝贝的权重,现在漏洞被屏蔽了。我尝试找其它做推广的人,结果很令人沮丧,推广的成本会大于我开发软件的收费,那么再做推广,就没有任何意义了,软件定制做不下去了,我再次迷失了方向。这时我又认识了一个我家孩子的小朋友的一个家长,同行,也是做软件的,于是相约一起去喝两杯。深入了解后,得知他原来也是自己一个人在战斗,但是他做的是苹果的开发,他自己开发出了一款苹果工具软件,用来编辑苹果手机铃声的,他的软件在2014年苹果下载排行榜上排前10。后来同类软件采用刷榜等等见不得人的方式,把他打败,收入锐减,无奈之下去了日本一个软件公司工作,也是给企业做管理软件。人生唏嘘、英雄相惜,为什么我们空有技术,却失去方向。

       在那之后的几天,我一直在考虑方向,如何才能做一件事,长期的实现人生价值。最后我想好了,软件破解、游戏辅助类坚决不干,软件定制也不靠谱,一单干完,还找不到下单在哪,不符合长期稳定发展的目标。那么就只能干一种事,就是在互联网上运营某个平台或者产品,无论是否盈利,都是一种积累,而且竞争对手会很明显,可以通过各种办法打败对手(如果做网游辅助,你的竞争对手是谁?游戏运营商,他可以轻易把你打败),并且不能继续一个人在战斗。这样我继续开始在网上发布简历,寻找合适的公司。很快有人联系我了,他准备做一个互联网上的平台,类似的平台目前还没有,他有创意,有资金,没技术,我们一拍即合。我负责平台设计,研发等,他负责推广,2016年初我们正式开始了。

       任何一个互联网项目启动的时候,搞技术的人都是最忙的,我开始招募技术团队,设计软件模型,规划软件流程等。团队组建好后,进入开发阶段,整个平台具备PC、微信入口,计划为了加入APP。服务器端肯定得用JAVA开发了,JAVA的开发人员最好招嘛,前端无非就是H5 JS CSS。整个开发、测试过程经历3-4个月,在这几个月里,我为了将来APP做准备,自学了某个H5跨平台开发框架,并且利用该开发框架完成了一个公司内部管理APP的开发,学习的过程各种艰难,因为我用汇编语言和易语言时间太长了,它们基本都是结构化程序设计,而JAVA JS等,都是面向对象。学习的时候,各种不理解,各种别扭,看什么都别扭,明明一个简单的问题,非要搞几个对象来实现,代码是看的懂,但是为什么要这么做,却根本不懂。虽然APP做完了,但对于这些知识还仅仅是入门水平,并且做完后,就发现这样做出来的APP各种不爽,比如我没有办法控制当用户锁屏后,还让我的程序在后台运行,为了框架的服务人员,告诉我“要实现这个功能,你得用原生开发写服务”。晕、晕,我如果会原生开发,还用你干吗,这件事导致我对H5跨平台开发彻底失望。

       2016年底,平台终于可以上线运行了,我们研发部门的工作也相对轻松了。这个时候,易语言官方发布消息了,他们要推出一个移动跨平台开发工具“火山移动”,并且项目已经进入了尾声,项目2017年5月左右就能发布,这简直太好了,易语言终于开始跟上时代步伐了。为了迎接它,我开始学习安卓原生开发,JAVA这种语言,到目前我还是感觉各种别扭,也许还是时间短吧。目前我计划继续学习JAVA做原生开发,火山移动推出后,看看是否稳定好用。然后再一边学习GO语言,目前看了很多文章,分析它似乎比JAVA更适合做服务器端开发。无论如何,我的目标是在2017年结束的时候,自己完全掌握移动前端开发和GO语言服务器端开发,这样才能在互联网时代跟上潮流,当自己有想法或创意的时候,用自己的双手来完成 ,从而实现人生价值。

       写到最后,我只想告诉所有的骚年们,走在人生路上,不要把赚钱作为自己首要的人生目标,那样很容易迷失方向。人生的目标应该是,通过自己的努力能够成为一个对社会有用的人,这样你才能获得成就感,实现个人价值,同时获得他人的认可和尊重。我祝愿所有程序开发人员都能通过自己的努力和知识来推动我们社会的进步。

最后修改别人的一句话来作为文章结尾,

“我挥舞着键盘和鼠标,发誓要把世界写个明明白白。”

最后感谢“CSND”、“CCTV”、“MTV”、各种TV....

这篇关于70后游戏辅助开发程序猿的人生路(完结篇)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/967047

相关文章

使用Go语言开发一个命令行文件管理工具

《使用Go语言开发一个命令行文件管理工具》这篇文章主要为大家详细介绍了如何使用Go语言开发一款命令行文件管理工具,支持批量重命名,删除,创建,移动文件,需要的小伙伴可以了解下... 目录一、工具功能一览二、核心代码解析1. 主程序结构2. 批量重命名3. 批量删除4. 创建文件/目录5. 批量移动三、如何安

将java程序打包成可执行文件的实现方式

《将java程序打包成可执行文件的实现方式》本文介绍了将Java程序打包成可执行文件的三种方法:手动打包(将编译后的代码及JRE运行环境一起打包),使用第三方打包工具(如Launch4j)和JDK自带... 目录1.问题提出2.如何将Java程序打包成可执行文件2.1将编译后的代码及jre运行环境一起打包2

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

基于Python开发PPTX压缩工具

《基于Python开发PPTX压缩工具》在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,不便于传输和存储,所以本文将使用Python开发一个PPTX压缩工具,需要的可以了解下... 目录引言全部代码环境准备代码结构代码实现运行结果引言在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,

使用DeepSeek API 结合VSCode提升开发效率

《使用DeepSeekAPI结合VSCode提升开发效率》:本文主要介绍DeepSeekAPI与VisualStudioCode(VSCode)结合使用,以提升软件开发效率,具有一定的参考价值... 目录引言准备工作安装必要的 VSCode 扩展配置 DeepSeek API1. 创建 API 请求文件2.

基于Python开发电脑定时关机工具

《基于Python开发电脑定时关机工具》这篇文章主要为大家详细介绍了如何基于Python开发一个电脑定时关机工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 简介2. 运行效果3. 相关源码1. 简介这个程序就像一个“忠实的管家”,帮你按时关掉电脑,而且全程不需要你多做

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo