0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一名平凡软件开发工程师的故事

工程师人生 来源:网络整理 作者:工程师吴畏 2018-07-15 10:27 次阅读

电信、银行等行业一直是许多人非常向往的工作单位,清差厚禄,旱涝保收,陈皓却不以此为然。所以当记者采访他的时候,他连用了两个“最”字来形容他离开银行的成就感。

陈皓毕业后的前两年就职于云南省工商银行,从事银行电信内全国性业务系统开发。后来在全球最大的网格计算/分布式平台软件公司从事研发工作,熟悉Unix系统以及C/C++语言,擅长大型系统软件需求分析、设计、架构、实施和维护,目前是某全球金融信息数据处理公司的技术主管。

随波逐流

回想当初,陈皓颇有感慨。还在大三的时候,他就被系里优先推荐给了工行。那时他参与了系上的一个项目(用HTML+Java开发一个在线教学课件),由于当时国内根本买不到HTML和Java的书,而学校也没有上网条件,所以关于HTML和Java对系里的老师都是比较新的东西,当开发完成后,系里对此评价比较高。因此就在大三下学期把陈皓推荐给了工行。

由于早早地被银行“预定”,所以陈皓的大四生活很自由,整个一年他基本是在一家很小的软件公司打工度过的。就是在那家公司工作的经历,让陈皓后来产生了离开银行的念头。

那家公司主要做些MIS系统,陈皓不仅获得了一定的实际工作经验和能力的锻炼,还习惯了软件公司高节奏、快学习、充满挑战的环境和氛围。这造成了他毕业后到银行工作时极度的不适应——效率低下,工作毫无激情,工作当中充满了相当复杂的人际关系和政治斗争。

最主要的是,由于初到银行,很多技术和产品从未见过,而主要实施却由外面公司来完成,银行自己内部中有经验的人又不愿意与人分享知识。虽然可以拿很多红包,整天也很清闲,不是看报纸就是打游戏,但陈皓感觉到那并不是自己喜欢的工作,没有任何激情和斗志可言。和大四时在那个软件公司中的技术氛围相比,完全就是天壤之别。

所以在银行工作的这两年,陈皓天天都在彷徨和思想斗争,“因为没有自己的职业规划,所以,浪费了至少两年的时间”。最后,陈皓打定信念,决意离开去寻找自己的道路。

“因为我是在一个相对比较闭塞的城市(昆明),所以,我要离开银行的决定遭到了父母、同学、朋友、同事,几乎是身边所有人的反对。但最终,我还是一意孤行离开了银行,远走他乡到上海这座大城市去寻找自己的人生道路。”

“从此,我走上了一条不可回头,并和以前完完全全不一样的道路。”从国企到民企再到外企,从打杂到程序员再到高级程序员到team leader到技术主管,从小酒店MIS到企业OA到全国性的大系统到世界领先的分布式计算平台集群软件,“若干年过去了,经历了高速的发展和获得了很多不同的经历,但唯有当时选择离开银行这件事情让我至今都为之兴奋。迄今为止,这是我自己觉得最最有成就感的事情。”

正如陈皓所说,“也许,最让一个人感到最有成就的事情,不是他做成了什么,而是他选择了什么。”

认识自己

多年打拼后,陈皓虽已是技术主管,但走的那些弯路,浪费的两年时间,一路中的心酸让他明白了很多道理。“今天,我对许多刚上路的朋友都会说,人生的规则很重要,从上大学时就要好好规划,这对国人来说尤其重要。因为对于国人来说,人生的头20年都是被别人规划的,导致了自己根本不会给自己做规划。这点是相当危险的。”

人生短暂,属于自己黄金的时间不多,如果把太多的时间浪费在寻找道路和方向上,很有可能会导致一事无成,要及早确定自己的规划,然后照着这个规划坚定不移的去执行。陈皓认为,做规划时最重要的是两个方面:一是清楚地认识自己的能力、优势和性格;二是确定自己的专业和想从事的行业。只有在确定这两方面后,才能做出自己的职业规划。

两方面看起来很简单,但认识自己并不是一件容易的事情。陈皓认为应当从下面十五个方面审视和认识自己,帮助自己确立人生规划:A)所掌握的知识,B)问题的解决能力、判断能力和分析能力,C)对待困难的心态,D)团队合作能力,E)表达能力和语言组织能力,F)创造和创新能力,G)沟通能力,H)自己的性格内向还是外向,I)是否有坚韧不拔的专研精神,J)自己的弱点和性格上的缺陷,K)学习能力,获得知识的能力,L)领导组织能力,M)目前自己能够进入的企业,N)目前自己在社会中的地位,O)目前自己的竞争实力。

职业规划就像软件工程

确定了自己的行业和专业领域后,接下来的事情应该是:1)努力掌握这个行业的知识,2)用最短的时间了解这个专业和行业更为具体的各个子方向。然后在实际过程中再认识自己。比如,选择了计算机行业,应该尽量地尝试软件、硬件网络、娱乐、媒体等计算机行业不同方向的工作,如果从事软件,又分Web、系统、项目、ERP、CRM、数据库、嵌入式……,在工种上又分开发、测试、技术支持、流程管理,项目管理,系统架构,售前,售后……。当然,我们并不需要去尝试所有的工作或工种才能知道自己适合什么,我们完全可以向从事不同方向的人咨询并结合自我认识来做出判断。

在这个过程中,迷茫的摸索可能是很难避免的。能够及时得到前人的指点可能会是一个捷径,征求前人的建议可以起到参考的作用,快速原型(快速尝试)或许也是好的办法。因为人与人不同,他人的路并不一定适合自己,适合自己的路还要自己去规划,别人是帮不上忙的。

