鸿蒙? 车载?Flutter? React Native? 为什么我劝你三思,说点不一样的

简介: 本文探讨了在信息技术快速发展的背景下,开发者如何选择学习路径。作者提倡使用终局思维来规划职业发展,考虑技术的长远影响。终局思维注重长远目标、系统分析、反向规划和动态调整。以车载开发为例,预测未来智能汽车可能由语音助手主导,而非依赖平板界面。此外,作者建议不要过分投入打工状态,应思考创建自己的产品,如App,以实现技能补充和额外收入。选择对未来发展和自主性有益的技术,如Kotlin,比盲目追求热点更为重要。做减法和有标准的选择,能帮助减轻焦虑,实现更高效的成长。关注公众号“AntDream”获取更多相关内容。

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点

引言

当今信息技术领域日新月异,各种新技术和新平台层出不穷。鸿蒙(HarmonyOS)、Flutter、以及车载应用开发如今备受瞩目,吸引了大量开发者的关注。然而,对于希望提升技能的开发者来说,一味地追逐最新技术也许并不是最佳策略。这里我结合自己的思考和经历,分享一些不一样的看法,希望对大家有所帮助。

用终局思维思考自己的职业发展

俗话说,男怕入错行。入了程序员这一行,我们除了要面对35岁中年失业的焦虑,另一个就是面对日新月异的新技术的焦虑。

前者对于新入行的年轻人来说,可能太过遥远,但后面这个却是我们大家都会遇到的。那我们该如何选择呢?

这里给大家提供一种思路,就是终局思维

“终局思维”(Endgame Thinking) 是一种战略思维方式,强调在决策过程中预见和分析未来可能的最终结果或终局状态。它要求人们在当前决策中考虑长远的后果和目标,以便制定更为长远和有效的策略。这种思维方式在商业决策、投资、战略规划等各个领域都很有价值。

主要特点

  1. 长远视角: 终局思维强调超越眼前的短期利益,而注重长远的最终目标和结果。

  2. 系统性分析:采取全面的系统性分析,考虑各种可能的情境和结果,以及每种情境下的风险和机会。

  3. 反向思维:从可能的终局状态反推当前应该采取的行动,这种方法被称为“反向规划”或“逆向思考”(Backward Planning)。

  4. 动态调整:根据现实情况的变化对策略进行动态调整,以更好地实现最终目标。

这里举个例子,比如说车载开发。

车载开发随着现在电动汽车越来越多,车载终端也越来越像一个智能手机,或者说智能平板,所以就需要大量的开发工程师。而且电动汽车的智能化正在加快,不知道大家有没有关注,最近,北京、福州等地都发布了车路云协同相关的政策,正在加速推进智能网联汽车,自动驾驶的汽车离我们越来越近了。可以说,我们现在正处于功能机向真正智能机过渡的前夜,只不过这次不是手机,而是汽车。

那上面这些跟我们开发,或者我们说的车载开发有啥关系呢?我们想像一下,智能汽车最终会发展成什么样子?会是现在这样驾驶室前面挂个大平板吗?我觉得不会。眼下是平板替代了传统按键,而往后,我觉得很可能是语音助手替换平板。没错,就像科幻片里的那样。

而这个场景离我们并不遥远,目前实际上技术条件已经都具备了,一些电动汽车上已经有了语音助手,只是还停留在以前那种语音音箱的形式,等到车路云大面积铺开,自动驾驶普及,现在的驾驶室将会大变样,根本不需要平板,因为一切所有的交互都是通过语音。当然显示屏可能还有,但是只是作为给用户展示来看看。不过,这跟我们这些终端开发人员来说,已经没什么关系了。

想明白智能汽车发展的这个终局,我们再来思考要不要跟风上车载时,就会多一个远景发展纬度的选择依据。有了这个远景视角的展望,再来评估自己要不要付出精力去学车载或是转行,或者应该付出多少精力,我想应该会更加清晰一点。

不要对打工太入戏

除了上面提到的终局思维,其实还有一个更好理解的,也更加实际的思路,这也是我这几年慢慢醒悟的一个思路。

先问大家一个问题:你有没有想过自己做一个产品?

这个问题,对于我们做技术的人来说我觉得是一个很重要的问题。其实不论是30+大龄程序员,还是刚刚入行的年轻人,都应该思考一下。

