同样是iOS程序员,6K与30K的差距到底在哪?为什么薪酬差异那么大?

前言:

有人看到这样的问题,第一感觉的答案就是“因为你是初级工程师,他是高级工程师呗~”。这确实是一个很好的答案!不管什么样的职业都有一个从“初级”到“高级”的过程,没有哪个人能一步登天,生出来就是当架构师、CTO 之类的职位的。那么怎么样才能从初级走到高级呢?怎么样才能用更短的时间完成这个过渡的阶段呢?今天就来聊聊同样是程序猿,6K与30K的差距到底在哪!

作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交流群:638302184,不管你是小白还是大牛欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!希望帮助开发者少走弯路。

1,工作经验与技术积累

说到高级工程师大家的第一印象自然就是工作经验丰富,技术够牛逼。

注意这里说的是工作经验,并不是指工作时间。有的人踏踏实实做项目,业余时间想着多学点新技术,坚持读书,认真写博客总结,多实践,加上自己本身悟性又不差的,2、3 年的时间都可以有别人 3、5 年的工作经验,成长为公司的高级工程师水到渠成。而有的人混日子,做的项目得过且过,业余时间玩游戏,追剧,也许你在公司工作了 10 年看起来兢兢业业,然而你对自己没有更高的要求,安于现状,不求进步,这类人即使有 10 年的工作时间,却只能止步于此。

靠着自己持续不断的学习,以及工作经验的积累,一步一步,见得市面多,踩的坑也多,技术越来越牛逼也是理所应当的事,而技术是一个高级工程师最基本的要求,然而我却认为只要不是傻子,对技术有点追求的人,想达到这点不难,只是时间长短问题而已,除了技术,你跟那些真正的高级工程师还有其他方面的差距!

2,责任心

高级工程师责任心一定很强,责任心是体现一个人的态度问题,对于一个 bug ,他们永远都会重视,想尽一切办法找到原因并尽快解决,而有的人对于 bug 却是得过且过,解决 bug 的态度就是尝试,认为从表面上解决了就 ok 了。

我们 CTO 十几年的软件开发经验,有用户反馈 bug ,不管多忙,不管什么时间,一定停下手头上的事情,去找到原因并解决。我在薄荷的经历,曾不止一次跟着他为了解决一个 bug 搞到深夜,有几次深夜发现一个导致用户不能付款的 bug ,我都躺床上睡觉了,被 CTO 喊起来半夜赶往公司去修复的经历,当时还觉得不理解,时间长了,我才意识到这种责任心是职业素养,现在也深深的被感染,在任何时候、任何时间,我的手机、电脑都是不离身,出问题一定第一时间进行响应!

对比下你们,你们的责任心够强么?

3,主动

有没有这种经历?就是项目做完了,感觉没事可做了,那就刷刷微博,聊聊 QQ 吧。

然而那些优秀的工程师是怎么样的?

他们项目做完了会想着哪里代码写的不够好,会想着重构下。

自己在赶某个功能的时候太匆忙了,刚好利用这段时间看看有没有更好的办法实现。

这个项目做完了,学到了不少东西,又踩了不少坑,写写博客总结下。多泡泡技术型的论坛,像dbaplus社群、CSDN这种,少刷点微博!

做完这个项目感觉架构方面的知识挺缺乏,自己赶紧学习下相关的知识吧。

平时有时间多去看看优秀工程师的文章,如果能参加他们的演讲那是再好不过的了!多了解下业内大咖传递出来的信息,在这变化快速的时代尤为重要!

初级工程师是等着被分派事情做的,分派的事情做完了感觉就没事可做了。而高级工程师会自己主动找事做,他们永远不会觉得自己的时间多余,重构、优化、学习、总结等等等,有一大堆可以主动做的事。

4,敢于承担

初级工程师在拿到一个稍微复杂点的需求的时候第一印象就是好复杂,我实现不了,哪怕这个技术别家证明可以实现。而高级工程师则不会不做技术调研就说 no ,敢于接受挑战,除非在做过充分的技术调研之后,确信确实实现不了,否则都会付出 200% 的努力去实现它。