要经常性地跳出自己再来看自己,客观地分析自己的优势和劣势。让自己和别人掂量掂量自己到底几斤几两,了解到自己的长处和特点,然后才能知道自己适合做怎么样的事和并调整自己的职业路线,这是一个“肯定到否定再到肯定”螺旋上升的进化过程。当度过对自己对社会的“陌生期”后,才有谈得上对自己人生和职业的规划。

个人的职业规划就像软件工程。我们都知道软件项目最大的敌人是需求的不明确和需求的大面积变更,同样,在个人的职业规划中,自我需求的不明确和需求的变更也是非常危险的,尤其是在职业计划实施了四五年后需求的变动和改变。只有需求确定以后,才谈得上个人的职业设计的HLD(High Level Design)和LLD(Low Leave Design),以及具体实现。此后随着自身的日益成熟,可以随时为自己的Bug打补丁(Patch)改进自己的职业生涯的设计和实施细则(Enhancement),并为自己加上更多更强的能力(New Feature Requirement)。最终达到软件版本的升级。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 工程师
    +关注

    关注

    59

    文章

    1553

    浏览量

    67495
收藏 人收藏

    评论

    相关推荐

    优秀电源工程师需要哪些必备技能?

    就带大家细数下优秀电源工程师具备的那些技能。、新手必备课程成为一名电源高手需要扎实的理论基础,涉及电路原理、语言编程和控制理论等多个学科领域。为了帮助大家更好地掌握电源
    发表于 01-29 11:29

    嵌入式软件开发软件开发的区别

    嵌入式软件开发软件开发是两个不同的概念,它们在一些关键方面有着明显的区别。嵌入式软件开发是指开发嵌入在硬件设备中的软件,而
    的头像 发表于 01-22 15:27 576次阅读

    嵌入式硬件和软件哪个好?

    嵌入式硬件和软件哪个好? 嵌入式软硬件工程师哪个更有前途呢?起来看看。 嵌入式是分为软硬件工程师的,首先我们先来看看嵌入式硬件工程师吧!
    发表于 12-05 15:17

    FPGA工程师需要具备哪些技能?

    、设计思路 FPGA芯片是开发高速数字电路设计的理想解决方案之。FPGA芯片基于HDL的设计方法允许工程师使用高级语言进行设计。因此,FPGA工程师需要具备设计思路能力,包括分析需
    发表于 11-09 11:03

    如何成为一名优秀的嵌入式工程师

    如何成为一名优秀的嵌入式工程师?嵌入式学习的第步,首先是C语言。 1.理解内存管理:C语言不同于高级语言,它不会自动管理内存。因此,你需要理解并掌握如何使用malloc()、free()等函数
    发表于 11-07 15:36

    Rockchip RK3399软件开发指南

    本文档主要介绍 Rockchip RK3399 软件开发指南,旨在帮助软件开发工程师更快上手 RK3399 的开发及调试。
    发表于 10-10 07:15

    电源工程师常用的几个典型电路分享

    具有电源知识水平的工程师来完成设计和开发。作为一名合格的电源工程师平时工作经验的积累很重要,但同时也应该提高理论水平,通过积累几个常用的电源电路,说不定下次就能用上,还是学习吧!
    发表于 09-20 07:59

    软件开发必读!华为云软件开发生产线 CodeArts 深度体验指南

    者们,码住! “当编码(Code)遇上艺术(Arts) ,开发工程师、程序员等可以像艺术家一样创作创造。” 华为云软件开发
    的头像 发表于 08-25 13:43 781次阅读
    <b class='flag-5'>软件开发</b>必读!华为云<b class='flag-5'>软件开发</b>生产线 CodeArts 深度体验指南

    Multi ICE 2.2版用户指南

    本文档使用ARM软件开发工具包(SDT)或ARM开发套件(ADS)开发环境为Windows或Unix平台上的多ICE用户编写。 假设您是一名对ARM架构有
    发表于 08-12 06:39

    一名硬件工程师都具备哪些技能?

    芯片嵌入式物联网STM32
    学习电子知识
    发布于 :2023年08月02日 12:54:00

    RTX低功耗软件开发(三)

    软件开发
    橙群微电子
    发布于 :2023年07月11日 15:48:14

    热门推荐:硬件工程师必备工具

    硬件开发的工作流程般可分为:原理图设计、PCB Layout设计、采购电子BOM、PCB板生产、PCBA组装、功能调试及测试、小批量试产、大批量生产正式投放市场等步骤。 作为一名优秀的硬件
    发表于 06-21 10:15

    招labview工程师 (广州)

    招labview工程师1-2,工作地点:广州天河 负责仪器设备系统软件开发工作; 协助公司已有产品软件的维护及改进; 协助模块功能调试及系统搭建; 熟悉工业常用接口RS232、USB
    发表于 06-08 18:48

    上位机软件开发工程师

    岗位职责: 1、负责上位机软件程序设计和开发; 2、参与产线的需求分析和设计,满足客户需求; 3、根据技术协议配合电气工程师,提出上位机解决方案; 4、与电气工程师共同研发程序,完成通
    发表于 06-05 10:59 673次阅读

    礼赞五一 | 平凡的岗位,不平凡的坚守!致敬每个努力奋斗的电子工程师!

    获奖名单如下:电子工程师高赞礼品第一名:陈旭新第二:郭海聪 第三:陈运华 劳动节盖楼奖郭海聪 郭祥峰
    发表于 04-28 10:08