雇用Elixir开发人员
Elixir是一种动态编程语言,使你能够建立可扩展和可维护的系统。Elixir建立在Erlang虚拟机上,Erlang虚拟机以操作低延迟、分布式和容错系统而闻名。它也被有效地应用于网络开发和嵌入式应用。
该语言由Ruby团队的前核心成员José Valim于2011年建立,并在很大程度上以其为基础。它有一个富有表现力的语法和风格,似乎是等同的。因为它与Erlang虚拟机的字节码兼容,所以它与它的生态系统和性能(BEAM)也是兼容的。Elixir可以管理大量的流量,同时保持体面的速度和有趣的功能。它的设计还使用了actor模型,这是一种开发可扩展应用程序的并发策略。
Elixir开发的发展前景
Elixir需要几年时间才能在开发社区获得吸引力。然而,在2021年,它在专门的应用程序中超过了它的竞争对手。
与Phoenix一起,它作为许多大规模在线计划的骨干。如果你正在寻找一个可扩展的MVP,灵药是一个很好的选择。由于Nerves的存在,它也是嵌入式软件的一个合适选择。
这是一个好处,但要记住,Elixir永远不会像它的一些对手那样出名,也不会有那么大的社区或那么多的即用型库。它不是一种在Stack Overflow上对每一个可以想象到的问题都有解决方案的语言。
Elixir开发人员的职责是什么?
- 必须对软件程序进行测试、分析和调试。
- 编制专业的技术文档。
- 实验新的设计和编码趋势。
- 确保应用程序是可扩展的,简单的,易于维护的。
- 在Elixir中,你可以设计、创建和管理应用程序。
- 引导和支持设计和开发的选择。
如何成为一名Elixir开发人员?
Elixir,像其他编程语言一样,可以用同样的方式学习。如果你在任何类型的编程方面有坚实的基础,那就像学习语言的内置函数一样容易,然后学习新的语法。要考虑Elixir开发人员的职位,你必须首先完成以下步骤。
- 学习Elixir语法的基础知识。
- 使用Elixir基本语法。
- 开发Elixir项目。
- 了解Phoenix。
- 为远程Elixir开发人员制作一份简历。
成为Elixir开发人员所需的技能
Elixir开发人员的职位是一个相对较新和快速增长的部门。因此,成为Elixir开发员并不是一个放之四海而皆准的主张。有几种方法可以进入这个行业,这取决于你的教育背景、技术能力和兴趣领域。
为了推进你的职业生涯,你需要获得以下技能。
规模感和并发性
确切地说,什么是并发性?把计算看作是一场比赛,在这场比赛中,赢家是由所有完成比赛的选手选出的。参赛者(进程)经常被用绳子绑在一起,所以如果一个人失败了,其他的人就不能继续。并发通常不是新开发者学习的第一件或第三件事,但如果你想作为Elixir开发者工作,你应该在可行的情况下尽快开始学习它。Elixir有很多应用,但当你需要同时做很多事情时,它才是神奇的地方。与其他系统不同,Elixir可能同时扫过无数的进程翻转,还有几十个进程在后台运行。一个Elixir系统可能在没有这种连接的情况下进行自我修复,它的进程很小,可以同时在所有CPU上运行。在这方面,Elixir与它的母体Erlang很相似,后者以其座右铭 “写一次,跑一辈子 “而闻名。它们都使用了一种与普通线程有很大区别的并发方法。
HTTPS协议和服务器
网络应用将在你未来的Elixir工作中发挥重要作用。因此,HTTP协议和服务器架构将对其进行规范,至少是部分规范。Elixir有各种好的Web框架,如Phoenix和Absinthe,仅举几例。不过,除非你对互联网的工作原理有基本的掌握,否则你无法用它们做什么。首先,我想提出几点建议。学习基本的请求-响应通信周期,这里有很好的解释。你应该了解HTTP的状态代码,以及当它们发生时该怎么做。POST和PUT方法之间的对比很重要,Stack Overflow有一个有用的线程来解释它。这个一小时的视频将教你如何利用HTTP中的cookies。然后,感谢Mozilla,刷新了你对HTTP标头的理解。Web Socket的知识将是对这一开始的盘点的一个很好的补充。虽然它是一个广泛的主题,但在这篇博客文章中涵盖了基本原理。
数据库
如果你在以前的技术中与数据库斗争,不要担心;Elixir会让你的事情变得更简单。如果你没有相关的经验,在整个学习过程中,Elixir不会在你的腿下投掷许多日志。然而,elixir并不适合那些需要立即直面一切的人。当涉及到数据库时,传统的Ruby部署将为你处理很多任务,如建立和播种第一个数据库。然而,在Elixir中,你多少要对它负责。在第一个小插曲之后,Elixir的功能非常好。数据库封装器Ecto可以与SQL和NoSQL数据库一起工作。由于它是一种语言感知的查询,所以它的功能更多。
管道式的数据处理
因为Elixir是一种函数式语言,它提倡使用管道进行数据处理,管道是由改变不可变的数据结构的函数组成。如果这种数据处理方式对你有吸引力,你会感到很放心。随着你获得专业知识,像GenStage或Flow这样的库将允许你在分布式环境中实现Elixir,这是Elixir的主要好处之一。
团队协作能力
Elixir开发人员通常与数据科学家和分析师、软件工程师、研究科学家、营销团队和产品团队打交道,因此,向利益相关者正确阐述项目目标、时间表和期望的能力至关重要。
如何找到远程Elixir开发的工作?
Elixir开发人员必须努力工作,以跟上行业目前所有的改进,并稳步扩大他们的专业知识。为了在他们的行业中有效和一致,公司必须坚持最佳做法。从这个意义上说,开发人员在前进的过程中应该牢记两件事:练习实践,和得到更有经验和擅长教授新技能的人的帮助。作为Elixir开发人员,还必须磨练自己的分析、计算机编程和软性能力。
领类提供最大的Elixir开发员职位空缺,与你的Elixir开发目标相匹配。与前沿技术合作,解决复杂的技术和商业挑战,可以帮助你迅速扩展。加入世界上最优秀的开发者网络,获得全职、长期的远程Elixir开发者工作,获得更高的收入和更快的职业发展。
工作描述
工作职责
- 实验新的设计和编码趋势
- 制作专业的技术文档
- 在Elixir中,你可以设计、创建和管理应用程序
- 确保应用程序是可扩展的,简单的,易于维护的
- 设计和开发的选择得到引导和支持
- 必须对软件程序进行测试、分析和调试
要求
- 计算机科学或信息技术专业的学士/学位硕士(或同等经验)
- 3年以上使用Elixir的经验(极少数技术高超的开发者例外)
- 拥有Elixir、Erlang和Phoenix等技术的专业知识
- 有前端技术,如HTML、CSS和JavaScript
- 有开发和部署RESTful APIs的经验
- 有能力将设计修改输入数据库并记录
- 具有数据库技术的工作知识,如SQL、NoSQL、PostgreSQL、Oracle等
- 全职工作(每周40小时),与美国时区有4小时的重合
- 要求英语流利,以便与工程主管人员成功沟通
优先考虑的技能
- 爱好功能性编程
- 优秀的人际关系和团队合作能力
- 优秀的团队合作精神,对细节有敏锐的洞察力
- 有代码版本技术的经验,如Git, SVN, Mercurial等
- 了解HTTPS、并发性和管道式数据处理
- 有AWS、大数据、Hadoop和Hive云基础设施的经验