在入门的时候,由于之前对于科技产业的接触较少且考虑到沉没成本等原因,往往会有着诸多疑问:

职业方向该如何选择,从事前端,后端还是移动端呢?

编程语言该如何选择,C,C++,Java,Python等等怎么选?

……

什么是技术栈-转码FAQ之——我该选哪项技术栈/语言?插图

今天我们请到豆瓣Women In Tech小组中的椒盐豆豉与大家分享常见问题FAQ。原文发布于豆瓣小组Women In Tech女性科技从业者集合地,已获得原作者授权。

转码

希望本篇文章能够为在转码前踌躇徘徊的姐妹

什么是技术栈

,为想要从事程序代码开发相关工作的姐妹,以及所有对转码感兴趣的姐妹提供一点帮助和指引。同时非常欢迎和期待各位有经验的姐妹分享补充相关信息和提出建议!欢迎大家的加入,不断扩大Women In Tech家族的规模~

01 举些例子

前端/后端/移动端等等方向我该选哪个?

常用的编程语言Python/Java/C++/…学哪个好?

若以后需要转方向门槛是否很高?

坦白说,这些问题没有绝对正确的答案。

针对转岗来说,至少在美国的码农界,答案是:门槛并没有非常高。初、中级转岗还是挺容易的。

各种技术的本质是工具,而工作的本质是:把需要实现的功能通过计算机实现。以现在大多数硬件和底层优化的容错率,及需要编写的逻辑的简单程度

什么是技术栈

,对工具本身熟悉程度带来的生产力差距远不如个人的执行力和学习能力带来的差距大。

回到技术栈的具体方向来说,不同方向的岗位之间,对同一个人,在很多公司内部转起来甚至都不需要面试,公司需要你做什么就做什么,机缘巧合做了各项目之后简历上有了这些经验对日后职业路线有一定影响但也不大。

举个例子:同班同学的课程都基本相同,不分 track,毕业之后即便是一起进了同家公司,也因为分组不同(主要看运气),现在做前后端以及移动端的都有。四个同班同学居然就被分到了前端,后端和移动端三个方向。

什么是技术栈-转码FAQ之——我该选哪项技术栈/语言?插图1

再比如我入行时候(因为当时几乎随机的分组)做的是后端,第二份工作跳去一家大公司做 growth 瞬间变成全栈+(前后端加移动端)(注意:很多大公司是面 generalist 的,也就是即便到了 senior level 大多数职位你也可以用你现在会的技术面试,进了公司再分组匹配),第三家跳到小公司又回归了主流后端,但项目需要前端也要随时能捡起来并 deliver。

所以技术栈方面,我三家公司五六个组用的技术完全不一样,第三家甚至面试只用我当时不会的语言直接做题,我突击了俩小时硬上也过了,现在工作也没碰到太多技术上的阻碍(毕竟大家都是多栈互相学习,少数不懂的咨询组里相关领域资深的同事能够得以解决)。

02 如何选择

转码之前大概查一下现在热门方向,timebox(注:指留一定固定时间) 个一两天收集这些方向的资料然后再做个决定就好了。

提供两个无成本简单方法:

1. 去感兴趣产品/服务的公司招聘网站搜开放的职位,主要看看JD (job description)说他们招什么技术栈。

2. 上 GitHub 看自己感兴趣方面的项目用的是什么技术栈。

强调 timeboxed 是因为这个行业业内经验远比业前学习重要,现在隔行瞎猜半天,也不如选个差不太多的(注意:不是花很多时间找所谓最优,这甚至不是一个零和游戏,至于如何选差不多,上述的方法足矣)。

03 总结

综上所述,先学习先入行。之后再凭借更丰富的资源和自己实际经验和知识的增加随机应变,做更好的选择。其实很多初学者特别关注技术栈,仿佛非要选个一劳永逸的语言,但实际工作机会中可能大部分靠时机和运气。所以也需要在工作中不断学习,此时业前的学习更像是入行的敲门砖,入行之后的道路需要结合实际资源和经验做出选择。

什么是技术栈-转码FAQ之——我该选哪项技术栈/语言?插图2

最后加上小组里的科技姐妹Cici的补充:

在转码初期学习时,不必过于纠结使用的是哪种编程语言,因为这不是一个one-way door decision,文章中提到了“工具的熟悉程度”,在面试(美国的码农界)时,核心考察的工具就是对算法和数据结构的掌握。而编程语言只是把对这些核心的理解表达出来的载体。在面试不同组的时候,也许面试官会根据当前组里使用的语言,而有语言的偏好,但是正规的面试中,面试官是不会限制编程语言选择的。

本篇主要关于美国的码农界,欢迎各位姐妹继续补充添加国内外的情况,探讨分享自身经历和经验,给更多不同地理位置的姐妹提供参考和指导。

再次非常感谢椒盐豆豉同学的热心分享,希望姐妹工作顺利,身体健康,万事胜意~