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

How to Hire Python Developers and Identify True Masters

"The joy of coding is in seeing a short, concise, readable, and small amount of clear code, not in trivial code that bores the reader," said
"编码的乐趣在于看到一个简短,简洁,易读,少量的清晰代码,而不是那些让读者烦恼的琐碎代码," Guido van Rossum
, a Dutch computer scientist and the inventor of Python.
荷兰计算机科学家和Python的发明者。

Python has overtaken almost every markets. And it has brought easy coding to the fingertips of app developers who were once totally baffled by trivial programming languages. Economist research suggests that in America, Python-related searches are more frequent than for
Python已经超越了几乎每个市场。它为那些曾经完全被琐碎的编程语言困惑的应用程序开发人员带来了轻松的编码。经济学家的研究表明,在美国,与Python相关的搜索更频繁 Kim Kardashian, a reality-TV star .

The opportunities for hiring python developers in the markets of North America, Western, Europe, and Asia are on the rise. So companies are looking to hire python developers to scale their development teams. And a Stack Overflow survey found that nearly 25.7% of app developers use Python, and the remaining want to use it.
在北美,西方,欧洲和亚洲市场招聘python开发人员的机会正在增加。因此,公司希望聘请python开发人员来扩展他们的开发团队。 Stack Overflow调查发现,近25.7%的应用开发者使用Python,剩下的就是想使用它。

Python's top advantages are its ease of use, straightforward syntax, simplicity, and the use of indented spaces. These features make it easy to learn and share with other app developers.
Python的主要优点是易于使用,语法简单,简单,并且使用缩进空格。这些功能使其易于学习和与其他应用程序开发人员共享。

Because of all this, I believe that hiring experienced Python developers is one of the most important tasks for any business. Sometimes it can be frustrating too. So, I thought I would share here my experience from hiring Python developers.
由于这一切,我认为招聘经验丰富的Python开发人员是任何企业最重要的任务之一。有时它也会令人沮丧。所以,我想我会在这里分享我从招聘Python开发人员的经验。

If you are still asking the questions like how you concatenate two lists in Python, then you might need to overhaul your whole process of interviewing. Don't forget about technical puzzles. Also, by giving a candidate a coding task in Python, you gain an opportunity to evaluate their coding standards and skills.
如果您仍在询问如何在Python中连接两个列表等问题,那么您可能需要彻底检查整个访谈过程。不要忘记技术难题。此外,通过为候选人提供Python编码任务,您将有机会评估他们的编码标准和技能。

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

What are the risks that can occur with this code? What is the way to overcome coding issues? How would they cope with the problem? Ask the candidate to write a Python function in max of three numbers.
此代码可能带来的风险是什么?克服编码问题的方法是什么?他们将如何应对这个问题?让候选人编写一个最多三个数字的Python函数。

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

Ask the candidate to write a Python program that calculates and prints the value given in the formula.
让候选人编写一个Python程序,计算并打印公式中给出的值。

Here's a sample Question:

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

Following are the fixed values of A and J:
以下是A和J的固定值:

A is 50. J is 30.
A是50. J是30。

B is the variable whose values should be input to your program in a comma-separated sequence.
B是变量,其值应以逗号分隔的顺序输入到程序中。

Example:

Let us assume the following comma-separated input sequence is given to the program:
让我们假设以下逗号分隔的输入序列被赋予程序:

Input: 100,150,180

Expected output: 18,22,24

Hints:

If the output received is in decimal form, it should be rounded off to its nearest value (for example, if the output received is 46.0, it should be printed as 46) In case of input data being supplied to the question, it should be assumed to be a console input.
如果收到的输出是十进制形式,则应四舍五入到其最接近的值(例如,如果收到的输出是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:

Write a program that accepts a comma in a separate sequence of words and prints the words in a comma-separated sequence after sorting.
编写一个程序,在单独的单词序列中接受逗号,并在排序后以逗号分隔的顺序打印单词。

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}

As they say, if you hire a Python developer who is smarter than you are, then make the change quickly. It's a simple law of attraction that talented people want to work in a fantastic place. So, we give them a task from a real-life technology problem.
正如他们所说,如果你雇用一个比你聪明的Python开发人员,那么快速做出改变。有才能的人想要在一个梦幻般的地方工作,这是一个简单的吸引力法则。因此,我们从实际技术问题中给他们一个任务。

Here's what I have found works well.
这是我发现的效果很好的。

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