对于技术如此,同样的对于一些解决方案、架构设计、历史遗留问题的解决甚至项目负责人等的挑战都会勇于承担,你不逼下自己,给自己点压力,你永远不知道自己的潜力有多大,而就是在这一次次攻克难关的过程中,你的成长是飞速的!

所以,不妨试着让自己承担一些有挑战的工作!

5,团队合作精神

如今这个时代再也不是英雄主义时代了,团队才是一切,任你能力再出众,但是跟一个团队比起来,你还是寡不敌众。所以,优秀的高级工程师永远有团队合作精神,永远以团队利益为优先,任何时候,不要做拖团队后腿的那位!

富有凝聚力的团队是一个公司最具竞争力的核心武器,所以,请从思想上让自己有这个意识,团队永远大于个人!

6,参与业务、产品

我见过太多的程序员,产品经理给出需求的时候,闷头就开始写代码,中途需求变动了,然后就开始在心里大骂产品经理傻×,简直就是所谓的「码农」,虽然我们都拿「码农」来自嘲,但是我相信我们都不希望成为真正的码农,我们要做的是工程师!

而工程师跟码农的区别就是,他们不只是闷头 Coding,他们会参与产品、参与业务,虽然我们的主要职责是开发,但是如果能在需求阶段跟产品经理一起讨论,也许在产品、业务上你不专业,但是可以从技术的角度来一起思考,一起参与进来,尽量帮忙把需求更完善些。

初级工程师拿到需求会直接开始做,然后做着做着发现有问题了,要么技术实现不了,要么逻辑有问题。

而高级工程师拿到需求会考虑很多,技术的可行性?对现有业务有没有帮助?对现有技术架构的影响?扩展性如何?等等...之后才会再进行设计编码阶段。

所以好的工程师是可以对产品有很大的帮助作用的,而且跟产品经理多进行沟通交流,除了技术外,对产品、对业务、对商业你也能学到不少东西,以后的路会更广。

所以,不要做闷头 Coding 的码农,做关心业务、产品的工程师!

7,总结

以上是我总结的优秀的高级工程师的一些标准,别总说你跟那些人只是技术上的差距而已,除了技术,其他地方可能差得更远。技术可以靠时间来弥补,但是其他几个方面是时间无法弥补的,希望大家自己对照下,不管是所谓的高级工程师也好,还是之后的小组 Leader,甚至再之后的架构师、CTO,这些特质是必须具备的,问问自己,你们的差距还有多远?  如果你还有更好的想法欢迎补充~

作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交流群:638302184,不管你是小白还是大牛欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!希望帮助开发者少走弯路。

文章来源于网络,如有侵权,请联系小编删除。

原文地址:https://www.cnblogs.com/ioszejingg/p/8955215.html

时间: 2024-10-09 14:48:59

同样是iOS程序员,6K与30K的差距到底在哪?为什么薪酬差异那么大?的相关文章

作为iOS程序员,最核心的60%能力有哪些?

作为iOS程序员,最核心的60%能力有哪些? 一个合格的iOS程序员需要掌握多少核心技能?你和专业的开发工程师的差距有多大?你现在的水平能开发一个功能完整性能高效的iOS APP吗?一起来看看下面的iOS程序员60%核心技能的盘点,查漏补缺吧!1. 语言基础无论哪种开发,都离不开程序语言的学习.Objective-C是iOS的官方语言,更是学习和理解iOS开发的基础.万丈高楼平地起,将OC学得透彻最起码需要了解C语言基础.Object-C的基础.OC运营时的特性.面向对象的概念.Protocol

iOS 程序员 6 级考试(答案和解释)

iOS 程序员 6 级考试(答案和解释) 我是前言 1. 下面的代码分别输出什么? @implementation Son : Father- (id)init { self = [super init]; if (self) { NSLog(@"%@", NSStringFromClass([self class])); NSLog(@"%@", NSStringFromClass([super class])); } return self;}@end 答案:都

H5 App如此强悍,要降薪的恐怕已不只是iOS程序员

