一个5年iOS程序员的工作感悟,送给还在迷茫的你

2024-05-26 09:18

本文主要是介绍一个5年iOS程序员的工作感悟,送给还在迷茫的你,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

每一个开发者,都有一段不愿提起的经历,很多年前,刚刚从大学毕业的时候,很多公司来校招。其中最烂俗的一个面试问题是:“你希望你之后三到五年的发展是什么?”。我当时的标准回答是(原话):“成为在某一方面能够独当一面的技术专家“。后来经历了几家不同的公司,换了不同的方向,才知道这个真是一个很难的问题。因为兵无常势,什么东西都是在不断的变化,一早的时候看好的东西可能会被淘汰。

(几乎)没有人能够看准技术的下一个方向,因为这个问题实在是太难了,能够做到这一点的你就成为了技术界的巴菲特了。比如说11年加入Google,14年加入Facebook,16年加入阿里巴巴。做到这一点的人肯定有资本也有眼光去做风险投资,就算不做风险投资那么财务自由也是妥妥的。

现在毕业五年,从西安到上海,看到了公司好的地方和坏的地方,这里只是根据自己的经历写一些大方向选择建议,仅供参考。

一、行业背景很重要

行业背景非常重要;工作3年后必须确定自己的行业背景,比如一直从事电信行业,一直从事银行项目,一直从事ERP行业等等。

一个程序员不可能是一直写代码的,就是写代码也要知道业务逻辑,满足什么需求;俗话说隔行如隔山,每个行业的业务都不一样,甚至差别很大,比如你一直从事流媒体的研究,让你跳槽到一家银行项目,完了,一切从头学吧,以前的行业经验都用不上了;而且,一个公司公司招人,就是希望找到那些很容易上手,不需要培训业务很久的程序员;频繁跳槽的朋友,一定要注意这点;

一直在一个行业呆久了,就可以成为这个行业的专家;我们可以经常看到,一个项目组的某个leader,代码写的一般,但是却可以跟客户流畅的沟通,控制着新需求的提出,bug的修正等等;而客户也很愿意跟他打交道,因为那些老的项目只有他能维护,他甚至熟悉系统的每一张表结构——-可想在这个行业呆的时间有多久啦。

二、合理的职业规划

什么是职业规划—-就是你短期或者长期的一个职业计划!大道理不讲,咱简单点。先问你几个问题:

  1. 你工作几年了,你愿意一直和新入行的新手一样就是个简单的程序员吗?
  2. 你愿意一直写代码,而不关心其他吗?
  3. 一个项目的前期需求,设计,后期部署维护,领导找到你,你说咱搞不定,行吗?

程序员不是敲代码的机器。第一年太多东西不懂,你可以一切听从老大的安排,敲敲代码,看看数据库,测试自己和别人的代码;但是第二年,你还是这样吗?不可能的,一年的经验你完全可以入行了,是时候该学习怎么进行需求分析,怎么设计数据库,怎么写各类文档,怎么写更好的代码?这是高级程序员的要求!

三、什么是高级程序员?

具有分析设计能力,能进行技术攻关,而且具有某行业深厚背景的程序员!

所有,一个项目立项后,你要积极的参与到前期设计中,跟老同志们一道思考分析问题,学习经验!OK,你这就成长啦!

千万不要认为程序员就是写代码的哦!!!

而且,通过一个项目的开发,你要能粗略的统计出一个功能的开发时间;比如一个模块有20个小功能点,你开发了80个小时,每个小功能点平均2小时——这时在前期就能评估工作量啦。当然每个人的效率和工作质量是不同的,因人而异,但是大概的工作量应该是可以统计出来的,用于统计一个项目的工作周期;

据不完全统计,截至目前(2018.03)为止,中国iOS程序员的数量已经超过了60万。而且,随着IT培训业的持续发展和大量的应届毕业生进入社会,iOS程序员面临的竞争压力越来越大。那么,作为一名iOS程序员,怎样努力才能快速成长为一名高级的程序员或者架构师,或者说一名优秀的高级工程师或架构师应该有怎样的技术知识体系,这不仅是一个刚刚踏入职场的初级程序员,也是工作三五年之后开始迷茫的老程序员,都必须要面对和想明白的问题。

