iOS开发者如何做到升职加薪到25k?6年开发 架构师笔记送给你!

简介: 对于我们绝大多数人来说,工作最基本的意义是我们可以通过自己的劳动换取酬劳来养活自己,尤其是对于刚毕业的学生,拥有一份全日制的工作意味着自己走出校园,踏上社会,自己真正开始独立起来。

前言:

对于我们绝大多数人来说,工作最基本的意义是我们可以通过自己的劳动换取酬劳来养活自己,尤其是对于刚毕业的学生,拥有一份全日制的工作意味着自己走出校园,踏上社会,自己真正开始独立起来。

在养活自己的基础上,我们才会考虑一些其他的,比如收入的高低、自己是否能得到进步、工作内容是否愉快、工作环境是否满意、公司前景等等,然后根据自己的个人需求进行抉择,选择自己满意的工作。

所以对于工作来说,我觉得首先应该保持一种敬畏的态度,毕竟是工作给了我们报酬,所以作为回报,我们应该努力且负责地对待它。

其次对于每个人尤其是刚入职的萌新们来说,工作的另一层更大意义在于,这是我们自我能力提升的最快的方式,而且越是有挑战性的工作,收获越大。另外工作以来,我们真正有了自己的社会圈子,这对自己的影响甚至高于单纯的知识收获。

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

群内提供数据结构与算法、底层进阶、swift、逆向、flutter,整合面试题等免费资料
附上一份收集的各大厂面试题(附答案) ! 群文件直接获取
最新各大厂面试题以及进阶资料

群.png

加班的目的

有了工作后我们就有了任务,如果在我们工作时间里完成不了这些任务,就只得在工作时间以外完成,这就是加班。加班是一件很正常的事,无论从事什么职业,做什么工作,都存在着没法按时完成任务的可能。

而对于IT行业来说,加班是一件很常见的事,主要原因大概有以下几点:

IT行业的本身行业发展很快,因此产品迭代速度也就很快,导致任务不确定性很高,经常临时更改需求增加了任务量;

IT行业中修改BUG的时间很难估计,也许BUG本身修改也许只要一分钟,但是准确找到这个BUG却要几天时间;

IT行业从事人员变动大,突然有一个人要离开团队,他的任务也就落在团队其他人身上了;

IT人员对产品的精益求精,一个产品从能实现到真正有实用价值,这还有很长一段路要走,这个任务量也是难以估计的。

所以,其实我们可以看到加班并不是目的,加班只是个过程,加班的目的只是为了完成我们未完成的任务。

加班的价值?

那么加班有价值么?其实我们做的每一件事都不可能毫无价值,但如果我们做某件事上付出的时间和自己的收获不成正比的话,那我姑且认为这件事是没价值的。

因此,从这个角度上来讲,我认为加班对于除了刚入职的新人来说,真的没价值。

首先,让我们进步的不是工作,不是加班,而是学习

我的QQ群里曾有个小伙伴向我抱怨,他工作了三年,经常加班,现在想跳槽了,出去找工作却到处碰壁,也有单位要他,但给的薪资还没他现在高,这让他很苦恼。于是我问他,这三年里做了什么呢?他回答说,这三年他在公司里参与的项目都是基于一套产品,所有的项目都是基于那一套框架上进行更改,现在他对于这一套框架很熟悉,但是其他的了解甚少。

这个小伙伴遇到的情况,我想,绝对不是个例。

对于我们每个人来说,往往都会觉得刚入职的那段时间里进步是特别快的。我们从学校进入社会,开始真正的将学校里的知识用于实践,每一项工作,都需要自己学习然后应用,每天都很充实,收获很大。随着自己工作深入,渐渐地我们对于公司产品技术框架越来越熟悉,这时候我们会遇到一些瓶颈,需要自己去找资料、看书扩宽自己的视野来提升自己。

然而,这些本该自己用来学习的时间却被加班占用了。

一般来说,一个项目立项时候都会项目周期进行时间上的的评估,这个时间往往很合理的。在很多情况下,我们加班都是因为自己效率低下或者项目需求的突然改变造成的,加班无非是做自己本该上班期间就改完成的内容或者进行一些返工的事。如果是新人,我觉得还可以通过不断重复性的工作来提高自己,但对于对于这方面已经比较熟悉的人来说,这无疑是浪费自己的时间。就好比扫三年地的工人和扫一年地的工人,两人的能力上会有多大差别呢?

其次,勤奋会得到领导的好感,但只有真正个人能力才能到领导的青睐

