程序员的8个级别,你想成为哪一种?

相信很多人都曾经被面试官问过这样的问题:”你对自己未来5年的职业规划是怎样的?“,每当我被问起这个问题时,我的脑海中总是会浮现出《Twisted Sister》(一部拍摄与1984年的电影)中的这个场景,一名老师对着他的学生大喊。 我想要你告诉我,不,是告诉全班的学生 你究竟想要怎样的生活? 一般情况下,你的很自然的想法就是:你要变得很牛,或者至少变成一个很牛的程序员。尽管这个问题看起来并不像其它一些同样老掉牙的问题(比如,”你觉得你最大的弱点是什么?“)那么严肃,但很可能你还是会觉得难于回答,回避这个问题明显不是一个明智的选择。 但是,在我看来,这个问题同样是一个相当严肃的问题,只不过大部分人都没有注意到他的重要性,不是对面试官,而是对你自己。 对于这个问题,大部分人都会选择一个不痛不痒的答案来敷衍面试官,但如果你深入的思考这个问题,你会发现这实际上是一个关于软件开发人员可能的职业生涯轨迹的问题,当然,我们选择这一行是因为我们喜欢这行,并且幸运的得到老天的眷顾,我们干上了这行,但你能在50岁的时候依然坐在电脑前面敲代码嘛?60岁呢?所以,我们必须在还年轻的时候先思考一下这个问题:作为一个程序员,最完美的职业生涯应该是什么样? 如果你懒得自己思考,那就让我来告诉你吧,基本上,这个世界的程序员可以分为8种类型: 1. 不朽的 这是最高的级别,虽然你的人已经挂了,但是你的代码却依然活着,你成为计算机博物馆中的一个永久收藏,为数众多的程序员持续的学习和阅读你的作品。你在生前已经赢得了许多的赞誉,发表了大量非常重要的论文或者是创造了许多影响到计算机专业课程设置的基础技术。你已经不仅仅只是拥有一个维基百科的条目,会有许多专门的网站讲述你的作品以及你生平的事迹。 能够达到这一级别的程序员屈指可数,这一级别的代表人物是:Dijkstra, Knuth, Kay 2. 成功的程序员 成功的程序员不仅拥有广泛的知名度,并且还运营着一个不错的公司——甚至是整个产业链。他们拥有绝对的自由可以做他们想做的事情。 这一级别的程序员是最多人羡慕的,到达这一级别更多的是需要商业上的才能而不是你的编程能力。 代表人物:Gates, Carmack, DHH 3. 知名程序员 成为这个级别的程序员也不错,当然前提是,你得有一份不错的工作。 这个级别的程序员虽然在圈子里很有名,但是成为名人并不意味着你可以靠这个获取收入甚至是养活你自己。知名固然不错,但无疑成为成功的程序员更加的好。你的公司可能是一家非常知名的大技术公司,也可能是一家很有影响力的小公司或者是一个最新潮的创业团队,其它的程序员都应该或多或少的听说过你,并且你对你所从事的领域可以起到积极的影响。 4. 工作杰出的程序员 你做为一个软件工程师的职业生涯非常的成功,因为你的工作能力相当杰出,你从来不会为找不到一份你满意的好工作好发愁,你的同事也非常尊敬你,每一家你工作过的公司都因为你的加盟而在某些方面得到了增强。 但问题是:你接下来的方向在哪呢? 5. 能力一般的程序员 这个级别的程序员,一般来说,由于天赋的差异,通常很难成为杰出的程序员,但天赋跟成功的关系其实不是很大,如果你有很好的商业或者是与人沟通的技能,你依然可以直接跳升到成功的程序员级别。如果你是一个能力一般的程序员,但你却靠这行当过上了不错的生活,那说明你必须在其它方面有很好的天赋(除了编码)。 不要怀疑自知的价值,通常你的能力都会比你认为的要少,但缺乏天赋并不是什么大不了的事情。要勇敢一点,发掘自己的特长,并充分利用,你也会成功的! 6. 业余的程序员 业余程序员通常都很喜欢编码,一般来说以学生和实习生为主,他们通常会向开源项目共享代码,或者利用空闲时间凭自己的兴趣开发一些应用,他们的代码和创意通常看起来都很有激情。 成为一个业余程序员是个好事情:这个级别的程序员可以很快速的成为一名工作杰出的程序员。 7. 未知的程序员 还有一些很知名的程序员,比如Joe Coder,有能力但是不太引人注目,很可能在为某个大公司工作。对于这类人来说,写代码仅仅只是工作,并非他们生活的全部,这没什么错,挺好的。 8. 差劲的程序员 这个级别的程序员通常是因为某些意外阴差阳错的成为了程序员,但他们本身并不具备写代码的技能,所有他们做的东西都成了他们同事的噩梦——当然有一种例外,就是他的同事也是十分差劲的程序员,差到都不具备与他的同事进行基本的沟通。 基本上,如果要给差的程序员下一个定义,那就是:没有金刚钻,却揽了瓷器活。 当然,这个级别排的不是很严肃,并且每个人对自己的职业规划都不一样。它只是想给你一点启示,那就是你在未来的10年,20年,30年甚至是你整个一生究竟能够完成哪些事情,你最为崇拜那个程序员,他身上的哪些特点最为吸引你? 简而言之,你究竟想要过怎样的生活?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 很难说有哪一种编程语言能完全替代 C 语言。但是,目前有一些编程语言正在逐渐取代 C 语言,特别是在高级应用领域,例如: 1. Python:它是一种易于学习和使用的语言,广泛应用于数据科学、机器学习和Web开发等领域。 2. Rust:它是一种现代化的编程语言,特别适合于系统编程和底层开发。 3. Swift:它是苹果公司推出的编程语言,主要用于 iOS 和 macOS 开发。 当然,C 语言仍然是一种重要的编程语言,并且很可能会在很长一段时间内继续保持其地位。 ### 回答2: 在当前的技术环境中,Rust语言最有可能替代C语言。首先,Rust具有和C类似的系统级编程能力,并且可以直接访问底层硬件。这使得它特别适用于开发操作系统、网络程序和嵌入式系统等领域。 其次,Rust具有强大的内存安全性和线程安全性,通过引入所有权、借用和生命周期的概念,可以在编译时捕获到内存错误和数据竞争等问题。这大大减少了C语言中一些常见的安全漏洞,如缓冲区溢出、空指针引用等。 此外,Rust还具有良好的并发编程支持,通过其独特的“所有权”和“借用”机制,可以在编译时避免数据竞争和死锁等并发问题,提高了程序的可靠性和性能。 Rust还拥有丰富的工具和库生态系统,使得开发者可以更高效地开发复杂的应用程序。通过Cargo包管理器和Crates.io社区,开发者可以方便地共享和重用代码,提高开发效率。 综上所述,Rust语言在保持低级别控制和高性能的同时,提供了更高的安全性、可靠性和并发性。因此,它最有可能成为未来替代C语言的候选者之一。 ### 回答3: 在目前的编程语言中,最有可能替代C语言的是Rust语言。 首先,与C语言一样,Rust语言也是一种系统级编程语言,可用于构建高效、可靠和安全的软件。Rust语言的设计目标是解决C语言在安全性方面的不足,并提供现代编程语言的优势。 其次,Rust语言具有很强的内存安全性。与C语言不同,Rust语言在编译时会进行严格的内存和引用的检查,以防止常见的内存安全问题,如空指针引用和数据竞争。这使得使用Rust开发的软件更加可靠和安全。 此外,Rust语言还具有高性能和并发性能。Rust语言通过其所有权和借用系统,允许程序员一种更安全的方式管理内存,同时在运行时保持高性能。此外,Rust语言还内置对并发编程的支持,使得编写并发程序更加简单和安全。 最后,Rust语言具有活跃的社区和强大的生态系统。Rust语言的发展非常迅速,拥有众多支持库和工具,可以满足各种开发需求。同时,Rust语言的社区非常活跃,拥有大量的文档和教程,使得学习和使用该语言更加容易。 综上所述,Rust语言在安全性、性能和并发性方面的优势使其成为最有可能替代C语言的编程语言之一。尽管还存在一些挑战和限制,如学习曲线较陡峭和社区规模相对较小,但随着Rust语言的发展和广泛应用,它有望逐渐取代C语言在某些应用场景下的地位。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值