四、工作内容枯燥,创新少。

现在进BAT工作,大多数都是干一些非常基础的体力活,虽然说BAT很难进,但是进去之后你会发现,你所从事的工作其实并不难,干个1-2年之后,你的进步就变得越来越缓慢,所以很多人都被外面的花花世界所吸引,在BAT工作1-2年之后离职了。

五、升职难。

要知道BAT不是每个项目都成功的,很多的项目最后都难逃失败的命运。现在进BAT工作,大多数都是干一些非常基础的体力活,去的项目组大多也并不好,如果你进的项目组没啥爆发力,那你想升职基本是无望的,就如百度,干个3-5年能升到T5已经非常不错,再想更进一步难如登天,不是每个人都能分到当年百度贴吧那样的项目组。

六、职业规划难。

由于4,5点原因,大多数人都很难在BAT坚持3年以上,就受不了外面小公司的各种诱惑而跳槽,小公司会给予你很多的原始股期权,给你一个“上市”之后变成亿万富翁的美梦。但是,一旦你从BAT离职,那么基本上,你的职业成长就会陷入停滞状态,因为小公司能给你的也就是那么点钱和股票了,他没有BAT那样的技术积累,所以基本上是小公司用钱买你的技术,而你想获取更多的知识,基本已经没那么多的精力和求知欲了。所以越来越多的工程师把自己的工作形容成“搬砖”,其实就是因为工作时间越久,你的重复劳动就越多。

七、来自大城市的压力。

众所周知IT公司集中在北上广深杭,尤其是北京,基本一半的知名互联网公司都在北京。而北京的房价大家都懂得,就算你30W年薪又如何,你能在30岁之前在5环内买个100平的房子么?没房子你娶的到媳妇么?我见过太多30多岁打着光棍的程序员了,太多了,一方面不愿意舍弃自己的工作回老家,一方面是天价的房价和孤独的夜晚。对了,女朋友在我眼里不能算是媳妇,结婚才算是。

八、技术更新非常快。

一项热门技术,也许过个2年,就不再热门,可以说是各领风骚两三年,如果你花了两三年的时间学习一门技术,但是当你发现他逐渐落伍的时候,也就是你迷茫的时候。

九、人际关系简单。

很多的程序员的人生轨迹都是这样,尤其是帝都的程序员:

进入BAT工作——2-3年后跳槽到小公司——小公司项目不景气,继续跳槽——项目继续不景气,不断的循环——年龄优势不再,结婚难,事业瓶颈,迷茫——回家,or坚持最后,我想说的是,程序员在目前来说确实是一份好工作,至少薪水高,但是他毕竟是社会生态链的下游,程序员的工作与其他行业的技工,其实在产业的生态链上处于的位置是一样的,只是目前赶上了整个行业的爆发,所以程序员能才能不断的跳槽,不断的找到新的工作机会。但是一旦行业不景气,或者你的技术领域被淘汰,

又或者你的年龄优势不再的时候,就不一定还如刚毕业那时候那般雄姿英发了。

最后希望我们在职iOS开发者以奋斗为目标,在iOS的这条路上越走越好,给自己定位,不断的学习,不断的提升自己,接触新技术,在这大千世界中找到努力的自己。

这篇关于一个5年iOS程序员的工作感悟,送给还在迷茫的你的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1004053

相关文章

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

总有一条路,我们很迷茫

十年前,我家还处于一个贫穷落后的小山村,周围的人会根据我父母的收入来对待我,而十年后的今天,我家的那座小山村医成为重点开发的地区,一夜之间我家成了所谓的土豪,周围的人依然根据我家的收入对待我。现实,什么是现实?这就是现实。从那一刻,我开始明白要想得到别人的尊重,首先你得有别人尊重的实力。 所以,这么多年来不管自己过得多累,走得多艰辛,我都会一直坚持。在人生前进的道路,我们总会经历风雨,难免感到迷

