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

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

3天内不再提示

成为一位成功的软件工程师应该尝试的几个事情

工程师人生 来源:网络整理 作者:工程师吴畏 2018-08-15 11:44 次阅读

回顾我的职业生涯(其实我还没那么老,不过入行确实不少年了),确实有几次人生拐点帮我更具职场智慧,并鞭策我成为软件工程师程序员,成为那种要么热衷于提高自己的技艺,要么对混入管理层有兴趣,要么只是简单的期望扩大自己的知识面的人。我意识到,鉴于每个人目前的工作情况,有些建议可能并不适合于每一个人,尤其是假如你工作在一家对“谁可以和客户谈话”这种事都作出严格定义的公司的话。所以如果你现在做不到全部这些,也不必烦恼。也要注意,有时,你需要的只是开口去问!

贡献到一个可行的开源项目

除非你与世隔绝,否则一定听过开源项目,也许你已经在Github或SourceForge上有一些小型的开源项目了。所有这些都是好的,但是我所说的“viable open source” 是指应当尝试在一个项目中做出重大意义的贡献,你的代码必须是通过审批的流程,如果被接受,将会在很多系统的系统中被应用到。你能从共享开源项目中学到的东西非常多。就我个人而言,它意味着:写更好的代码,更高效的沟通,有利的条件获得更多的工作机会,更高的报酬,更多的赞誉,更多了解其他观点和让自己有更厚的脸皮。最后一点,是说,你的代码在某些情况下会受到详细检查和批评。开源项目只是一个软件,并不是你一个人的(假设你即使遇到了一个很好的项目,请尽力将自己和项目区分开)。所以把接受批评当作是一个学习的机会,并将事情做得更好而不是令自己生气。不过这不容易做到,我自己有时也会与这种事情斗争,但是我知道如果不去想这些代码去谁写的,这些代码(和我)都能越来越好,而这才是最重要的。

参与开源项目者还有一个额外的优势,从雇主的角度看,我会更容易雇佣一些在能在生产环境上找到他们提交代码记录的人。对于技能差不多的候选人,任何时候,我都会他们当中选择开源项目贡献者。

销售你的软件

是的,我从字面上的意思是你应该去做电话销售,如果可能的话。换句话说,我认为你应该将自己放到极客的位置,时时的为他人用英语解释明白你在做什么,而不仅仅是你的同伴。如果你都不能解释清楚你做的是什么,其他人怎么能去购买它呐?

做前期销售对我来说是一个非常宝贵的事,因为需要一个真实的、存在的、活生生的客户站在面前,可以为他们解释为什么他们应该购买我的软件。在开始的几次,我做到了,我非常紧张(毫无疑问的事实就是我的工作起步阶段,我们也在尝试做得更好),但是我通过了, 得到了一些锻炼,得到了一些提升。

卖你写的软件会给你真正的观点你正在构建什么和为什么构建, 它还能让你接触到大量的使用案例和真实反馈,什么是好,什么是坏。它也将磨练你,同事也会带给你信心。你还可以得到更多的使用你写的软件而改善他们生活的人的尊重,另外,当代码不正确时你也会是第一个感受痛苦的人,这也会使你希望自己写出更好的测试代码。最后,从长远来说,它帮你看得更远。

支持你的软件

销售你的软件之后的另一件事就是支持它。找到一种你能工作在第一线的支持方式,或者至少参与到支持工作中,来使自己能够真切的体验到人们使用你的软件的各种方式:好的、不好的、甚至丑陋的方式。错误报告和升级是一方面,直接从客户听取意见则是另一回事。除了需要社交技巧,你也需要能够迅速的进入用户的使用场景,了解他们看待你的代码的方式,这将进一步告诉你哪些你做的很好,哪些你还需要改进。这也意味着要知道哪些该说哪些不该说,因为这是你和付费客户打交道时要把握的分寸。伴随着销售,也会带给你一个新的欣喜,即之前开发阶段的辛勤工作没有白费,它很好的支撑着软件支持阶段的工作。

写/培训与你软件相关的内容

如果你还没有弄明白我的意思,我将会解释清楚一点:我十分重视那些不单单能写代码并且在公司内部和向公司外部人员解释那些代码是什么和为什么这样写的工程师。通过撰写和培训软件相关的内容,你必须简明、清晰地解释复杂的技术细节。也需要经常强调那些从用户的角度看是不对的地方。我说不出多少次在写文章和培训的过程中发现功能或特性不是十分正确,从而回去修改代码。这种情况在API设计的过程中更加经常发生。

写作也可以增加你的曝光并带给你更广的观众群体,从而得到反馈并令你的作品更上一层楼。有很多,很多的机会可以去为网站或出版社撰写技术的文章。学着去推销你的想法(看,你又在销售了!)并坚持下去,下一步你就会发现你将会成为一名合格的作者并有可能从中获得回报。

结交一些新朋友

也许对我来说,在学习和机遇两个方面最大的一种变革力量,就是我对扩展自己人际网络的明确努力 。当然这并不容易,而且这肯定涉及要“使你自己身心投入其中”,但回报经常是极为显著的,而且以事后所见,其中的风险非常小。

如果在你直接接触范围之外没有太多的人际网络,我给你一些建议。首先最重要的,人际网络的关键是你必须真诚的与新朋友会面,而且你必须除了这个新的关系之外别无所求。其次,许下承诺去维持这样的努力数月乃至更久。当你获得更多的自信并从任何失误中获得经验之后,这将变得越来越容易。第三,做你自己,但要注重倾听他人。第四,这也是我最弱的方面,获知并记忆名字。我很少忘记一张脸,但如果我不努力去学习别人的名字,这些名字就会在我脑中溜走,所以记住别人的名字,让别人知道你看重他们。