有的小伙伴说,加班会让领导看到你很努力。

诚然,每个领导都喜欢看到自己的员工工作,就好比你家要装修房子,你请的工人每天夜以继日的给你干活你也会很开心一样。

但是如果你发现最后家里装修一团糟的时候,我估计你会对工人的好感瞬间消失殆尽。

我并不是说勤奋不对,只是觉得努力该有方向。埋头苦干,不如抬头看天。

与其进行无尽的加班,不如拿出一部分时间来看看好书,学习学习新的技术,了解了解优秀的开源框架。

也许一个新的框架可以让你的工作量减少一半,

也许你长期埋头苦干还不如别人在某次会议上根据某篇博客提出来的优秀建议给领导带来好感多。

依然是那句话,加班只是过程,而领导要的是结果。

不要让战术上的努力掩盖战略上的懒惰,而且很多人努力加班只是做个样子看,感动了别人也毁了自己。

第三,生活很精彩,工作家庭同样重要。

安卓大神stormZhang说到当年他的经历时候,有一段我印象很深刻。

当他刚入职转开发为了有份工作而学习做Ruby那段时间,每天在公司学习到都是11点后坐末班车回去。

对于老张的这段经历有两点我想说:

第一点 是在公司学习我认为还是自我的学习,算不上加班,因为你并没做工作上的任务。在本文的第一点里我说了学习是进步的关键,如果你觉得在公司学习效率高,那我觉得那很好啊,没问题;

第二点 是我真的很敬佩他的媳妇!两张两口子大学毕业后一起漂泊来到上海,身边唯一的依赖却每天早出晚归,这样的生活真不是每个人都能接受的。

比如我身边这位就肯定无法接受,所以,我不会这样做。

我觉得很多时候我们把成功二字看得太重,却忽略了家庭上的和睦其实也是一种成功。

陪伴妻子相濡以沫,陪伴孩子健康成长,陪伴父母慢慢变老,

陪伴是最长情的告白,但陪伴也是需要时间的。

有时候我在家里看书,我媳妇在一旁画图,我们各做各的,在一间屋里互不相扰,但是感情却也在慢慢凝结升华;

我每周都会坚持给爸妈打几个电话,每周有空都会去我姑家吃饭聊天,每个节日都会抽时间给家人买买礼物,每次长假有机会就回家看看。

我不认为我把这些时间都用在工作上我就会成为比尔盖茨那样的人物,或者多取得多大的成就,

相反,我认为我有个稳定的家庭环境会让我更加安心地工作、学习。

所以,别老是看着天,看看身边的人吧,多陪陪他们吧。

最最后,问我加班么,我当然加啦,毕竟我还要吃饭啊。但是我现在是尽量避免无意义的加班,比如拿到需求时候我会先和需求人员交流,避免因为理解不准确的原因造成返工;

比如我拿到任务时候会先评估下,觉得时间不够会尽早和领导说明,否则加班不说,还容易因为自己完不成影响整个项目的进度;比如空余时间多看书,多学习,提高自己的能力,效率高了自然加班也就少了。

最最最后,对于避免不了的加班,我们还是积极去面对吧。

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

