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

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

3天内不再提示

为什么要成为高级程序员

工程师人生 来源:工程师吴畏 2019-07-11 16:51 次阅读

程序员到高级程序员的职业生涯要经历以下几个阶段:初级程序员、中级程序员、最后是高级程序员。

为什么要成为高级程序员?其实,很简单。为了生活下去和日常生活开销。人生下来就离不开,衣食住行,这些都离不开消费。因为你的薪水会随着你水平的提高而增加提升你的职业生涯。成为了高级程序员之后,就可以朝着架构师、团队负责人、CTO等职位前进。历经更大的挑战。随着你的成长,各种影响力也会提高。

怎样才能成为一名高级的程序员,这个值得去思考?想到解决问题的办法是关键。软件开发过程中是很难的。这一行业在不断变化中,所以你必须跟紧他的步伐。你必须不断地投入时间和精力,因为你需要学习的东西总是比你吸收的多。很多新手工程师甚至都不曾意识到他们如果想要攀登行业的高峰,要学习的东西、要付出的努力得有多少。不过,不用担心,下面我将指出一条“明路”有助于你成为一名软件工程师。

选择你的道路,坚持下去!

做一件事,就把它做好。——Doug Mcllroy《Unix Philosophy》

关于这一点,我真的是强调得不能在强调了。选择好你将与之并肩作战的专业和技术堆栈非常重要。坚持下去,不要分心。至于应该怎么做请看下面:

选择专业。也就是你想做的事情。例如:Web开发、移动开发、DevOps等。

选择专业中的实用技术。例如:如果你选择了Web开发,那你就需要在Ruby on Rails、Python、Django,JavaScript和MEAN等之间做斟酌。如果你选择的是移动开发,则需要在iosAndroid等之间做出选择。坚持下去,直到掌握这门技术。我的意思并不是说除了你的主要专业以外,你就不必熟悉其他的了。那种首屈一指的软件工程师通常对其他的编程语言和技术都非常了解,当然首先他们对他们自己的主要专业了解得非常剔透。当你确定好主要专业之后,接下来要做的就是学习,阅读所有相关的书籍、练习各种必要的技能,这可能需要很多年的时间。但是不要气馁,一步一个脚印,一个一个攻克难关,量变才能达到质变。关于技术,我的推荐是:Ruby on Rails之于web开发,ios之于移动开发。这是我是以一个过来人的身份告诉你的宝贵经验。不过我还是想补充一句,可能每个人的口味不同,我的经验也许并不适合你,你可以完全选择其他的技术,不过这样的话,你要阅读的书籍可能和我的推荐不一样了。

奠定基础

《The Pragmatic Programmer》对于我们掌握软件是一个很好的起点。该书总结了高水平的实践探索。这与我们使用的是什么语言、什么技术无关。无论你选择的是哪种技术堆栈,其主要的原理都是一样的。

掌握你的编程语言

你以后每天需要面对那种编程语言取决于你今天选择的技术。但是编程语言总有主次之分。

例如,Ruby on Raily开发人员主要使用Ruby,AngularJS开发人员大多数时间用的是JavaScript。

确定编程语言,掌握编程语言对你的职业生涯发展至关重要。因为以后你每天都会使用它!推荐你先阅读有关书籍。

《The Swift Programming Language》之于Ruby开发人员,以及《Programming Ruby》之于ios开发人员。

学习框架

选一个,好好学习。

对于Rails开发人员——《Rails Tutorial》by Michael Hartl

对于ios开发人员——《ios programming:The Big Nerd Ranch Guide》

掌握文本编辑器、IDE

选择一个,然后坚持不懈地掌握这个工具。如果你选择的是VIM,那将要成为它的主人,让它往东就往东。使用版本控制系统

我建议使用Git。下面是我喜欢的资源:Pro git——免费在线电子书,详细讲解了git的各个方面。

做好测试驱动开发

将TDD添加到你的技术堆栈中。,每天养成TDD的习惯。高质量的代码源于良好的测试。

对于Ruby on Rails开发人员——《Rail Test Prescriptions》

对于ios开发人员——《Test Driven ios Development》

将重构养成习惯

随着你不断添加更多的功能,代码库也会原来越复杂。为了保证代码库的可管理化,你需要重构。如果你不重构的话,你很跨就会陷入两年境地——即使是做很小的改动都很苦难、bug没法避免、没人愿意处理这个凌乱的代码库。重构能让你的工作更加轻松。至于怎么重构代码。我之前看过的一片博客:3000行代码可以重构成15行,http://9534381.blog.51cto.com/9524381/1602363,以及下面这本好书能教你该怎么做:《Refactoring: Improving the Design of Existing Code》by Martin Fowler

学习软件架构

根据你上面选择的堆栈,在学习相关的架构。我推荐Martin Fowler写的《Patterns of Enterprise Application Architecture》一书。

展示命令行的力量