We at
我们在 ValueCoders (
IT Outsourcing Company for Software Development) have developed the
)已经发展了data anomaly detection software solution with Python and Machine Learning for our client.
使用Python和机器学习为我们的客户。

Our portfolio of Python projects includes a wide range of machine learning solutions, B2B portals, web applications, etc.
我们的Python项目组合包括各种机器学习解决方案,B2B门户,Web应用程序等。

Our Python developers have worked on the high-end data anomaly detection system to identify the nature and trends of data for the businesses.
我们的Python开发人员致力于高端数据异常检测系统,以确定业务数据的性质和趋势。

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

The challenge is to develop a mobile application that can deal with the issue of real-time data anomalies. It needs to uncover important data insights that are important for digital businesses. It must have a system to reveal issues of the data insights. We have to fix the issue of constant and variable changes in data.
面临的挑战是开发一个可以处理实时数据异常问题的移动应用程序。它需要发现对数字业务至关重要的重要数据见解。它必须有一个系统来揭示数据洞察的问题。我们必须解决数据中持续变量和变量的问题。

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

Our team of Python developers had overcome all these challenges with the idea of developing an app through technologies: Python, PyCHARM, PYGTK, PYQT, WXPython and Machine learning.
我们的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

Read the CSV file data-set from where anomalies have to be detected.
从必须检测到异常的位置读取CSV文件数据集。

Step 2

Calculate the mean and co-variance matrix of the data samples.
计算数据样本的均值和协方差矩阵。

Step 3

Find the Gaussian distribution of the dataset.
找到数据集的高斯分布。

Step 4

Calculate the f1_score and minimum epsilon for each value of epsilon according to the step size.
根据步长计算每个epsilon值的f1_score和最小epsilon。

Step 5

Compare the probabilities of the test data-set with the epsilon. The one which falls below the epsilon could be considered an anomaly.
将测试数据集的概率与epsilon进行比较。低于ε的那个可以被认为是异常的。

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

If you are thinking about bringing A-level Python developers to your firm during the startup phase, you should focus on how a candidate approaches the problem. Look at the problem-solving techniques used by the candidate for a single language. Also if you want employees to come to your organization, work on your interview process and encourage your recruitment team to do the same.
如果您正考虑在启动阶段将A级Python开发人员带到您的公司,您应该关注候选人如何解决问题。查看候选人使用单一语言的问题解决技巧。此外,如果您希望员工来到您的组织,请参与您的面试流程并鼓励您的招聘团队也这样做。

Writing legible code in Python is important. Python developers with the knowledge of a variety of open-source libraries help reduce the time of software development and give you freedom from repetitive tasks and errors.
在Python中编写易读代码非常重要。拥有各种开源库知识的Python开发人员有助于缩短软件开发时间,使您免于重复性任务和错误。

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

I've interviewed several Python developers who show great experience in their resume but performed poorly in the interview. No matter how good the resume is. If you need your new developer to work on something critical, more experience is generally required here which means more productivity.
我采访了几位Python开发人员,他们在简历中表现出了很好的经验但在面试中表现不佳。不管简历有多好。如果您需要新开发人员处理关键事项,则通常需要更多经验,这意味着更高的工作效率。

Here I'd like to emphasize that your new hire needs to tackle new problems. More experience often leads to opinionated developers when it comes to trying something new.
在这里,我想强调一下,你的新员工需要解决新问题。在尝试新事物时,更多的经验往往会导致自以为是的开发人员。

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

Eleventh-hour decisions are seldom satisfactory. What do you think? Is it true or not?
十一小时的决定很少令人满意。你怎么看?这是真的吗?

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

This is the biggest thing I see most startups missing when hiring developers without a clear sense of how their experience and work will justify the cost of hiring them.
这是我看到大多数初创公司在招聘开发人员时缺少的最重要的事情,他们没有明确意识到他们的经验和工作将如何证明雇用他们的成本。

Yes, a developer needs to be well-trained, experienced, and above all produce well-written Python code.
是的,开发人员需要训练有素,经验丰富,最重要的是生成编写良好的Python代码。

Last but not the least, I encourage you to hire Python developers after a thorough analysis of their coding skills, communication, and performance in the in-person interview. Don't just focus too much on applicant's resume. I have seen people who are nice on-paper, but other areas also can't be overlooked.
最后但并非最不重要的是,我鼓励您在面对面访谈中对他们的编码技巧,沟通和表现进行全面分析后聘请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号
公众号:银河系1号

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

(未经同意,请勿转载)
(未经同意,请勿转载)