那为什么要思考这个问题?又为什么我自己要做一个产品呢?

有句话叫做,不要对打工太入戏

作为技术开发,通过种种裁员新闻,优化新闻,多多少少应该有些感觉了,就是我们很难依靠一门技术一直干下去,这点并不是说随着年龄增大,我们技术跟不上或者老油条了,而是说我们国内大环境就是这样,甚至这种成了一种文化或者共识。这点跟国外的画风很不一样,国外很多大龄程序员仍然奋战在一线,并且创造力十足。

这些外在环境的因素我们改变不了,但是我们可以换个思路,以最终要做一个自己的产品为目标,来重新思考现在的工作和以后的工作规划。

这个产品并一定是一个App,也可以是一个小程序,一款游戏,或者一个网站,甚至是一个课程,或者一系列的教程。

那问题来了,为什么我需要自己做一个产品呢?

答案很简单:赚钱。

相比大家已经懂我说的了,就是根据自己的工作内容,朝着自己做一个产品的方向,补全自己的技能树,最终做一个产品出来赚钱。这样以后可以自己多一个选择,有睡后收入。直到最后,告别打工。

这里以App为例子,我们如果想做一款自己的App,那以我们现在的经验缺什么?技术肯定不缺了,那还缺的是产品方面的知识,UI设计方面的,测试方面的,应用市场方面的。

所以你看,这些东西,跟Flutter还是React Native有关系吗?没关系!跟鸿蒙有关系吗?如果你想上架华为的应用市场,那你可以学一学,其他的也跟我们没关系。

我们选择学一个技术之前,一定要多思考一下,这个技术对我以后的发展有没有更大的帮助,是对我做产品有帮助,还是让自己在公司中短期内不可替代,利于自己的工作稳定,从而更有时间做自己的产品。

像Kotlin,我之前写过文章,劝大家加快拥抱Kotlin,就是从这个角度思考的。学完Kotlin,不仅提高Android开发效率,还能间接帮助我学习Swift,以后还能开发iOS App。至于Flutter和 React Native,则重要性就没那么高了。

选择大于努力

之前看到一个提问:说自己太焦虑了,快被内耗死了,怎么办?

我们的时间和精力有限,但是我们的欲望却是无限的,就比如我们技术人,面对这么多热门的技术,深怕自己不学习就跟不上,很容易焦虑得不行。

那怎么办?其实没别的办法,就是做选择,做减法。

而做选择,做减法,就要有自己的标准

  • 选择那种一通百通的,利于学习其他技术的,比如Kotlin,这样事半功倍,利于后期发展。
  • 选择有利于最终自己实现自由的,摆脱打工的

其实,更抽象的一个说法是,选择做能复制的事,而不是只能转化的事

啥意思呢?简单点说,就是要选择多做一些能产生睡后收入的事,少做一些手停收入就停的事。

如果想做副业,不知道选什么好,也可以用这个思路去做选择。

比如我们写公众号文章,哪怕后续不写了,那些文章不会消失,以后有人读就会有收入。

还有那些视频号带货的,视频发布以后,就一直在那了,后续只要有用户看有人下单,就会有收入,不需要维护。

还有像写书的,比如郭神

还有很多其他的,以后有机会再和大家分享。


欢迎关注我的公众号AntDream查看更多精彩文章!