刚刚开始接触命令行的第一感觉就是望而生畏。但是,一旦你学会如何使用,你将大大提高你执行一些基本任务的效率。而这本身就能让你成为一名更好地开发人员,因为你能在更短时间里实现目标。然后你就能进入写一个水平。使用shell自动执行常见任务,建立自己的dotfiles.图过你使用的mac或者Linux发行版,那么学会shell.下面这本书有Mark Bates所写的书挺不错:《Conquering the Command Line》

code code code

只有不断的练习学到知识,你才能真正掌握它。

总结

总所周知,成为一名高级软件工程师是非常难的。这需要大量的时间和精力。编码的同时还要注意代码的安全性,如果能事先就知道一些有效靠谱的解决办法,一定可以省下很多时间,推荐多了解下源码保护。不同的人他们的学习速度也是不尽相同,但是平均来说,大约需要10年的时间才能成为一名可靠的高级开发人员。你付出的各种投资最后必将给你带啦巨大的回报。软件工程师的前途很美好,其就业市场的需求一直居高不下,薪资水平也根据经验程度在提高。这是一个快速增长且相对较新的领域。软件工程师的每一天都在面临挑战:挑战改变人们的生活。

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

    关注

    4

    文章

    931

    浏览量

    29570
收藏 人收藏

    评论

    相关推荐

    薪资高、青春饭,是不是程序员=青楼?

    花期太短。技术迭代快,年龄大容易失业。 就这几年的互联网环境而言,不管是前端、Java、Android开发等等行业。已经感受到程序员不是太卷就是工作难找,薪资过低。以前高工现在拿着中低程序员薪资
    发表于 03-06 21:32

    1月18号“纯鸿蒙”千帆启航,程序员预备!

    。 如何正确看待鸿蒙? 我作为程序员来说,首先是看鸿蒙的发展、市场开发岗位、薪资以及前景。 这几年对鸿蒙的发展情况来分析,从2019年开始鸿蒙的出来今天,华为鸿蒙取得了很大的成就。从“不兼容
    发表于 01-16 22:13

    程序员表白程序

    电子发烧友网站提供《程序员表白程序.rar》资料免费下载
    发表于 11-21 10:41 0次下载
    <b class='flag-5'>程序员</b>表白<b class='flag-5'>程序</b>

    今天程序员节长沙出招 全国首个!长沙为程序员打造“1024街”

    命名为“1024街”。 “1024街”定位为全球首个完全展现程序员技术创新和引领行业发展的人文街道,有华为、湘江实验室、北京大学长沙计算与数字经济研究院、中科曙光、长沙知识产权保护中心等多家企业与机构入驻,是名副其实的程序员街。长沙成为
    的头像 发表于 10-24 14:29 354次阅读

    程序员节 | 今年程序员们都想要的礼物竟然是……

    原文标题:程序员节 | 今年程序员们都想要的礼物竟然是…… 文章出处:【微信公众号:微软科技】欢迎添加关注!文章转载请注明出处。
    的头像 发表于 10-24 10:35 266次阅读
    <b class='flag-5'>程序员</b>节 | 今年<b class='flag-5'>程序员</b>们都想要的礼物竟然是……

    移植ARM DHCP服务器版本1程序员指南

    这本书由ARM DHCP服务器服务器软件提供, 假定ARM DHCP服务器移植源可以作为参考, 也假设您可以访问程序员的 C 和 ARM 组装语言指南。 本程序员指南是为有经验的内嵌系统程序员编写
    发表于 08-18 06:46

    霓虹灯程序员指南

    如果您对ARM技术完全陌生,请阅读Cortex-A系列程序员指南,了解有关ARM架构配置文件和一般编程指南的信息。 ·霓虹灯技术是ARM高级单指令多数据(SIMD)扩展的实现。 ·霓虹灯单元是执行
    发表于 08-17 06:32

    ARMv8-A霓虹灯程序员指南

    程序员,如固件、设备驱动程序或android内核开发人员•希望为基于Arm的目标设备优化库或应用程序程序员•非常热衷于Raspberry Pi爱好者本指南涵盖了如何开始使用Neon,
    发表于 08-08 07:25

    ARM系统跟踪Macrocell程序员模型架构规范1.1版

    ARM 系统跟踪大型电池程序员示范建筑规格V1.1 建筑规格
    发表于 08-02 10:11

    61.[程序员小飞]如何在3分钟内安装好数据库MySql和Navicat,简单又易懂

    程序员
    充八万
    发布于 :2023年07月20日 09:16:19

    Neuron C 程序员指南

    Neuron C 程序员指南
    发表于 07-04 20:48 0次下载
    Neuron C <b class='flag-5'>程序员</b>指南

    ISI 程序员指南

    ISI 程序员指南
    发表于 07-04 20:47 0次下载
    ISI <b class='flag-5'>程序员</b>指南

    打开 LNS 程序员参考

    打开 LNS 程序员参考
    发表于 07-04 19:50 0次下载
    打开 LNS <b class='flag-5'>程序员</b>参考

    LNS 程序员指南

    LNS 程序员指南
    发表于 07-04 19:49 0次下载
    LNS <b class='flag-5'>程序员</b>指南