工作常用指令与快捷键

Git提交代码 git fetch  git add .  git commit -m “desc”  git pull  git push Git查看当前分支 git symbolic-ref --short -q HEAD Git创建新的分支并切换 git checkout -b XXXXXXXXXXXXXX git push origin XXXXXXXXXXXXXX

【iOS】MVC模式

MVC模式 MVC模式MVC模式demo MVC模式 MVC模式全称为model(模型)view(视图)controller(控制器),他分为三个不同的层分别负责不同的职责。 View:该层用于存放视图,该层中我们可以对页面及控件进行布局。Model:模型一般都拥有很好的可复用性,在该层中,我们可以统一管理一些数据。Controlller:该层充当一个CPU的功能,即该应用程序

嵌入式方向的毕业生,找工作很迷茫

一个应届硕士生的问题: 虽然我明白想成为技术大牛需要日积月累的磨练,但我总感觉自己学习方法或者哪些方面有问题,时间一天天过去,自己也每天不停学习,但总感觉自己没有想象中那样进步,总感觉找不到一个很清晰的学习规划……眼看 9 月份就要参加秋招了,我想毕业了去大城市磨练几年,涨涨见识,拓开眼界多学点东西。但是感觉自己的实力还是很不够,内心慌得不行,总怕浪费了这人生唯一的校招机会,当然我也明白,毕业

husky 工具配置代码检查工作流:提交代码至仓库前做代码检查

提示:这篇博客以我前两篇博客作为先修知识,请大家先去看看我前两篇博客 博客指路:前端 ESlint 代码规范及修复代码规范错误-CSDN博客前端 Vue3 项目开发—— ESLint & prettier 配置代码风格-CSDN博客 husky 工具配置代码检查工作流的作用 在工作中,我们经常需要将写好的代码提交至代码仓库 但是由于程序员疏忽而将不规范的代码提交至仓库,显然是不合理的 所

未来工作趋势:零工小程序在共享经济中的作用

经济在不断发展的同时,科技也在飞速发展。零工经济作为一种新兴的工作模式,正在全球范围内迅速崛起。特别是在中国,随着数字经济的蓬勃发展和共享经济模式的深入推广,零工小程序在促进就业、提升资源利用效率方面显示出了巨大的潜力和价值。 一、零工经济的定义及现状 零工经济是指通过临时性、自由职业或项目制的工作形式,利用互联网平台快速匹配供需双方的新型经济模式。这种模式打破了传统全职工作的界限,为劳动

Smarty模板引擎工作机制(一)

深入浅出Smarty模板引擎工作机制,我们将对比使用smarty模板引擎和没使用smarty模板引擎的两种开发方式的区别,并动手开发一个自己的模板引擎,以便加深对smarty模板引擎工作机制的理解。 在没有使用Smarty模板引擎的情况下,我们都是将PHP程序和网页模板合在一起编辑的,好比下面的源代码: <?php$title="深处浅出之Smarty模板引擎工作机制";$content=

3.比 HTTP 更安全的 HTTPS(工作原理理解、非对称加密理解、证书理解)

所谓的协议 协议只是一种规则,你不按规则来就无法和目标方进行你的工作 协议说白了只是人定的规则,任何人都可以定协议 我们不需要太了解细节,这些制定和完善协议的人去做的,我们只需要知道协议的一个大概 HTTPS 协议 1、概述 HTTPS(Hypertext Transfer Protocol Secure)是一种安全的超文本传输协议,主要用于在客户端和服务器之间安全地传输数据

以太网交换机工作原理学习笔记

在网络中传输数据时需要遵循一些标准,以太网协议定义了数据帧在以太网上的传输标准,了解以太网协议是充分理解数据链路层通信的基础。以太网交换机是实现数据链路层通信的主要设备,了解以太网交换机的工作原理也是十分必要的。 1、以太网协议介绍 1.1以太网协议 以太网是当今现有局域网(Local Area Network, LAN)采用的最通用的通信协议标准,该标准定义了在局域网中采用的电缆类型和信号