目录
相关文章
|
16天前
|
存储 数据管理 开发者
Flutter&鸿蒙next 中的 setState 使用场景与最佳实践
在 Flutter 中,`setState` 是最常用的状态管理方法之一,用于更新局部状态并触发 UI 重新构建。本文介绍了 `setState` 的基本用法、代码示例、适用场景及最佳实践,帮助开发者高效地管理状态,确保代码的可维护性和性能。
78 1
|
13天前
|
存储 调度 数据安全/隐私保护
鸿蒙Flutter实战:13-鸿蒙应用打包上架流程
鸿蒙应用打包上架流程包括创建应用、打包签名和上传应用。首先,在AppGallery Connect中创建项目、APP ID和元服务。接着,使用Deveco进行手动签名,生成.p12和.csr文件,并在AppGallery Connect中上传CSR文件获取证书。最后,配置签名并打包生成.app文件,上传至应用市场。常见问题包括检查签名配置文件是否正确。参考资料:[应用/服务签名](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-signing-V5)。
39 3
鸿蒙Flutter实战:13-鸿蒙应用打包上架流程
|
13天前
|
开发工具 芯片 开发者
鸿蒙Flutter实战:12-使用模拟器开发调试
本文介绍了如何在 M 系列芯片的 Mac 电脑上使用模拟器进行鸿蒙 Flutter 开发和调试。主要内容包括:创建 Flutter 项目、签名、创建模拟器、运行 Flutter 项目以及常见问题的解决方法。适用于希望在鸿蒙系统上开发 Flutter 应用的开发者。
31 2
鸿蒙Flutter实战:12-使用模拟器开发调试
|
16天前
|
存储 Shell 开发工具
Flutter&鸿蒙next 中使用 MobX 进行状态管理
本文介绍了如何在 Flutter 中使用 MobX 进行状态管理。MobX 是一个基于观察者模式的响应式编程库,通过 `@observable` 和 `@action` 注解管理状态,并使用 `Observer` 小部件自动更新 UI。文章详细讲解了 MobX 的核心概念、如何集成到 Flutter 项目中以及具体的代码示例。适合希望在 Flutter 应用中实现高效状态管理的开发者阅读。
89 9
|
16天前
|
开发工具 UED 容器
Flutter&鸿蒙next 实现长按录音按钮及动画特效
本文介绍了如何在 Flutter 中实现一个带有动画效果的长按录音按钮。通过使用 `GestureDetector` 监听长按手势,结合 `AnimatedContainer` 和 `AnimationController` 实现按钮的动画效果,以及 `flutter_sound` 插件完成录音功能。文章详细讲解了功能需求、实现思路和代码实现,帮助读者逐步掌握这一实用功能的开发方法。
92 5
|
16天前
|
容器
flutter&鸿蒙next 使用 InheritedWidget 实现跨 Widget 传递状态
在 Flutter 中,状态管理至关重要。本文详细介绍了如何使用 InheritedWidget 实现跨 Widget 的状态传递。InheritedWidget 允许数据在 Widget 树中向下传递,适用于多层嵌套的场景。通过一个简单的计数器示例,展示了如何创建和使用 InheritedWidget,包括其基础概念、工作原理及代码实现。虽然 InheritedWidget 较底层,但它是许多高级状态管理解决方案的基础。
91 2
|
16天前
|
容器
Flutter &&鸿蒙next中的 Stack 和 Positioned 用法详解
在 Flutter 中,Stack 和 Positioned 是创建层叠布局和灵活定位元素的常用组件。Stack 可以将多个子组件叠加在一起,允许子组件相互重叠;Positioned 用于在 Stack 内部精确控制子组件的位置。本文详细介绍了它们的基本用法、属性和应用场景,包括动画、弹出层和悬浮按钮等。
67 1
|
16天前
|
UED 开发者 容器
Flutter&鸿蒙next 的 Sliver 实现自定义滚动效果
Flutter 提供了强大的滚动组件,如 ListView 和 GridView,但当需要更复杂的滚动效果时,Sliver 组件是一个强大的工具。本文介绍了如何使用 Sliver 实现自定义滚动效果,包括 SliverAppBar、SliverList 等常用组件的使用方法,以及通过 CustomScrollView 组合多个 Sliver 组件实现复杂布局的示例。通过具体代码示例,展示了如何实现带有可伸缩 AppBar 和可滚动列表的页面。
79 1
|
16天前
|
UED 开发者 容器
Flutter&鸿蒙next 中的 Expanded 和 Flexible 使用技巧详解
在 Flutter 开发中,Expanded 和 Flexible 是两个常用的布局控件,用于管理 UI 布局的空间分配。Expanded 使子组件占据主轴上的所有剩余空间,而 Flexible 允许通过 flex 参数按比例分配空间。掌握两者的区别和使用场景,可以让你在构建复杂 UI 时更加得心应手。
68 1
|
16天前
|
UED
Flutter&鸿蒙next 中的 Drawer 导航栏
在 Flutter 中,Drawer 是一个常用的侧边栏导航组件,通过点击菜单按钮或滑动屏幕显示。它用于展示导航项、用户信息和应用设置等。本文通过一个简单的示例代码,介绍了如何使用 Drawer 实现多页面导航,包括 Drawer 的基本结构、ListView 和 ListTile 的使用,以及页面内容的切换。希望对理解和使用 Flutter 的 Drawer 组件有所帮助。
70 1