从业者:北辰鲤
从业年限:4年
一句话感受:我相信指尖有改变世界的力量
从业地点: 广州
对口专业:软件工程、计算机科学与技术等专业
从业门槛:大专及以上
能力要求:严谨的逻辑思维能力、优秀的学习能力,精通各种技术框架
晋升路径:初级工程师→中级工程师→高级工程师→项目负责人→技术总监
薪资水平:15万~20万元/年
入职提醒:要耐得住寂寞、忍受得了孤独、明白团队协作的重要性;要有严谨的逻辑思维和较强的抗压性,因为工作压力较大
我是一名Java软件开发工程师,外行人还赋予了我们特有的称呼——攻城狮、程序猿。
软件编程是信息时代的基石,我们现在所使用的网页、电商软件、购票软件……这些的背后,都离不开软件开发工程师的默默努力。我相信,“程序猿”的指尖有改变世界的力量。
这才是Java开发工程师的工作
常见的软件开发语言有Java、C、C++、C#、Go、.Net…… 每种编程语言都有各自擅长的应用场景,诸如我们日常使用的电脑系统Windows主要是用C++编写的。Java开发语言诞生于1995年,经过开发者几十年的不断努力,已经成长为构建现代企业Web应用后端最常用的编程语言之一。
作为一名Java软件开发工程师,我们的职责是根据开发进度和任务分配完成相应模块软件的设计开发编程任务,然后就是与Bug(程序错误,程序缺陷)做斗争的漫长过程,也就是代码调试分析阶段。
软件开发的流程大致如下:
第一阶段——需求分析阶段,相关的系统分析工程师会与用户初步了解需求、分析需求、确认需求;
第二阶段——概要设计阶段,架构师或项目负责人会对系统整体架构进行设计,其中包括系统组织架构设计、模块设计、数据结构设计、技术选型等;
第三阶段——详细设计阶段,这一阶段是在概要设计的基础上对软件系统进行详细设计;
第四阶段——编码阶段,这一阶段也是我负责的主要工作,针对用户需求开始具体地编写程序工作,分别呈现各模块的功能,从而实现对目标系统的功能、性能、接口、界面等方面的要求;
第五阶段——测试阶段,在该阶段,软件开发工程师开发完成后,将测试编写好的系统交给用户、测试工程师使用,用户一个一个确认功能是否能够正常使用。
第六阶段——交付阶段。
交付阶段之后就是验收、维护阶段,这就是软件开发的整个生命周期。
Java开发工程师忙碌的一天
对于软件工程师来说,每天的核心工作就是写代码,中间偶尔也会穿插一些项目评审会、需求沟通会议、技术分享交流会。
俗话说“好的计划是成功的一半”,作为一名软件开发工程师,要善于利用各项工具,合理规划好自己的时间,才能有条不紊地完成上级领导安排的开发任务。
我会于早晨八点半抵达公司,开始一天的开发工作。一般来说,上午的时间思路比较清晰,适合解决一些系统功能开发的难点,非常适合处理前一天遗留的棘手的技术问题。因为思路清晰,编程效率也会大幅度提升。
一上班先打开团队项目管理工具TAPD,查看仪表盘,根据任务优先级完成对应的软件开发任务。然后再打开编程工具——IDEA,全称 IntelliJ IDEA,是Java编程语言的集成开发环境。IntelliJ IDEA在业界被公认为最好的Java开发工具,尤其在智能代码助手、代码自动提示等方面非常出色,好的开发工具能够极大提高软件编程的开发效率。
两个小时后,第一个任务已经开发完成,将TAPD对应的任务状态改外转测试,等待业务人员进行测试、反馈。接着,全身心投入到下一个任务的开发工作中。在编程过程中遇到最多就是各种报错了,我需要根据报错的提示,对应调整代码,解决系统目前存在的问题。有些问题可能几分钟就解决了,而有些问题可能需要花费几个小时,甚至几天时间才能解决。
中午十二点,又到了补充能量的时刻,编程是一件十分耗费脑力的事情,午餐自然不能馬虎,公司食堂开了许多窗口,我偏爱“一碗香”窗口的湘菜。吃完饭后,回到办公室,我通常会午休四十分钟左右。中午适当地午休,是为了下午更好地工作。
下午,继续编程、测试工作,傍晚时分,戴上耳机,踏上了回家的路途。
享受技术带来的快乐
编程令人最大的改变在于专注力的提升,在做软件开发工作之前,我的专注力比较差,做事情经常是三分钟热度。而编程需要很高的专注力,当你全身心投入工作时,时间很快就过去了,转瞬即逝。
在很多人的眼里,编程是一件非常枯燥的事情,每天面对如同天书一样的代码,来来回回敲个不停。当然,我们编程人也有专属于我们的快乐,比如在代码中埋一些彩蛋,运用新技术解决一些技术难题,还有最令人欣喜的是来自于用户的肯定。近段时间,我为客户做了一个CRM系统软件,深受用户的好评,因为我做的软件,客户的效率有了明显的提升。
耐得住寂寞,忍受得了孤独
编程是一件漫长且枯燥的事,能够坚持的人并不多,很多人往往受不了这种孤独。很多朋友羡慕软件开发的薪酬,但许多人干了一段时间后就纷纷转行了。
编程最重要的是想法和心态,只有忍受得了孤独,才能在与bug斗争的过程中取得最终的胜利。想法和心态是提高编程水平的关键,编程水平的提高不仅需要大量的练习,还需要多思考、多琢磨、多学习。
博才多艺,不一样的“程序猿”
格子衫、沉默寡言、秃顶……这是外界对我们的刻板印象。我想告诉大家的是,我们也有属于自己的浪漫,我们不仅会写代码、还会写诗、写散文、弹钢琴、拉小提琴……
去年公司年会的时候,我们公司的前端小姐姐拉着小提琴,唱起了朴树的《白桦林》;程序员小哥哥弹着吉他,深深款款地为我们演奏了一曲《白莲花》;我自己呢?则爱好写作,近些年来,也在各大杂志发表了不少的文章。在这里,我想再三强调一下,我们程序员不是你们想象的那个样子!
不断学习,乐此不疲
软件开发是一个吃青春饭的行业,技术更迭迅速,年长的工程师确实在精力上比不上刚毕业的小年轻,但在技术上的积累,在项目上的积累也是小年轻不能比拟的。作为一名软件开发工程师,我们要紧跟时代的潮流,及时地更新自己的技术栈,这样才不会被时代抛弃。
我从业四年来最大地感受就是,软件开发是一件非常容易得到成就感的事情,我的偶像是比尔·盖茨,希望能够像他一样做出伟大的软件产品,造福于人类。作为一名软件开发工程师,我们不仅需要拥有严谨的逻辑思维能力,还需要有良好的沟通能力,这样才能更好地与团队的成员以及客户进行沟通。软件开发是一个团队运动,我们要明白团队协作的重要性,尽可能地按时、按质量完成自己的任务,在遇到难题的时候,及时地向前辈、上级领导请教,然后总结经验,进而提升自己解决问题的能力。
给想成为软件开发工程师的你一些建议
选择成为一名软件开发工程师要三思而后行,确认自己是否真的喜欢编程,不能光看薪酬就稀里糊涂进了这个行业,其次就是要不断地学习、积累、沉淀,多看大佬的技术博客,自己也可以用博客来分享自己的学习心得!
技术学习方面可以通过B站、博客园、CSDN、掘金、技术论坛等途径了解最新的技术,那里的同行可能也遇到了和你类似的问题,大多数问题都可以在那里找到答案!
在工作之余,要记得多运动、多锻炼,避免长时间地坐在工位上,尽可能地远离职业病!