相关文章
|
2天前
|
人工智能 Android开发 iOS开发
安卓与iOS开发:平台选择的艺术
在移动应用开发的广阔天地里,安卓和iOS两大操作系统各占半壁江山。本文将深入探讨这两个平台的开发环境、工具及市场趋势,帮助开发者在选择适合自己项目的平台时做出更明智的决策。通过比较各自的优势与局限,我们不仅能更好地理解每个系统的核心特性,还能洞察未来技术发展的脉络。无论你是刚入行的新手还是资深开发者,这篇文章都将为你提供有价值的参考和启示。
14 5
|
1天前
|
开发工具 Android开发 iOS开发
安卓与iOS开发:一场操作系统的较量
在数字时代的浪潮中,安卓和iOS这两大操作系统如同海上的两艘巨轮,各自承载着不同的使命与梦想。本文将深入浅出地探讨这两个系统在开发领域的异同,从用户体验、开发工具、市场趋势等多个维度进行比较分析。通过这场技术的较量,我们可以更好地理解每个系统的优势与局限,以及它们如何影响我们的日常生活和工作。
|
1天前
|
IDE Java Android开发
安卓与iOS开发环境的差异及其对开发者的影响
在数字时代的浪潮中,移动应用成为人们生活的延伸。两大操作系统——安卓与iOS,如同两座技术高峰,各自占据着半壁江山。本文将探索这两个平台的开发环境差异,并讨论这些差异如何塑造开发者的编程习惯与职业选择。我们将从工具和语言、用户界面设计、系统架构、市场定位以及开发社区和资源五个方面进行比较,旨在为开发者提供一份实用的指南,帮助他们在不断变化的技术世界中,找到适合自己的发展路径。
10 3
|
6天前
|
安全 编译器 Swift
探索iOS开发之旅:Swift编程语言的魅力与挑战
【9月更文挑战第5天】在iOS应用开发的广阔天地中,Swift作为苹果官方推荐的编程语言,以其简洁、高效和安全的特点,成为了开发者的新宠。本文将带领你领略Swift语言的独特魅力,同时探讨在实际开发过程中可能遇到的挑战,以及如何克服这些挑战,成为一名优秀的iOS开发者。
|
3天前
|
移动开发 开发工具 Android开发
安卓与iOS开发:平台差异及其对开发者的影响
在移动开发的大潮中,安卓和iOS两大阵营各领风骚。本文将探讨这两个平台的关键差异,包括开发环境、编程语言、用户界面设计、应用分发以及商业模式等方面。通过比较分析,我们旨在为开发者提供一个清晰的指导,帮助他们根据项目需求和个人偏好做出明智的平台选择。同时,文章也将分享一些跨平台开发工具的使用经验,以期最大化开发效率和市场覆盖。
|
4天前
|
Java 开发工具 Android开发
安卓与iOS开发:平台选择对项目成功的影响
在移动应用开发的浩瀚宇宙中,安卓和iOS两大星系璀璨夺目,各自拥有独特的光芒。本文将穿梭于这两个平台之间,探讨它们在开发环境、用户群体、成本效益等方面的差异,以及这些差异如何影响一个项目的航向和终点。我们将从初学者的视角出发,逐步深入,揭示选择合适平台的重要性,以及如何根据项目需求做出明智的选择。无论你是即将启航的新手开发者,还是已经在这片星海中航行的老手,这篇文章都将为你提供有价值的导航信息。
14 2
|
6天前
|
设计模式 前端开发 Swift
探索iOS开发:Swift与Objective-C的较量
在这篇文章中,我们将深入探讨iOS开发的两大编程语言——Swift与Objective-C。我们将分析这两种语言的特性、优势和局限性,并讨论它们在现代iOS开发中的应用。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和建议。
19 3
|
6天前
|
缓存 Java 应用服务中间件
随着微服务架构的兴起,Spring Boot凭借其快速开发和易部署的特点,成为构建RESTful API的首选框架
【9月更文挑战第6天】随着微服务架构的兴起,Spring Boot凭借其快速开发和易部署的特点,成为构建RESTful API的首选框架。Nginx作为高性能的HTTP反向代理服务器,常用于前端负载均衡,提升应用的可用性和响应速度。本文详细介绍如何通过合理配置实现Spring Boot与Nginx的高效协同工作,包括负载均衡策略、静态资源缓存、数据压缩传输及Spring Boot内部优化(如线程池配置、缓存策略等)。通过这些方法,开发者可以显著提升系统的整体性能,打造高性能、高可用的Web应用。
27 2
|
1天前
|
设计模式 Kubernetes 开发者
探索后端开发中的微服务架构
本文旨在通过浅显易懂的方式,向读者介绍微服务架构的概念、优势以及在后端开发中的应用。我们将从微服务的基本定义出发,逐步深入到如何设计、部署和维护一个高效的微服务系统。文章还将分享一些实际案例,帮助初学者和有经验的开发者更好地理解和掌握微服务架构。
|
3天前
|
开发工具 Android开发 iOS开发
探索安卓与iOS开发的差异:构建未来应用的关键考量
在数字时代的浪潮中,安卓和iOS这两大操作系统如同双子星座般耀眼夺目,引领着移动应用的潮流。它们各自拥有独特的魅力和深厚的用户基础,为开发者提供了广阔的舞台。然而,正如每枚硬币都有两面,安卓与iOS在开发过程中也展现出了截然不同的特性。本文将深入剖析这两者在开发环境、编程语言、用户体验设计等方面的显著差异,并探讨如何根据目标受众和项目需求做出明智的选择。无论你是初涉移动应用开发的新手,还是寻求拓展技能边界的资深开发者,这篇文章都将为你提供宝贵的见解和实用的建议,帮助你在安卓与iOS的开发之路上更加从容自信地前行。