2015年的最后几天,移动开发圈里最为火爆的话题之一无疑是"iOS程序员月薪降至12K"这则报道. 有人认为这是O2O创业遇冷所致,也有人认为这是iOS生态过于封闭致使智能硬件等新领域对iOS开发者的需求量不足所致.还有人认为是相关培训机构过多导致的结果等等. 其实,以上这些原因分析都只停留在了现象层面,未能触及本质. 当前是一个由技术来驱动社会变革的时代,所有社会和产业变革的根本驱动力一定都来自于某种技术变革.同样,所谓iOS开发者降薪这个业界现象,背后的根本原因依然是技术变革:移动

IOS程序员要求

精通iphone的UI开发,能熟练操作复杂表视图,熟练使用图层技术, 可以自定义UI控件,使用类别扩展系统控件功能; 擅长通讯技术,熟悉各种通信协议,精通xml, json, 二进制或其他形式的自定义解析,能架设服务器实现客户端与服务器的通讯以提交开发效率; 熟练掌握各种数据存储技术,如core data, sqlite,  对象序列化,文件读写操作,熟悉数据库的设计. 精通 object-c,java, c  等编程语言, 熟悉c++,对于 面向对象编程思想有深入理解,熟悉常见设计模式的应用,

如何面试一个1-3年的 iOS 程序员(持续更新)

如何面试一个1-3年的 iOS 程序员(持续更新) 计算机基础类 请说一说 HTTP 1.0 和 1.1之间的区别(懵逼题)这是一道计算机类别的题, 具体区别可以单独写一篇博客了, 但是一般情况下, 最主要的区别还是指1.1中支持长连接. 1.0规定的是浏览器只能与服务器保持短连接, 浏览器的每次请求都需要跟服务器建立一次 TCP 连接, 请求处理完以后就立即断开 TCP 连接, 服务器不跟踪每个客户也不记录过去的请求. 具体可以看这篇博客 请说一说长连接和短连接的区别这个和面试官讨论了一下,

【同行说技术】iOS程序员从小白到大神必读资料汇总

在文章<iOS程序员从小白到大神必读资料汇总(一)>里面介绍了很多iOS入门学习的资料,今天小编就发几篇技术进阶的文章,快来看看吧! 一.iOS后台模式开发指南 这个教程会教你在什么时候怎么去用最常用的一些后台操作 二.iOS核心高级动画技巧 这是一篇在github上很受欢迎的对iOS开发高级动画技巧的翻译文,非常值得学习 三.iOS开发总结之代码规范 这篇文章整理了比较好的代码规范,对程序员的代码风格的塑造很有帮助! 四.Top 100 的 iOS app 都用到了哪些库 文章作者分析了美国

ios程序员6级考试(答案和解释)

http://blog.sunnyxx.com/2014/03/06/ios_exam_0_key/ 我是前言 上次发了个ios程序员6级考试题 ,还在不断补充中,开个帖子配套写答案和解释. 1. 下面的代码分别输出什么? 1 2 3 4 5 6 7 8 9 10 11 12 @implementation Son : Father - (id)init { self = [super init]; if (self) { NSLog(@"%@", NSStringFromClass(

写给 iOS 程序员看的 C++(2)

原文:Introduction to C++ for iOS Developers: Part 2 作者:Matt Galloway 译者:kmyhy 欢迎回到<写给 iOS 程序员看的 C++ 教程系列>第二部分! 在第一部分,你学习了类和内存管理. 在第二部分,你将进一步深入类的学习,以及其他更有意思的特性.你会学习什么是模板以及标准模板库. 最后,你将大致了解 Objectiv-C++--一种将 C++ 混入 Ojective-C 的技术. 准备好了吗?让我们开始吧! 多态 这里的多态不

写给iOS程序员的命令行使用秘籍

http://www.jianshu.com/p/44d3b8f713f2 Mac OS是Unix系统的分支,有着强大的命令行功能.很多事情在命令行下处理会事半功倍,所以我就iOS程序员可能会用到的功能讲述一下. 终端设置 Mac的终端有一个很关键的配置,就是“使用 Option 键作为 Meta 键”.勾上这个选项之后,就可以使用Emacs的编辑命令了. Snip20150413_5 我发现有些人的终端没有设置“平滑文本”,导致终端上的文字很难看.赶紧把这个选项勾上吧. Snip2015041