想找份更好的编程工作应该学什么?

编者按:Swizec Teller认为,这个问题的问题也许在于问错了问题。

许多人都问我类似这样的问题“我应该学什么才能拿到一份编程工作?”或者“我怎么才能在硅谷当上工程师?”

又比如下面这个:

我需要一点建议。我已经33岁了,我得离开做支持的岗位,哪怕不能做全栈开发至少也能谋个DevOps的工作,但是太贵了。我应该先学什么呢?各位有什么建议吗?

言下之意通常是应该学什么技术才能找到一份工作。就好像你的技术选择就是某种银弹似的。

想知道一点肮脏的小秘密?其实学什么都没关系。

任何你听说过的技术都可以。你Google的时候是不是找到了1万个以上的结果?那就说明有公司在生产当中用到了。

只要有公司用,你就可以找到工作。

不错。但是我得警告你一下:流行度变高的技术找起工作来要比越来越不受欢迎的要更容易。所以FORTRAN或者COBOL就不要选了。

第2个警告—如果你是程序员或者开发者,那技术的选择就要重要得多。但如果你是工程师,那技术选择就没那么重要了。这也是工程师平均比程序员贵2万美元的原因。

作为软件工程师,你真正的工作并不是写代码。而是把人工概括的业务需求转化为计算机可以遵循的详细需求。

你的工作是提问题然后找出产品人没想到的边界情况。你的工作是帮助运营定义足以自动化的流程。

当然,最后你还是要写代码,或者可能你会把规范转交给写代码的,但是你的真正工作是想出规范。哪怕这个东西只是在你写代码前在脑子里形成的。

不要仅仅学习技术,还要学习如何用技术解决问题。

此处的关键是你必须跑一场马拉松。有什么东西能够让你保持10年的兴趣吗?也许不会是某个技术栈或者语言,而是你想解决的一个问题。

假设你就是上面那位做支持的人。你应该做什么才能找到更好的工作呢?

首先,你可以先看看自己目前的工作。你有没有遇到什么问题或者每天都要做的重复性工作呢?也许你可以对那些东西进行自动化。

开始挖掘。学习解决问题需要学习的东西。

然后你可以看看周围。你的团队有没有什么在执行一些很烦的流程?流程有没有改进的可能?或者有没有一些你不用但是可以让大家的生活更好过的流程?

然后你可以着手去解决那些问题。深入研究。学习需要学的东西。能够把宽松的问题转化为代码的人远比只会接受严谨的指令来写代码的人有价值得多。

恭喜你!现在你是工程师了。你需要技术去解决现实世界的问题。而且你甚至都不需要别人告诉你规范!

面向问题的学习不仅是掌握知识最有趣的方式,而且还能教你所有必要的边缘技能。像把模糊变成明确、搜索解决方案,深入代码寻找bug,与用户交谈,测试以及随手学习新技术等技能。学习一切东西!

如果这样还是不行,还不知道要用什么技术的话,那就去HackersNews上面找“招聘”类的帖子(或者参考10大流行编程语言之类的文章)。一个月下来大概就能收集到600到900份高品质的工作需求。这些大都会列出自己使用的技术。

读读那些帖子。统计一下技术词汇的频度。选出最热门的3个。然后通过解决你的问题来学习之。

不过需要警告你的是,流行库和框架每2到3年、语言、服务器和数据库等核心技术每5到10年就会彻底更新一次。

所以不要只顾着埋头研究技术,不妨集中精力学习如何学习和解决问题。成为一名工程师

原文发布于微信公众号 - 大数据钻研(bigdata118)

原文发表时间:2016-07-25

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

外贸SEO该如何利用Google优化工具选择谷歌优化关键词

外贸网站在做外贸seo优化的时候,优化关键词的选择是非常重要的,googlel优化关键词选好了,网站就容易获得很好的流量和排名;反之,如果最初就选择了错误的关键...

3238
来自专栏IT大咖说

场景化智能推送

摘要 本次分享的主题是场景化智能推送以及大数据相关的实践。 ? 个推推送 个推是一家大数据服务商,提供开发者服务、精准营销和数据咨询等服务。个推推送主要是帮助大...

5389
来自专栏数据科学与人工智能

【陆勤阅读】探索机器学习中的数据科学

原文作者:原微软技术与研究部门合伙人数据科学架构师Mario Garzia 译者:杜红光 数据科学与“大数据”已经成为21世纪高科技产业的流行语。而“大数据”这...

21410
来自专栏灯塔大数据

产品经理究竟应该关注什么数据 由产品特点和生命周期决定

产品这群人啊,真的是三句话不离老本行,之前和部门的产品Mentor一起吃饭的时候,他问了我这么一个问题:“如果你是饿了么的产品经理,那你日常工作的时候应该关注一...

3156
来自专栏靠谱PM

如何做需求分析

如上图理想中的男朋友和现实中的男朋友,因为有差距,所以就有了类似于“如何让男人宠爱一生”之类的书、情感专栏等产品产生。

1631
来自专栏互联网开发者交流社区

总结个人职场常用管理方式

瀑布式开发用行业术语来解释就是,在软件定项的时候个开发阶段的准备:需求分析,组件定义,概要设计,详细设计,编码规范,冒烟测试,PRE/PRD测试等。

912
来自专栏IT大咖说

DevOps与传统的融合落地实践

内容来源:2017年5月6日,王津银在“DevOps&SRE 超越传统运维之道”进行《DevOps与传统的融合落地实践》演讲分享。IT大咖说作为独家视频合作方,...

40610
来自专栏云计算D1net

云计算离超级云计算还有多远?

单就一个行业而言,一直以来我们对于云计算所带来好处的认识可能显得过于狭窄了。如果云计算是一次真正的革命性变革,那么它就必须能够支持生产和用户体验的模式,而这些都...

4676
来自专栏产品成长日志

01数据产品经理从零到一:数据产品能力模型构建

笔者正在由电商产品经理转型数据产品经理,为了提升自己学习的效率,尝试以这种输出驱动输入的模式,将自己学习的思路和学习内容分享给大家,也希望可以与其他数据产品经理...

1641
来自专栏DevOps时代的专栏

基于容器和微服务的端到端持续交付流水线

5374

扫码关注云+社区

领取腾讯云代金券