关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » 程序人生 »成为优秀高级程序员的10个要点

    成为优秀高级程序员的10个要点

    2015-01-10 00:00:00 出处:呦呦鹿鸣 - 陆其明
    分享

    What

    软件工程师的职业生涯要历经以下几个阶段:初级、中级,最后才是高级。该文主要是讲如何通过10个步骤助你成为一名高级软件工程师。

    Why

    得到更多的报酬!因为你的薪水会随着你水平的提高而增加 提升你的职业生涯。成为了高级软件工程师之后,就可以朝着架构师、团队负责人、CTO等职位前进 历经更大的挑战。随着你的成长,各种影响力也会提高。

    How

    软件工程是很难的。这一行业在不断变化中,所以你必须紧跟它的步伐。你必须不断地投入时间和精力,因为你需要学习的东西总是比你能吸收的多。很多新手工程师甚至都不曾意识到他们要是想要攀登行业的高峰,要学习的东西、要付出的努力得有多少。不过,不用担心,下面我将指出一条“明路”有助于你成为一名高级软件工程师。

    image

    步骤0:选择你的道路,坚持下去!

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

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

    选择专业。也就是你想做的事情。例如:Web开发、移动开发、DevOps等。 选择专业中的实用技术。例如:要是你选择了Web开发,那你就需要在Ruby on Rails、Python、Django,JavaScript和MEAN等之间做斟酌。要是你选择的是移动开发,则需要在iOS和Android等之间做出选择。 坚持下去,直到掌握这门技术。

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

    步骤1:奠定基础

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

    步骤2:掌握你的编程语言

    你以后每天需要面对哪种编程语言取决于你今天选择的技术。但是编程语言总有主次之分。例如,Ruby on Rails开发人员主要使用Ruby,AngularJS开发人员大多数时间用的是JavaScript。确定编程语言、掌握编程语言对你的职业生涯发展至关重要。因为以后你每天都会使用它!推荐你先阅读有关书籍。

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

    步骤3:学习框架

    选一个,然后好好学习:

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

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

    步骤4:掌握文本编辑器/ IDE

    再选一个,然后坚持不懈地掌握这个工具。要是你选择的是viM,那就要成为它的主人,让它往东就往东。

    步骤5:使用版本控制系统

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

    步骤6:做好测试驱动开发

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

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

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

    步骤7:将重构养成习惯

    随着你不断添加更多的功能,代码库也会越来越复杂。为了保持代码库的可管理化,你需要重构。要是你不重构的话,你很快就会进入两难境地——即使是做很小的改动都很困难、bug没法避免、没有人愿意处理这个凌乱的代码库。重构能让你的工作更加轻松。事不宜迟,赶快养成重构的习惯吧。下面这本好书能教你该怎么做:《Refactoring: Improving the Design of Existing Code》by Martin Fowler

    步骤8:学习软件架构

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

    步骤9:展示命令行的力量

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

    步骤10:code code code!

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

    总结

    众所周知,成为一名高级软件工程师是非常难的。这需要大量的时间和精力。不同的人他们的学习速度也不尽相同,但是平均来说,大约需要10年时间才能成为一名可靠的高级开发人员。你付出的各种投资最后必将给你带来巨大的回报。软件工程师的钱途很美好,其就业市场的需求一直居高不下,薪资水平也根据经验程度在提高。这是一个快速增长且相对较新的领域。软件工程师的每一天都在面临挑战:挑战改变人们的生活。来吧,各位软件工程师,首先挑战成为一名高级软件工程师吧!

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    67款移动应用存在违法违规收集使用个人信息情况

    高通、联发科、汇顶科技等“芯”助力,vivo X200 Ultra及X200s发布

    微软CTO凯文·斯科特:未来AI行业将涌现大量专业智能体

    《中国AIGC产业峰会——万物皆可AI》在北京圆满落幕

    威联通科技推出 16 颗硬盘 SAS 双主动控制器 ES1686dc R2 3U 机架式 NAS,具备 HA 及最佳存储效率

    当漏洞攻击遇上腾讯混元超能力:EdgeOne的Web安全赛博决斗

    上海外骨骼机器人亮相消博会,万元起售引关注,加速研发个人版

    深耕智能文档处理领域,合合信息《智能文档技术与应用白皮书》正式发布

    RootPhone:开启RWA代币化时代的Web3智能终端革命

    华为Mate 80系列全曝光:将出厂预装原生鸿蒙操作系统

    IT头条

    平替CUDA!摩尔线程发布MUSA 4性能分析工具

    00:43

    三起案件揭开侵犯个人信息犯罪的黑灰产业链

    13:59

    百度三年开放2.1万实习岗,全力培育AI领域未来领袖

    00:36

    工信部:一季度,电信业务总量同比增长7.7%,业务收入累计完成4469亿元

    23:42

    Gartner:2024年全球半导体营收6559亿美元,AI助力英伟达首登榜首

    18:04

    技术分享

    iOS 8 中如何集成 Touch ID 功能

    windows7系统中鼠标滑轮键(中键)的快捷应用

    MySQL数据库的23个特别注意的安全事项

    Kruskal 最小生成树算法

    Ubuntu 14.10上安装新的字体图文教程

    Ubuntu14更新后无法进入系统卡在光标界面解怎么办?

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。