主页 > 洞察 > 设计沙龙 > IT人力外包
  • 外包程序员到外派公司里应该做什么?

    adinnet / 2018-01-16 14:08 /IT人力外包

    在外包公司工作的弊端你知道吗?首先你会从底层简单代码写起,而且可能一直都是那样的代码,技术上不容易提升。因为是外派人力,所以你在外派公司不容易有归属感,有些信息由于保密的原因不会对你开放,外派公司的福利你没有份,如果和你一起外派的人多,那么还好些,否则你会觉着比较孤单,需要自己去适应。

    所以给大家一些我曾经经历过的建议,在外派公司里我们应该做些什么?首先说说我在读编程专业的时候,这些东西大学都没有教过,甚至在工作中,公司都没有这些要求。大学主要教的是代码编写,能编译通过,能出正确结果就可以了。在工作中,代码能用,没有明显 bug 就行。然而,在我个人工作实践中,逐渐的体会到这些趋势的重要性了,可维护性的高质量代码可以大大减少自己在维护中的难度和压力。作为准备成为一个合格的开发人员,应该熟练掌握这些知识和技能。如果大学没有教过,一定想办法自己学习和提高。这样你才有可能留在外派公司里,当然也需要你更努力,工作更出色,做到核心的模块,才有机会。外包公司一般和外派公司有协议不能挖人过来。但是当你离职后可以重新入职到驻地的公司里的。很多公司是没有这样的限制的。同时,这里在技术上给大家一些建议,希望大家在今后的职业生涯中有所帮助。

    1. 数据交换语言的发展

    数据交换语言发展总体来说就是从 XML 主流逐渐发展到 JSON 主流的过程. 虽然 XML 现在应用还是非常广泛,但是由于其复杂和标签占用空间大,逐渐被轻量级的 JSON 给代替了。尤其 JSON 与 JavaScript 天然兼容,无需解析,直接使用。所以在很多网络技术中 JSON 是优先使用的。

    而如今很多配置文件也是用 JSON 实现的,比如 Composer 和 node 的配置文件。

    JSON 的阅读方式更符合程序员的阅读习惯,格式化后的结构一目了然,容易理解。

    JSON 好处:结构符合程序员阅读习惯、文件大小相对更小、JavaScript 可以直接使用、在非 JavaScript 的脚步语言中,转化成数据结构更容易、学习曲线很短、正是以上这些原因,使用 JSON 作为数据交换语言可以说在编程界里,是大势所趋了。

    2. WEB 技术的桌面化和 JavaScript 的全栈化

    JavaScript 近些年发展火热,逐渐印证了一个 Atwood 法则:凡是可以用 JavaScript 实现的,更终都会用 JavaScript 实现。Nodejs 的出现,奠定了 JavaScript 走出浏览器,走向了服务器端NW 的出现和 electron 正式版发布,JavaScript 走向了桌面MongoDB 的出现,JavaScript 走向了数据库Tessel 的出现,走向了硬件和物联网。如今一个全栈系统,从前端到数据库,可以完全使用 JavaScript 一种语言。还有很多人正在致力于把 JavaScript 推向更多的领域中。而 Web 技术(html+css+JavaScript)由于 NW 和 Electron 的出现,已经可以编写桌面程序了。正是由于 JS 的优秀模块很多,以及 HTML+CSS 的界面容易编写和掌控,纠错工具丰富,很多人愿意用 WEB 技术进行开发。现在比较火的桌面工具有 VS-Code 编辑器和 Atom 编辑器。

    总结一下:由于 WEB 技术的便利性,WEB 技术涉及的领域也就越来越多,再也不是浏览器的专利了。

    3. Web API 的全面发展

    Web API 虽然历史悠久,但是真正使其推广流行的应该是 Twitter,而后移动设备的普及使其得到更大发展和普及。移动设备如果没有 Web API 基本就不能工作了。Web API 的普及,也使得网络服务之间相互连通,形成一个更大的服务网络。总之,如今的 Web API 已经是不可或缺的存在了。

    Web API 更多的是一种服务,或是一种数据交换模式。只要语言带有 HTTP 的网络访问功能,就都能使用。提供 Web API 的公司,发布 Web API 后,一般也会同时发布一些常用语言的 SDK,方便相应语言开发人员快速上手;但是如果语言比较小众,没有提供相应的 SDK 也没有关系,编写一段 HTTP 的请求,也是可以交换数据。从编程的角度来归纳一下 Web API 特点就是:容易编写,就是个函数,无需界面。语言无关性,无论 Web API 是个语言编写,几乎任何语言都能调用访问性好,无论在哪,只要网络能访问,Web API 就可以用。

    4. 语言之间的相互借鉴

    语言之间的相互借鉴也越来越明显了,比如:PHP5.0 后支持了类,5.4 后支持了 Trait,5.5 后支持了生成器(Generator)JavaScript ES6 支持了箭头匿名函数,生成器(Generator),类(不是 Prototype 的类)

    C# 和 Java 相互借鉴Coffee Script 借鉴 Python 和 Ruby与其说是相互借鉴,不如说随着语言的发展,一些语言概念逐渐成为了标配,如果没有,就算是一个不完整的语言了。比如说类,匿名函数,常用数据结构等都成为了标配。

    5. 语言解析器的工具化

    语言解析器(Parser)在过去自是作为编译器的一部分存在的。如今,它已经独立出来作为一个模块或者工具来使用了,这个对于一个语言的生态有着很大的意义,促进了语言生态圈的良好发展。

    独立出来的解析器,可以用来编写以下和语言有关的工具,这些工具都是用来优化代码质量的,提高编码体验的。语法检查,JavaScript 的 JSHint 用的就是 JavaScript 的一个解释器,被 JavaScript 重新解释一遍,把可能有问题的地方标记出来通知程序员,程序员可修改避免潜在错误。代码更小化,代码重写的一种形式,JavaScript 的更小化项目(比如 Urglify),是把语法正确读取后,进行更小化压缩。把单词变量转换成单字母变量。甚至是 if else 转换成?: 形式。语法扰乱器,就是代码重写的一种形式,让代码无法阅读,保护代码。语法整理器,代码重新的一个形式,把无法阅读的代码,转换成可阅读的代码,比如 beautifier。语法高亮,一般用于代码编辑器和代码显示组件的。代码分析器, 把可用的代码部分进行扫描,列出代码相关数据,比如用了多少类,多少对象,多少变量,多少全局变量等等代码清理器,分析器的加强,清理不用的变量,不用的对象和,不用的函数等。自动完成,一些 IDE 可以分析已经存在的变化和函数,以后在不断的打字中可以智能的自动完成。代码追踪,比如说某段代码被执行了几次,程序报错时候,函数被执行的顺序,测试程序时候的代码覆盖率等等虚拟执行,JavaScript 代码在一个保护区域内或环境执行,代码可以返回值,但不能影响非虚拟环境内的代码执行。比如说,代码里面有全局变量,但是虚拟执行后这个全局变量只在虚拟环境内,非虚拟环境的没有这个全局变量。

    结语:大家现在都知道外包程序员到外派公司里应该做些什么了吧,其实不管项目完成是否要重新回到外包公司的“人员池”里,还是在外包公司承接项目,都不会影响您提高自己能力,所以不管在什么时候什么地方都不要忘记学习。

上一篇:开发儿童疫苗接种APP需要有哪些功能? 下一篇:看看IT的工程方面有哪些就知道为什么要从IT行业人才进行外包了