专栏首页小巫技术博客谈谈程序员的焦虑感

谈谈程序员的焦虑感

我接触Android 应用层也快3,4年了,说实话,公司一直让做app 层开发,工作之余,学完ReactNative 和Weex,简单的做了Demo,实际开发中不让上,学完一年忘完了,之前大学专业还专门学了一年Linux 内核,开发中很少去用,慢慢就废了。有公司前辈建议我学java后端 ,有前辈建议我去学混合开发,说实话,好迷茫,尤其是偶尔学的新东西,如果成为不了一种知识体系,很碎片化的在学习,跟我这样,学了一个月的node.js,学完没处上,慢慢就发现,不知道学啥了。

我一看,这不是我曾经迷茫过的类似的问题么。我相信这也是工作几年的程序员会产生的迷茫,因为工作的几年已经不是那时刚步入社会的新人(菜鸟),已经可以做一些曾经做不了的事情了,也算是个熟练工了,能够自己解决日常工作的一些问题,能够比较轻松实现一些功能需求了。但是现在问题来了,技术到了瓶颈,怎么办?我曾经在知乎回答过一个问题:

感觉安卓应用开发就是一些接口的调用和ui界面的逻辑处理,还有其他可以深入学习的吗? - 来自知乎

当时我的回答是这样的:

独立开发过几个产品,说一下自己的见解,基本上有完整经历过一个产品的开发过程都应该清楚UI层是应用开发中最常变的一部分,app开发者绝大部分的时间都花在UI微调上,而业务逻辑基本上需求定下来不会变动太多,除非是产品迭代一些功能性的追加,不然就是不停的堆UI、堆UI,干过两年以上的开发者基本的开发能力已经有了,业务能力也差不多,这时候会遇到瓶颈,基本上就是找不到更加深入的方向,这个时候就可以考虑一下自己参与过的产品所使用到的技术是自己深究过的,打个比方,开发app的时候,一般会用到Http框架,这样的框架你是否有真正去实践过,或者有研究过它的实现思路和设计思想,我们一般都会拿过来用,但为什么要这样设计就是我们需要去了解的,这可以提高你的架构的设计能力和编码的水平,除了框架,更多的是深入framework层相关的,一些特殊的需求,比如动态热更新、插件化的实现,对应用开发者来说都是新的挑战,还有对app的性能调优,产品上的优化,这些东西都是可以根据其中某一个点进行发散的。只做UI层的尝试是没有什么前途的,不管干多少年,眼界也是极其有限,做技术的只能不停的深挖,构建完整的知识体系,才能打通自己的任督二脉。我个人的一些观点,仅供参考。

这个只是针对App开发的一些见解罢了。想一想,现在技术日新月异,层出不穷, 就拿Android领域来说:

RxJava、Kotlin、React native、MVP、MVVM、插件化、热更新、Data Binding…

这些技术的出现都是为了去解决以往解决不了的问题,那么我们的问题来了,我们是不是每出一个新技术都要去学一下,当然我们作为程序员也应该与时俱进,去接受一些先进的思想。但这里有个问题就是,我们太过于强调新,而忘记了这些新技术的本质,任何一门新的技术都改不了一个事实:底层技术是不会变的。至于学不学,可以问自己一个问题:

学这门技术能够解决什么问题?我如何在实际工作中运用上?

我们学习一门新的技术不是为了学习而学,最终还是要回归实际应用上去,不然过一段时间你发现自己又给忘记了,不然怎么叫学以致用呢。

前面的问题还有一个就是,要往哪个方向学更有前景?这个真不好说,很多人经常犯的一个毛病就是想得太多,做得太少,每天都在纠结学什么,就是不动手。我们可以看到是前几年移动开发很火,大家一股脑的就往这个领域钻,再看看现在,移动开发似乎没有这么火了,想找工作的同学和想换工作的同学是不是发现难很多了,你能想到会是这样的局面吗,真不好说,现在也许是市场冷静了,任何一门领域的火热都跟市场的需求相挂钩,一旦市场需求量少了,或者不再需要,我们都有可能面临失业。

我们来看看现在什么最火热,列举一些:

VR、AR、机器学习、深度学习、人工智能

想必大家每天都会看到这些相关的新闻和资讯,也许这些是未来比较有前景的领域了,但我们不能因为这些概念的火热就一股脑得投入到里面,我的看法就是找一个自己感兴趣的方向,持续发力,让自己成为这领域的专家,但前提是你得打好基础。

好了,说到这里你的焦虑感是否少了些许呢?如果还没有,我提个问题就是你想成为哪个领域的工程师:

  • 终端
    • Android/iOS
    • Cocos2d
    • Unity 3D
  • Web前端
  • 后台
  • 运维
  • 测试

其实每个领域都有相应的技术栈,你可以从中选一个自己感兴趣的方向去学习,但并不局限于说你只关注于某一个方向,我的建议是:

专注于一个领域,横向扩展其他领域的技术。

总之一句话,不要自我设限,没有人说你一定要成为什么样的人,而是你想成为什么样的人。谁知道哪天你不想做程序员了,想回家卖咸鸭蛋了,那你就不需要纠结学什么的问题了,及时行乐,开心就好。

本文分享自微信公众号 - 小巫技术博客(wwjblog),作者:巫山老妖

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-04-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 谈谈程序员解决问题的能力

    用户1130025
  • App更新策略课程-定义后台更新服务

    用户1130025
  • Android Crash之Java Crash分析

    用户1130025
  • [第二部:容器和微服务架构](4) 微服务架构采用准则

    顾名思义,微服务体系结构是将服务器应用程序构建为一组小型服务的方法。这意味着微服务架构主要面向后端,尽管这种方法也用于前端。每个服务在其自己的进程中运行,并使用...

    首席架构师智库
  • 中国信通院发布:《2018年大数据安全白皮书》

    在2018中国互联网大会上,中国信息通信研究院(以下简称“中国信通院”)发布了《大数据安全白皮书(2018年)》。中国信通院安全研究所数据安全研究部副主任陈湉对...

    钱塘数据
  • 5120TB数据存风险,多在中美泄露?信通院发布2018大数据安全白皮书

    白皮书首先从大数据带来的变革出发,探讨了大数据安全区别于传统安全的特殊内涵;然后聚焦技术角度,给出大数据安全技术总体视图,分别从平台安全、数据安全和个人隐私安全...

    华章科技
  • 微服务设计指南

    微服务是当今软件工程师的一个热门话题。让我们了解如何使用微服务架构风格构建真正模块化、业务敏捷的IT系统。

    纯洁的微笑
  • 微服务设计指南

    微服务是当今软件工程师的一个热门话题。让我们了解如何使用微服务架构风格构建真正模块化、业务敏捷的IT系统。

    yuanyi928
  • 苹果10亿美金投资滴滴,你必须知道的六件事

    苹果10亿美金投资滴滴,行业震动,关于这次投资有哪些关键信息值得关注呢? 1、苹果第一次投资O2O或者服务类公司,与苹果核心业务关联不强,但谁都知道这是未来,迷...

    罗超频道
  • 「分布式系统前沿技术」专题:微服务架构何去何从?

    分布式技术的发展,深刻地改变了我们编程的模式和思考软件的模式。值 2019 岁末,PingCAP 联合 InfoQ 共同策划出品“分布式系统前沿技术 ”专题, ...

    孙玄@奈学教育

扫码关注云+社区

领取腾讯云代金券