JoeJoeJoe
57 天前
> 简单说一下我的技术选择路径: 15 年 c++入行, 16 年转了 iOS, 一直做到 20 年, 转了 python 后端, 同时也做 Flutter, 现在正在做 Unity 游戏开发, 期间一直有做个人跟私活项目.
掌握的语言: C++, C#, JavaScript, TypeScript, Objective-C, Swift, Go, Python, Lua, Kotlin, Dart, Rust, PHP.
掌握的框架: iOS 原生相关, Android 原生相关, Vue, React, ReactNative, Weex, UmiJS, Odoo, Django, FastAPI, Unity 游戏开发, Cocos2dx, Laravel.
说下自己的感受, 到现在工作 10 年了, 算上上学时候的开发时间, 差不多 13 年了.
刚入行的时候, 学一门新语言很痛苦, 尤其是 OC 这种奇葩语言(对其他语言学习基本没啥帮助, 只有学 C#的时候稍微有点帮助), 一直到学会 Swift 之后, 再学新语言就变的很快(现代语言的概念不能说一模一样, 只能说大差不差, 除了 rust), 后面的时间大部分都花在框架的阅读学习上, 看一遍框架的公共头文件, 在脑子里留个影, 就直接上手干项目了.
开始也是不顺利, 有坑趟坑, 没坑自己挖坑趟, 磕磕绊绊的学了一堆框架跟语言(基本都是项目或者需求驱动, 自己感兴趣学的那些基本都忘得差不多了), 等趟的坑多了, 经验多了之后, 发现其实学框架跟学语言差不多, 设计思想都是有迹可循的, 差异主要在针对语言特性的实现以及语法糖的封装上. 到这里差不多应该是 2020 年左右, 工作了 5 年多了.
因为慢慢的总结出自己的方法论之后, 加上工作稳定, 业务一直在舒适区, 慢慢的有点膨胀, 敢接一些自己不了解的领域的项目了, 然后就被现实狠狠地上了一课, 这里就不细说了, 只能概括为隔行如隔山. PS: 开发出身的创业者大部分都有这么一种思想: 只要我跨行, 那么就是降维打击, 实际上各行各业都有自己的壁垒跟潜规则, 有些跟 IT 行业的兼容性强, 可以无脑梭哈, 效果也不错. 但是有些兼容性不强的行业, 不了解行业基础的情况下无脑梭哈, 只能是事倍功半.
> 语言跟框架的学习使用经验其实对一般工作的晋升没有太大的帮助(掌握基础部分以及知道高阶部分咋用就能满足 90%的工作场景 ), 但是业务经验的积累可以让自己慢慢的变成业务专家甚至是行业专家, 当然, 在开发圈子里的鄙视链中, 业务开发一直是处在底层的. PS: 老板跟产品其实更喜欢跟懂业务的开发沟通
因为刚才说的跨行做项目踩了一些坑之后, 后面的项目选择也开始变的谨慎了, 对陌生行业的紧急项目基本都是拒绝或者转介绍给其他的伙伴, 随着接触的业务行业变多, 慢慢的也是总结出了一些经验(算是对自己的方法论做了补充), 新的业务做起来也没有那么吃力了, 毕竟业务经验多了之后, 还是有些相通之处的, 隔行不隔理诚不欺我.
不知不觉叨叨了挺多的, 因为确实是有点感触.
最后, op 其实也不用太迷茫, 只要保持对技术的热爱以及持续学习的状态就可以了, 拓宽一下收入来源, 应该能让自己安心一些.
以上 ~ 祝周末愉快!