算法工程师研究生
Last week I sat down with some graduate software engineers and discussed what we were going to do for 2021, how I plan to advertise and vet our applicants.
上周,我与一些软件工程师研究生坐下来,讨论了2021年我们将要做的事情,我打算如何做广告和审查我们的申请人。
It started with some of the characteristics and hallmarks I look for — things I have seen which have led to successful graduates in the past — and what they should be looking out for at each step of the way.
它始于我要寻找的一些特征和标志-我所见过的事情导致了过去成功的毕业生-以及他们应该在每个步骤中寻找的东西。
After rattling off a few of my points I questioned if they thought my approach and expectations were fair and understood. These points form the basis of this article to be shared, considered, and implemented if you’re considering a career in software engineering.
在整理了我的一些观点之后,我问他们是否认为我的方法和期望是公平的和理解的。 如果您正在考虑从事软件工程职业,那么这些要点构成了本文的基础,可以共享,考虑和实施。
应用程序 (The Application)
求职信 (Cover letter)
I am sure you have heard this over and over again, “Make sure you have a cover letter”, but let me expand on it. First, when it comes to applying for a position, there is a lot of what I would regard as spammers. These are clearly people that are going for quantity over quality. A typical giveaway to these individuals are:
我相信您已经一遍又一遍地听到了这句话,“请确保您有求职信”,但让我继续讲下去。 首先,在申请职位时,有很多我认为是垃圾邮件发送者。 这些人显然是追求数量而非质量的人。 这些人的典型赠品是:
- No cover letter 没有求职信
- A cover letter addressed to another company 给另一家公司的求职信
A generic cover letter full of “stats and facts.” For instance, “I had a sales increase of 300%,” when the job isn’t sales!
一份包含“统计和事实”的通用求职信。 例如, 当工作不是销售时 ,“我的销售增长了300%” !
求职信中要寻找什么 (What to look for in a cover letter)
You introduce yourself as a human being, right from the get-go. “My name is X and I am passionate about Y”. I have now connected your name with a personality. It really doesn’t matter what Y is either. But now I know that you care about something. If there is some connection from your passion to the company you’re applying for you’re getting a head start before I’ve even looked at your CV.
您一开始就将自己介绍为人。 “我叫X,对Y充满热情”。 我现在已经将您的名字与个性联系起来。 Y也不重要。 但是现在我知道你在乎某事 。 如果您的热情与您所申请的公司之间存在某种联系,那么在我什至没有看过您的简历之前,您都将获得领先。
The cover letter should show why they want to work for the company, based on what they’re interested in and what the company has to offer. From there, touching on personal interest areas (even outside of technicals), side projects, and university paper experiences — “I did a Data Science 101 paper at university and fell in love with it”.
求职信应根据他们的兴趣和公司所提供的内容,表明他们为什么要为公司工作。 从那里开始,涉及个人兴趣领域(甚至在技术领域之外),附带项目以及大学论文的经验-“我在大学里做过Data Science 101论文,并爱上了它”。
Basically, your cover letter shouldn’t sell your skillset as a commodity, rather it should showcase your personality and show you as a human being.
基本上,您的求职信不应将您的技能组合作为商品出售,而应展示您的个性并向人们展示。
简历 (The resume)
The resume can be interesting. One thing to understand as an applicant is there is a large likelihood your resume will look like everyone else’s if you only add your education.
简历可能很有趣。 作为申请人要了解的一件事是,如果仅增加学历,您的简历很有可能会像其他人一样。
The problem with universities is they ultimately make cookie-cutter copies of their alumni. Sure there may be variation in grades, in specific papers or majors, but the reality is, they’re much the same.
大学的问题是,他们最终会复制他们的校友。 当然,在特定的论文或专业中,年级可能会有所不同,但现实情况是,它们几乎相同。
在简历中寻找什么 (What to look for in a resume)
An introduction. This should be different from that of the cover letter. It’s more generic and mainly gives the generic facts about yourself in short sentences:
一个介绍。 这应该不同于求职信。 它比较通用,主要是用简短的句子给出有关您自己的通用事实:
“Throughout my time at university, I have had a growing desire to work in the field of Computer Science, my time at university has taught me the importance of time management and the necessity to discuss and consider solutions before running into them head on.”
“在大学期间,我对在计算机科学领域工作的渴望不断提高,在大学期间,我教会了我时间管理的重要性,以及在进入解决方案之前讨论和考虑解决方案的必要性。”
适当的技能 (Appropriate skills)
Don’t list papers ranked by grade. If the company you are applying for is heavily into data science, put a couple of relevant papers or projects associated with that down, but don’t go too heavy.
不要列出按年级排名的论文。 如果您要申请的公司专注于数据科学,请写下一些与此相关的论文或项目,但不要太沉重。
专案,专案,专案 (Projects, Projects, Projects)
This is the big one. This might be the single most significant thing I look for and potentially the biggest trademark of succesful software graduates. If you want to instantly put yourself above other candidates, do quality projects. Open a free account on GitHub and get active. If you can show multiple projects under a single “active” GitHub account, this will allow the business to explore areas in what you have done, which you may not even realise are significant.
这是大个子。 这可能是我寻找的最重要的事情,并且可能是成功软件毕业生的最大商标。 如果您想立即将自己置于其他候选人之上,请进行高质量的项目。 在GitHub上开设一个免费帐户并开始活动。 如果您可以在一个“活动的” GitHub帐户下显示多个项目,这将使企业能够探索您所做的工作领域,您甚至可能没有意识到这是很重要的。
什么是“质量”项目? (What’s a “quality” project?)
A quality project is one which is obviously not a tutorial. The number of React Todo lists I’ve seen makes the mind boggle. While this may show a willingness to learn a language and do tutorials, the reality is that all this shows is that you followed instructions.
一个高质量的项目显然不是教程。 我所见过的React Todo列表的数量令人难以置信。 尽管这可能表明愿意学习一种语言并进行辅导,但事实是,这一切表明您已经遵循了说明。
Extending tutorials is good. Going off-road and doing something with that skill to try something new and interesting is gold.
扩展教程很好。 越野并以这种技能去尝试一些新颖有趣的事情是黄金。
The best quality project I came across was a graduate software engineer applicant who was passionate about the Te Reo Māori (the indigenous language of Aotearoa, New Zealand). They had used the Google Maps API to rename all of New Zealand’s street names to their Te Reo Māori equivalents. In reality, this wasn’t necessarily groundbreaking work, but from that project alone I got more information about the candidate than any other material they provided.
我遇到的质量最好的项目是一位软件工程师研究生,他对Te ReoMāori(新西兰Aotearoa的母语)充满热情。 他们使用Google Maps API将新西兰的所有街道名称重命名为Te ReoMāori的等效名称。 实际上,这不一定是开创性的工作,但是仅从该项目中,我就比有关候选人提供的任何其他材料都获得了有关候选人的更多信息。
Let me explain.
让我解释。
Firstly, I’m from New Zealand. Te Reo is one of our three officially recognised languages, although isn’t translated onto Google Maps. The fact that someone took the time to do something like that, and use a newly learnt skill to further the ability to do so and raise awareness of this fact was truly special. It spoke to the type of person they were more than any other project I’ve seen.
首先,我来自新西兰。 特雷奥(Te Reo)是我们三种官方认可的语言之一,尽管并未翻译成Google Maps。 有人花时间做类似的事情,并使用新近学习的技能来增强这样做的能力并提高对此事实的认识的事实真的很特别。 与我见过的任何其他项目相比,这更能说明他们的类型。
实地测试 (The Take-Home Test)
Chances are, you will be given a take-home test. Not all companies do this, but they’re pretty commonplace.
有机会,您将获得带回家的测试。 并非所有公司都这样做,但是它们很司空见惯。
When it comes to the take-home test, unless otherwise specified, do it in the language you’re most comfortable in. Don’t try to show off — read the question and requirements carefully and satisfy those needs.
除非另有说明,否则在进行带回家的测试时,请以您最熟悉的语言进行。不要试图炫耀-仔细阅读问题和要求并满足这些需求。
Check whether they give you hints in the questions around what they as a business deem important when it comes to code. Readability, scalability, simplicity, testing. Some of these words may pop up in their spiel about the code they want to see.
检查它们是否在有关代码方面将其视为重要业务的问题上给您提示。 可读性,可伸缩性,简单性,测试。 这些单词中的一些可能会激起他们想看到的代码的含义。
Make sure you include comments in your code where significant logic takes place, and make sure to use good naming for functions with the adequate abstraction of logic into functions — but don’t go overboard. If you find yourself making numerous if
statements throughout your main functions, consider whether some validation
functions could be applied.
确保在代码中包含发生重要逻辑的地方添加注释,并确保对函数使用良好的命名,同时将逻辑适当地抽象到函数中,但不要太过分。 如果发现自己在整个主要函数中编写了大量if
语句,请考虑是否可以应用某些validation
函数。
When testing, make sure you use your validation
functions from your code. If you find yourself needing to duplicate logic in your tests, this is a good sign your logic should be abstracted into a function
.
测试时,请确保使用代码中的validation
功能。 如果您发现自己需要在测试中复制逻辑,这是一个好兆头,您的逻辑应抽象为一个function
。
The cleanliness and confidence you have with your code are usually quite clear to see.
您对代码的清洁度和信心通常很明显。
面试 (The Interview)
If anything, this should be the easy part. The reality is, you’ve frontloaded all of their expectations around who you are as a human being. Provided you haven’t lied about anything, now it’s just about backing it up.
如果有的话,这应该很容易。 现实情况是,您已经将他们的期望值放在了您作为人类的身上。 只要您没有撒谎,现在就可以备份它。
The face-to-face interview will probably have two portions. A section with questions about you, and a technical section with either hands-on coding or technical questioning.
面对面采访可能分为两个部分。 有关您的问题的部分,以及有关动手编码或技术问题的技术部分。
面试内容 (What to look for in an interview)
Honesty. The reality is you are not expected to know everything, nor should you. If you pretend to know it all, or think that you do, you probably won’t get the job.
诚实。 现实是,您不应该了解所有事情,也不应该知道。 如果您假装一无所知,或者以为自己知道,那可能就找不到工作。
The best thing you can do is be honest in your capabilities. If you don’t know how to do something when asked, or what the answer is to a question, just say so. Furthermore, if you’re genuinely curious about what the answer might be, ask them to tell you and pay close attention.
您能做的最好的事情就是对自己的能力诚实。 如果您不知道在被问到该怎么做时,或者对一个问题的答案是什么,请这样说。 此外,如果您真的对可能的答案感到好奇,请让他们告诉您并密切注意。
A good indicator of whether a graduate is likely to be successful or not is their ability to remove their ego from the equation. They understand what they know and what they don’t, but they have a desire to better themselves.
毕业生是否可能成功的一个很好的指标是他们从等式中去除自我的能力。 他们了解自己所知道的和不知道的,但是他们渴望自我改善。
A recent success story of a graduate applicant was that on paper they were not the best person — their take-home test by no means was the best. However, when it came to talking through their test and extending upon it, they were able to take the advice and critique in such a way that they updated their code perfectly to what had been described.
一个最近毕业的申请人的成功故事是,他们在纸面上不是最好的人,他们的带回家测绝不是最好的。 但是,当谈到通过测试并进行扩展时,他们能够以这样的方式接受建议和批评:他们将代码完美地更新为所描述的内容。
发挥自己的优势 (Play to your strengths)
Be sure to lean on your strengths. You will have some you’re probably aware of. When you get to the conversation that covers these areas, make sure you elaborate on them, giving an example case where you have exercised that strength to an applicable purpose you could do so working as a graduate software engineer.
确保依靠自己的优势。 您将拥有一些您可能知道的东西。 当您进入涉及这些领域的对话时,请确保对它们进行了详细说明,并举例说明您已将这种力量运用到适当的目的,您可以作为一名毕业的软件工程师来工作。
One key reason for doing the technical take-home test in a language you’re most comfortable in is that often during a face-to-face interview you may be asked why you used a specific language feature, or you may be asked to extend the logic on the spot. You will have more ability to be confident while doing this in front of a group, if you have confidence in the language you wrote it in.
使用最舒适的语言进行技术实地测试的一个关键原因是,经常在面对面访谈中,您可能会被问到为什么使用特定语言功能,或者可能会被要求扩展当场的逻辑。 如果您对自己所写的语言有信心,那么您将更有能力在小组面前这样做。
企业想要什么 (What businesses want)
The best thing a business can get out of interviewing a candidate is a perfect picture of what an individual is as a human, their strength and weaknesses in both soft skills and technical skills, and a solid understanding of where the individual’s passion lies. This enables a company to invest the right people in the right areas knowing that their efforts will be well received and to maximise the success of their staff. If the business understands this, and you fit what they are looking for. You’re in.
企业通过面试候选人所能获得的最好的收获是,完美地描绘了一个人的个人形象,他们在软技能和技术技能方面的强项和弱项,以及对个人激情所在的深刻理解。 这样一来,公司就可以在适当的领域投资适当的人员,因为他们知道他们的努力将得到良好的接受,并使员工的成功最大化。 如果企业了解这一点,那么您就可以满足他们的需求。 你在。
您的第一年 (Your First Year)
Your first year in a company may be the most important. It sets your intentions and provides you with a stage to push forward. A piece of advice I give every graduate software engineer on their first day is this.
您在公司的第一年可能是最重要的。 它设定了您的意图,并为您提供了一个前进的阶段。 我在第一天给每位研究生软件工程师的一条建议是。
- Being a graduate software engineer is a superpower. 成为一名软件工程师研究生是一种超能力。
- You are expected to ask questions. Any question. 您将被问到问题。 任何问题。
- When you ask for help, people will appreciate it. 当您寻求帮助时,人们会很感激的。
- When you do things you will later find boring, you will love them. 当您做某事时,您以后会发现无聊,您会爱上它们。
- Enjoy your time knowing you are a Graduate Engineer and that awesome! 知道您是一名研究生工程师,真是太好了,享受您的时间!
- Be a sponge and learn everything you can. 做一块海绵,学习一切。
- Don’t say no to opportunity and surround yourself with people you respect and want to learn from. 不要对机会说不,并与自己尊敬并想向他们学习的人在一起。
成功的一年级毕业生需要寻找的东西 (Things to look for in Successful first-year graduates)
The reality is, while many businesses have graduate programmes and may take on hundreds to people, not all graduates are equal.
现实情况是,尽管许多企业都有研究生课程,并且可能招募数百名员工,但并非所有毕业生都是平等的。
The ability for people to take the advice above and truly apply it has shown significant success in separating the excellent graduates from the bulk. The thing, much like a university. People can follow the rules. Follow a programme and do as they are told. But to separate yourself from the bulk, apply further. Do not rely on a graduate programme to tell you where to go and when to go there. Build a network with the staff you’re working with. Identify senior staff who people tend to gravitate towards for questions by fellow senior staff — befriend them.
人们接受上述建议并真正应用它的能力在将优秀毕业生与大批毕业生分离方面显示出巨大的成功。 东西,很像大学。 人们可以遵守规则。 遵循一个程序并按照提示进行操作。 但是要使自己与众不同,请进一步应用。 不要依靠研究生课程来告诉您去哪里和什么时候去那里。 与您一起工作的员工建立网络。 确定人们倾向于吸引高级同事提问的高级员工,请与他们成为朋友。
It is the ability to self motivate to follow your passions that will set yourself up for huge success.
自我激励的能力可以跟随自己的激情,从而为取得巨大的成功做好准备。
Stories of graduate software engineers volunteering to present their learnings around technology, or to do a demo on a piece of code they found interesting and optimised for their peers over lunch, is common in successful engineers.
在成功的工程师中,毕业生软件工程师自愿讲述自己对技术的学习或对他们发现的一段有趣的代码进行演示的故事对于午餐后的同事是很常见的。
Volunteering to facilitate an Agile meeting is not uncommon, simply so they’re learning and so they can see how to manage a group. Typically these duties and expectations are left out of a classic graduate programme roadmap, but it is these things that show your desire to push and apply in those areas you wish to grow in.
为促进敏捷会议而进行的志愿服务并不少见,仅仅是为了使他们正在学习并且可以了解如何管理小组。 通常,这些职责和期望是经典研究生计划路线图中所没有的,但正是这些东西表明了您在自己希望发展的领域中推动和应用的愿望。
总结一下 (To Sum Up)
The aim of this article was to provide some real value and real-world hallmarks of successful graduate software engineers.
本文的目的是为成功的研究生软件工程师提供一些真实的价值和真实的标志。
The thing is, more and more people in the technology space no longer wish to work with robots. We want to work with human beings, those who are curious, those who have their strengths and weaknesses and play to them. Passionate and excited people of all ages and stages in their career are now becoming normal. It’s your ability to show this in an honest way that will set you up for success.
问题是,技术领域中越来越多的人不再希望与机器人合作。 我们要与人类,有好奇心的人,有自己的长处和短处并发挥作用的人一起工作。 各个年龄段和职业阶段充满激情和兴奋的人们现在都变得正常。 这是您以诚实的方式展现这一点的能力,这将使您为成功做好准备。
最后一点 (One final point)
These hallmarks will never change. All of these traits and hallmarks should live with you throughout your career. These isn’t simply the hallmarks of successful graduate software engineers — they’re the hallmarks of any successful engineer.
这些标志永远不会改变。 所有这些特质和标志都应该与您一起生活。 这些不仅仅是成功的研究生软件工程师的标志,而是任何成功工程师的标志。
翻译自: https://medium.com/better-programming/the-hallmarks-of-successful-graduate-software-engineers-e1e771d034c1
算法工程师研究生