中英文模式阅读
中文模式阅读
英文模式阅读

How to Hire Python Developers and Identify True Masters


"编码的乐趣在于看到一个简短,简洁,易读,少量的清晰代码,而不是那些让读者烦恼的琐碎代码," Guido van Rossum
,
荷兰计算机科学家和Python的发明者。


Python已经超越了几乎每个市场。它为那些曾经完全被琐碎的编程语言困惑的应用程序开发人员带来了轻松的编码。经济学家的研究表明,在美国,与Python相关的搜索更频繁 Kim Kardashian, a reality-TV star


在北美,西方,欧洲和亚洲市场招聘python开发人员的机会正在增加。因此,公司希望聘请python开发人员来扩展他们的开发团队。 Stack Overflow调查发现,近25.7%的应用开发者使用Python,剩下的就是想使用它。


Python的主要优点是易于使用,语法简单,简单,并且使用缩进空格。这些功能使其易于学习和与其他应用程序开发人员共享。


由于这一切,我认为招聘经验丰富的Python开发人员是任何企业最重要的任务之一。有时它也会令人沮丧。所以,我想我会在这里分享我从招聘Python开发人员的经验。


如果您仍在询问如何在Python中连接两个列表等问题,那么您可能需要彻底检查整个访谈过程。不要忘记技术难题。此外,通过为候选人提供Python编码任务,您将有机会评估他们的编码标准和技能。

To check the applicant's abilities, ask questions: {#to-check-the-applicant-s-abilities-ask-questions-}


此代码可能带来的风险是什么?克服编码问题的方法是什么?他们将如何应对这个问题?让候选人编写一个最多三个数字的Python函数。

Input data: z=1, y=3, x=5
Expected output: x=5 

让候选人编写一个Python程序,计算并打印公式中给出的值。

Here's a sample Question:


Q = [(4 * A * B)/ J]的平方根


以下是A和J的固定值:


A是50. J是30。


B是变量,其值应以逗号分隔的顺序输入到程序中。

Example:


让我们假设以下逗号分隔的输入序列被赋予程序:

Input: 100,150,180

Expected output: 18,22,24

Hints:


如果收到的输出是十进制形式,则应四舍五入到其最接近的值(例如,如果收到的输出是46.0,则应打印为46)如果输入数据提供给问题,则应该是假设是控制台输入。

Output:

#!/usr/bin/env python
import math
a=50
j=30
value = []
items=[x for x in raw_input().split(',')]
for d in items:
   value.append(str(int(round(math.sqrt(2*c*float(d)/h)))))
   print ','.join(value)

Here's another sample Question:


编写一个程序,在单独的单词序列中接受逗号,并在排序后以逗号分隔的顺序打印单词。

Input:
With, purse, blue, lady

Expected Output:
Blue, purse, with, lady

Give them real-life Python coding problems that you've faced before {#give-them-real-life-python-coding-problems-that-you-ve-faced-before}


正如他们所说,如果你雇用一个比你聪明的Python开发人员,那么快速做出改变。有才能的人想要在一个梦幻般的地方工作,这是一个简单的吸引力法则。因此,我们从实际技术问题中给他们一个任务。


这是我发现的效果很好的。

Real-Life Python Project Example {#real-life-python-project-example}


我们在 ValueCoders
IT Outsourcing Company for Software Development
)已经发展了data anomaly detection software solution
使用Python和机器学习为我们的客户。


我们的Python项目组合包括各种机器学习解决方案,B2B门户,Web应用程序等。


我们的Python开发人员致力于高端数据异常检测系统,以确定业务数据的性质和趋势。

What Challenges Do We Face? {#what-challenges-do-we-face}


面临的挑战是开发一个可以处理实时数据异常问题的移动应用程序。它需要发现对数字业务至关重要的重要数据见解。它必须有一个系统来揭示数据洞察的问题。我们必须解决数据中持续变量和变量的问题。

How We've Found a Solution {#how-we-ve-found-a-solution}


我们的Python开发团队通过技术开发应用程序的想法克服了所有这些挑战:Python,PyCHARM,PYGTK,PYQT,WXPython和机器学习。

These are the steps we have applied to identify the anomalies in datasets with the concept of Python and machine learning.

Step 1


从必须检测到异常的位置读取CSV文件数据集。

Step 2


计算数据样本的均值和协方差矩阵。

Step 3


找到数据集的高斯分布。

Step 4


根据步长计算每个epsilon值的f1_score和最小epsilon。

Step 5


将测试数据集的概率与epsilon进行比较。低于ε的那个可以被认为是异常的。

As a result, our development team has developed an efficient data anomalies detection solution based on Python and machine learning.


如果您正考虑在启动阶段将A级Python开发人员带到您的公司,您应该关注候选人如何解决问题。查看候选人使用单一语言的问题解决技巧。此外,如果您希望员工来到您的组织,请参与您的面试流程并鼓励您的招聘团队也这样做。


在Python中编写易读代码非常重要。拥有各种开源库知识的Python开发人员有助于缩短软件开发时间,使您免于重复性任务和错误。

Don't Focus on Experience Only - Ask About their Coding Skills {#don-t-focus-on-experience-only-ask-about-their-coding-skills}


我采访了几位Python开发人员,他们在简历中表现出了很好的经验但在面试中表现不佳。不管简历有多好。如果您需要新开发人员处理关键事项,则通常需要更多经验,这意味着更高的工作效率。


在这里,我想强调一下,你的新员工需要解决新问题。在尝试新事物时,更多的经验往往会导致自以为是的开发人员。

Bringing It All Together {#bringing-it-all-together}


十一小时的决定很少令人满意。你怎么看?这是真的吗?


还有人说, "Any fool can write the code that a computer can understand but good programmers write code that humans can understand."


这是我看到大多数初创公司在招聘开发人员时缺少的最重要的事情,他们没有明确意识到他们的经验和工作将如何证明雇用他们的成本。


是的,开发人员需要训练有素,经验丰富,最重要的是生成编写良好的Python代码。


最后但并非最不重要的是,我鼓励您在面对面访谈中对他们的编码技巧,沟通和表现进行全面分析后聘请Python开发人员。不要只过分关注申请人的简历。我见过的人在纸上很好,但其他方面也不容忽视。

Need to hire Python developers? Feel free to get in touch with us.

Or, follow us on Twitter for future updates: https://twitter.com/ValueCoders

中英文模式阅读
中文模式阅读
英文模式阅读

查看英文原文

查看更多文章


公众号:银河系1号


联系邮箱:public@space-explore.com


(未经同意,请勿转载)