除了这些技巧,还有许多关于这个主题的好书。我最喜欢的有一本“爱是杀手锏”。就我看来,这是一个做作的标题,但书中的建议都是干货,而且作者很好的将它呈现了出来。在每天结束时,让你自己沉浸其中,从你获得的实际反馈中学习。如果你发现自己被太多次拒绝,问问一位信任的朋友,让他给你在何处改进的真实意见。如果有困惑,找别的朋友讨论。

额外建议: 找到导师

有可能你已经知道一些令你尊敬的人物,他们拥有解决复杂问题和高效沟通的能力。如果他们愿意与你分享他们的经验,并给你改进方法的反馈,那么自然有了胜算。从他们的经验和教训中学习,对他们的建议保持开放的态度。虽然它不会总是正确,但你至少应该考虑一下他们说的是什么,之后再做出决定。就我个人来说,我很幸运拥有一个朋友,他也是一个高管教练(我们意外的相遇,证明了使自己投入某事的价值)和一家企业所有者。在好多年里,我也遇到许多好老板和好同事,他们充当了我的人生导师,我对他们感激不尽。在开始以前,问问自己最敬佩谁,然后去和他们讨论你的想法。如果你找不到可以胜任此角色的朋友,甚至可以考虑雇佣一位教练。

完结

请记住,所有这些事情是你可以在这里和那里周期性的做。 他们通常并不需要很大的时间或货币的承诺,但他们确实需要你走出你的安乐窝。

最后,我很高兴听到一些程序员/工程师做这些事之后,确实改善了他们的职业/生活。你工作是什么?哪些工作没有起到作用?

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

    关注

    8

    文章

    217

    浏览量

    21113
收藏 人收藏

    评论

    相关推荐

    FPGA算法工程师、逻辑工程师、原型验证工程师有什么区别?

    ,还需要与软件工程师、硬件工程师紧密合作,对整个系统进行集成和测试。 总的来说,FPGA 算法工程师着重于算法优化,FPGA 逻辑工程师专注于逻辑设计,FPGA 原型验证
    发表于 09-23 18:26

    嵌入式软件工程师如何提升自己?

    ,可以为自己的职业生涯打下坚实的基础,并实现个人的职业目标。愿每一位嵌入式软件工程师都能在这个充满挑战和机遇的领域中取得成功!
    发表于 06-12 11:20

    索尼诚邀软件工程师参与PS免费手游平台设计

    据悉,近日,澳大利亚知名媒体TweakTown发现,索尼互动娱乐正在为其旗下的PlayStation Studios Mobile招募名资深的软件工程师,负责设计PlayStation的免费手机游戏平台。
    的头像 发表于 05-23 17:08 685次阅读

    上海汽车芯片工程中心与半导体签署重要战略合作协议!

    5月15日,上海汽车芯片工程中心有限公司(简称:上海汽车芯片工程中心)与上海半导体科技有限公司(简称:
    的头像 发表于 05-20 09:25 682次阅读
    上海汽车芯片<b class='flag-5'>工程</b>中心与<b class='flag-5'>功</b><b class='flag-5'>成</b>半导体签署重要战略合作协议!

    嵌入式软件工程师和硬件工程师的区别?

    嵌入式软件工程师和硬件工程师的区别? 嵌入式软件工程师 嵌入式软件工程师软件开发领域中的种专
    发表于 05-16 11:00

    为何国外工程师偏爱使用for(;;)来实现MCU死循环?

    一位工程师发现,国外工程师在给demo在做死循环时用的是for(;;),而不是常用的while(1)。这仅仅是个人习惯的问题,还是有更深层次的含义?
    发表于 04-01 11:26 572次阅读
    为何国外<b class='flag-5'>工程师</b>偏爱使用for(;;)来实现MCU死循环?

    如何入门硬件工程师

    想跨行业做硬件设计工程师应该如何学习规划呢
    发表于 03-17 21:49

    Cognition发布首款AI软件工程师Devin

    据报道,Cognition公司今日公布了其首款人工智能软件工程师——Devin,掀起了打造软件模式变革的序幕。该产品在SWE-bench代码测验中展现出卓越表现,甚至超过了部分顶级人类工程师的水准。
    的头像 发表于 03-13 10:57 583次阅读

    嵌入式软件工程师常用的

    最近我换工作了,看见不同嵌入式软件工程师用的平台都不样,所以我整理了下。PlatformIO:多平台支持:PlatformIO支持多种嵌入式平台,包括Arduino、ESP8266、ESP32
    的头像 发表于 12-24 08:00 621次阅读
    嵌入式<b class='flag-5'>软件工程师</b>常用的

    优秀电源工程师的必备技能大揭秘!

    随着电源市场的不断扩张,开关电源行业飞速发展,企业对电源工程师的需求日益增加,对电源工程师的技能要求也日渐提高,相信没有一位电源工程师会错过让自己变得更优秀的机会。作为
    的头像 发表于 12-19 08:23 1667次阅读
    优秀电源<b class='flag-5'>工程师</b>的必备技能大揭秘!

    #人工智能 #FPGA 怎么成为个合格的FPGA工程师

    fpga工程师
    明德扬助教小易老师
    发布于 :2023年12月18日 21:19:01

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

    方案,要求理解嵌入式系统架构,有定的C语言基础,熟悉ARM、protel设计软件,有四层板开发经验。 成为优秀的嵌入式硬件开发工程师需具备以下技能:由需求分析至总体方案、详细设计的规
    发表于 12-05 15:17