前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >想找份更好的编程工作应该学什么?

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

作者头像
用户1667431
发布2018-04-18 11:13:16
6430
发布2018-04-18 11:13:16
举报
文章被收录于专栏:大数据钻研大数据钻研

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

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

又比如下面这个:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-07-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据钻研 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
CODING DevOps
CODING DevOps 一站式研发管理平台,包括代码托管、项目管理、测试管理、持续集成、制品库等多款产品和服务,涵盖软件开发从构想到交付的一切所需,使研发团队在云端高效协同,实践敏捷开发与 DevOps,提升软件交付质量与速度。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档