軟件工程專業實習可以做什么
by Tatiana Doyle
塔蒂亞娜·道爾(Tatiana Doyle)
想要獲得軟件工程實習機會? 這里有一些想法可以幫助您。 (Looking to land a software engineering internship? Here are some thoughts to help you.)
A note: this post is simply meant to share advice I wish I’d gotten.
注意:這篇文章只是想分享我希望得到的建議。
If you are a college student looking for a software engineering internship for the summer or just wondering what it’s like to look for one, this article is for you!
如果您是一名大學生,正在尋找夏季的軟件工程實習生,或者只是想知道尋找一個什么樣的人,這篇文章適合您!
During my sophomore year of college, I was pretty sure I wanted to be a software engineer. I’d taken the two introductory classes at my college and loved them, and was in a higher level class that I was enjoying. So I hoped to land a software engineering internship in the summer that would allow me to gain industry experience and improve my skills.
在大學二年級的時候,我很確定自己想成為一名軟件工程師。 我在大學里參加了兩個入門班,并且很喜歡他們,當時我正在享受更高級別的班級。 因此,我希望在夏天獲得軟件工程實習機會,這將使我獲得行業經驗并提高自己的技能。
Not knowing how to approach this, I didn’t start looking until the spring. Starting in January, I applied to over 60 companies online and received at least 20 automated rejections. I had two technical interviews (both of which went disastrously) and ended up working a job that had nothing to do with software engineering.
不知道如何解決這個問題,直到春天我才開始尋找。 從1月開始,我在線上向60多家公司提出了申請,并至少收到20項自動拒絕。 我接受了兩次技術面試(兩次都慘敗),最終從事的工作與軟件工程無關。
My mistakes were:
我的錯誤是:
- Not starting until the spring 直到春天才開始
- Not utilizing my network or trying to grow it 沒有利用我的網絡或試圖發展它
- Not preparing for technical interviews 不準備技術面試
- Not doing any side projects 不做任何附屬項目
In my junior year, I was determined to do better. I networked as much as I could, invested time in practicing for technical and behavioral interviews, and took every interview I could get. I felt my biggest problem was getting my foot in the door . My resume was getting lost among thousands of others in the online application void. Nobody had any reason to give my application a second look.
大三時,我決心做得更好。 我盡可能地建立了人際網絡,花時間在技術和行為面試方面進行練習,并接受了我能得到的每一次面試。 我覺得我最大的問題是步入大門。 我的簡歷在在線應用程序中失去了成千上萬的迷失。 沒有人有理由再看一下我的應用程序。
After my failure last year, I spent a lot of time researching strategies for landing an internship as a software engineer. I came up with four takeaways, which I learned from my mistakes:
去年失敗之后,我花了很多時間研究策略以找到一名軟件工程師。 我想出了四個要點,我從我的錯誤中學到了:
Start early
早點開始
Connections are your most important tool
連接是您最重要的工具
You must prepare for technical interviews
您必須準備技術面試
Side projects transform your resume from good to great
輔助項目可將您的簡歷從出色變為卓越
The first thing I had to do was pick which companies I wanted to target. I started by listing all the companies whose products I used and enjoyed, and then searching “software engineering intern” on the Glassdoor jobs search and sifting through those listings for companies whose products I liked, had heard good things about, or whose job postings sounded interesting.
我要做的第一件事是選擇我要定位的公司。 我首先列出了我使用和喜歡其產品的所有公司,然后在 Glassdoor職位搜索中搜索“軟件工程實習生” ,然后在這些列表中篩選我喜歡,聽說過好東西或聽起來不錯的公司。有趣。
盡早開始 (Starting Early)
The recruiting season kicks off in August/September. I would recommend starting in August/early September, or October at the latest.
招聘季節在8月/ 9月開始 。 我建議從八月/九月初或最晚十月開始。
A lot of big companies (if that’s what you’re looking for) finish their recruiting by November/December. If you’re reaching out to friends it’s great to get an early start, for example, pre-September. If you are reading this article in the spring, it’s not too late! You can still apply all the strategies below and have a great chance of getting an internship.
許多大型公司(如果您正在尋找的就是這些公司)會在11月/ 12月完成招募。 如果您想與朋友聯系,那就早點開始是很好的,例如,9月之前。 如果您在Spring閱讀本文, 還不算太晚 ! 您仍然可以應用以下所有策略,并且很有機會獲得實習機會。
使用連接 (Using Connections)
Here’s a summary of people you can reach out to get your foot in the door, so to speak.
可以這么說,這是您可以伸出援助之手的人的摘要。
- Alumni who work at the company you want to work at 在您想工作的公司工作的校友
- Friends/classmates who interned at that company 在該公司實習的朋友/同學
- Professors 教授
- Friends of friends who work at that company 在該公司工作的朋友的朋友
最初伸出手 (Initially Reaching Out)
As a college student, I felt as if I didn’t have any connections. Connections seemed like something real adults had, not me. But this turned out to be completely false.
作為一名大學生,我感覺好像沒有任何聯系。 人際關系似乎是真正的成年人擁有的東西,而不是我。 但這完全是錯誤的。
Firstly, I knew a few alumni that now worked at companies that I wanted to work at. Second, I discovered the power of LinkedIn as a tool for getting the most out of my network.
首先,我認識一些現在在我想工作的公司工作的校友。 其次,我發現了LinkedIn的強大功能,可以充分利用我的網絡。
My first step in using my connections was to reach out to people I already knew that worked as software engineers at the companies I was interested in. For me, it was easier to ask for time from people I already knew.
使用連接的第一步是與我已經認識的 ,在我感興趣的公司中擔任軟件工程師的人接觸。對我來說,向我已經認識的人索取時間比較容易。
If any of your classmates/friends interned at these companies, try reaching out to them. They can often refer you to a recruiter at that company. Reaching out to people who work full time at these companies is also valuable.
如果您的任何同學/朋友在這些公司實習過,請嘗試與他們聯系。 他們通常可以將您推薦給該公司的招聘人員。 與在這些公司全職工作的人接觸也很有價值。
I usually reached out to them via Facebook messenger, and asked if they had 15 minutes for a phone call to chat about their work. It’s important that you limit the ask to 15 minutes — it’s a small ask and doesn’t feel like a big favor for the person you’re calling.
我通常通過Facebook Messenger與他們聯系,問他們是否有15分鐘的電話來談論他們的工作 。 將詢問限制在15分鐘以內很重要-這是一個很小的詢問,不會給您打來的人一個大忙。
It’s also important that you don’t lead by asking them to help you get a job. People don’t like to help people they don’t know, and approaching them this way will likely make them uncomfortable. Since the people I messaged already knew me, they all said yes. I’ll get into what to say on this type of call later.
同樣重要的是, 不要讓他們幫助您找到工作。 人們不喜歡幫助他們不認識的人,以這種方式接近他們可能會使他們感到不舒服。 由于我發消息的人已經認識我,所以他們都同意。 稍后,我將討論在這種類型的通話中要說些什么。
My second step was to get on LinkedIn. Make sure you fill out your LinkedIn profile with as much information as you can — treat it as a second resume. I then began the process of reaching out via LinkedIn to people that I didn’t know at all. It went something like this.
我的第二步是加入LinkedIn。 確保您在LinkedIn個人資料中填寫的信息盡可能多-將其作為第二份簡歷。 然后,我開始了通過LinkedIn與我完全不認識的人聯系的過程。 它像這樣。
- I would go to the LinkedIn page of a company I was interested in working at, and click on the link to see all employees of that company on LinkedIn. 我將轉到我感興趣的公司的LinkedIn頁面,然后單擊鏈接在LinkedIn上查看該公司的所有員工。
2. I then scrolled down to the Schools filter and typed in my university.
2.然后,我向下滾動到“ 學校”過濾器并輸入我的大學。
I then get a list of university alumni who work at the company I am interested in. People who you have something in common with are much more likely to be willing to take time out of their day to talk with you or help you.
然后,我會得到一份在我感興趣的公司中工作的大學校友的名單。與您有共同之處的人更有可能愿意抽出時間與您交談或幫助您。
3. Hit “Connect” and then “Add a note” and ask them to chat on the phone. My typical note looks something like this:
3.點擊“連接”,然后點擊“添加便箋”,并要求他們在電話上聊天。 我的典型筆記如下所示:
In my note, I explain both why I’m contacting them and my “ask” — a 15 minute phone call — in just a few sentences. Keep it short, friendly, and to the point (LinkedIn doesn’t allow you to go over 300 characters anyway).
在我的筆記中,我用短短的幾句話解釋了為什么我要與他們聯系以及“問”(15分鐘的電話)。 保持簡短,友好并切合實際(LinkedIn不允許您超過300個字符)。
4. Wait for them to respond! Many people may never get back to you, and some will respond immediately or within days. I usually reached out to around 5 people a week, since a decent amount of people simply don’t check or use LinkedIn. I would advise against reaching out to multiple people from the same company at once, since it’s slightly redundant.
4.等待他們回應! 許多人可能永遠也不會回復您,有些人會立即或在幾天內做出回應。 我通常每周與大約5個人聯系,因為很多人根本不檢查或使用LinkedIn。 我建議不要一次接觸同一家公司的多個人,因為這有點多余。
Beyond reaching out to people in your college network, reach out to your parent’s friends if they work in tech, your friend’s friends, etc. If you see someone on LinkedIn that you’re connected to through a friend, ask your friend to introduce you to that person.
除了與大學網絡中的人聯系外,還可以聯系父母的朋友(如果他們從事技術工作),朋友的朋友等。如果您在LinkedIn上看到通過朋友與您聯系的某人,請讓您的朋友介紹您給那個人。
打電話 (Getting on the Phone)
This type of phone call where you talk to someone about their work is generally called an “informational interview”. But calling it an “interview” makes it sound much scarier than it is. Once you have a couple of these phone calls, it gets a lot easier.
您與某人談論他們的工作的這種電話通常稱為“信息采訪”。 但是稱它為“采訪”聽起來比現在要嚇人得多。 一旦您打了幾個電話,它就會變得容易得多。
I found these calls to be some of the most helpful things I did during my internship search . They helped me figure out what kind of company I wanted to work at, how to prepare for the technical interview, and what areas of software engineering I wanted to explore further.
我發現這些求職電話是我在實習期間所做的一些最有用的事情。 他們幫助我弄清楚了我想在什么樣的公司工作,如何為技術面試做準備以及我想進一步探索哪些軟件工程領域。
It can be hard to know what to ask at first, so here’s a couple of the questions I asked during many of these phone calls:
一開始可能很難知道要問什么,所以這是我在許多電話中問的幾個問題:
- What is the culture like at X company? X公司的文化如何?
- Is there an emphasis on work-life balance? 是否強調工作與生活的平衡?
- How much do people hang out outside of work? 人們在工作外閑逛多少?
- Is the culture transparent or more secretive? 文化是透明的還是更隱秘的?
- What do you enjoy about working at X company? 在X公司工作,您喜歡什么?
- Is there anything you don’t enjoy, or things you’re trying to change? 有什么您不喜歡的東西,或者您想改變的東西嗎?
- What is it like to be a female engineer at X company? 成為X公司的女工程師感覺如何?
- Is it easy to switch teams and try new things? 更換團隊并嘗試新事物容易嗎?
- What is your team working on? 您的團隊正在做什么?
- How did you end up at X company? What made you choose this company over other companies? 您是如何來到X公司的? 是什么讓您選擇這家公司而不是其他公司?
- How did you get into your particular area of Computer Science (ex. machine learning, databases, etc.) and what are some resources for learning more about it? 您是如何進入計算機科學的特定領域(例如,機器學習,數據庫等)的?有哪些資源可以用來學習更多相關信息?
- What are internships like at your company? 貴公司的實習經歷如何?
Questions like these can be a great way to get a better understanding of what it’s like to work at the company. Informational interviews can be great even if you’re not looking for a job. They can help you learn more about the industry.
這樣的問題可能是更好地了解公司的工作方式的好方法。 即使您不找工作,信息面試也會很棒。 他們可以幫助您了解有關該行業的更多信息。
But if you’re looking for an internship, there’s one question I asked during every phone call that was especially helpful: How can I stand out in the intern application process for X company? This question is great because the person you’re on the phone with will give you advice on how to get an internship there, and potentially offer to connect you with a recruiter or even refer you to their company.
但是,如果您正在尋找實習機會,那么在每個電話中我都會問一個特別有用的問題: 如何在X公司的實習申請過程中脫穎而出? 這個問題很好,因為您與之通電話的人會為您提供有關如何在該處實習的建議,并有可能提供將您與招聘人員聯系起來,甚至將您推薦給他們的公司的信息。
其他大道 (Other Avenues)
Besides reaching out to connections or potential connections, make sure you use your school’s career fair! Those companies are already there because they want to recruit students from your school.
除了要建立聯系或潛在聯系之外,請確保您使用學校的招聘會! 這些公司已經在那兒了,因為他們想從您的學校招收學生。
Something that was also really helpful to me was (if you’re female-identifying) submitting my resume to the Grace Hopper resume database. I had a lot of companies contact me through that database. Additionally, if a professor you know well has contacts or friends in the industry, it may be worth asking them for help making a connection.
確實對我有幫助的一件事是(如果您要識別女性)將我的簡歷提交到Grace Hopper簡歷數據庫。 我有很多公司通過該數據庫與我聯系。 此外,如果您認識的一位教授在行業中有聯系或朋友,可能值得向他們尋求幫助以建立聯系。
技術面試和編碼挑戰 (Technical Interviews & Coding Challenges)
Enough has been said about the technical interview that I don’t feel the need to write a long post on this. But, I have a couple things that I feel are important:
關于技術面試已經說了足夠多了,我認為不需要為此撰寫冗長的文章。 但是,我有幾件重要的事情:
Coding challenges are a thing. This is a HackerRank-style assessment where you are given a coding problem and a limited amount of time to solve it, e.g. an hour. They are usually a pre-screening for a phone interview. Practice doing HackerRank problems on a time limit to simulate this environment so that you are prepared for these.
編碼挑戰是一回事 。 這是一種HackerRank風格的評估,其中會為您提供編碼問題和解決問題的時間,例如一個小時。 他們通常是電話采訪的預檢查。 練習在一定時間范圍內解決HackerRank問題,以模擬此環境,以便為這些做好準備。
Personally, I’ve found Python to be a fantastic language for interviews. It keeps you from having to implement low-level type data structures or functions, and is very fast to write and debug in. Some of the most useful things in Python to know for interviews (in my opinion) are defaultdict, sorting with a lambda, string splitting/reversing/joining, and built-in data types.
就個人而言,我發現Python是面試的絕佳語言。 它使您不必實現低級類型的數據結構或函數,并且編寫和調試非常快。采訪中需要了解的Python中最有用的一些東西是defaultdict , 使用lambda排序 , 字符串拆分/反轉/連接以及內置數據類型 。
- Try not to psych yourself out! I had two final rounds that I thought I failed immediately after, both of which I actually ended up getting offers for. 盡量不要讓自己心煩意亂! 我有最后兩輪比賽,以為之后不久我就失敗了,但實際上我最終都得到了報價。
Ask questions in your technical interviews! It shows you’re interested in the company. I found this Medium article to be especially helpful on that front.
在您的技術面試中提出問題! 它表明您對公司感興趣。 我發現這篇中型文章在這方面特別有幫助。
- Try to figure out an area of Computer Science you are particularly interested in, because I was asked this in nearly every interview. 嘗試找出您特別感興趣的計算機科學領域,因為幾乎在每次采訪中都問我這個問題。
- Take as many interviews/coding challenges as you can, if you have the time. The only way to get better is to practice! 如果有時間,請盡可能多地接受采訪/編碼挑戰。 變得更好的唯一方法就是練習!
Beyond that, here are some helpful resources on preparing for the coding interview.
除此之外,這里還有一些有用的資源可以幫助您準備編碼訪談。
Palantir’s guide
帕蘭提爾指南
The book Cracking the Coding Interview
《 破解編碼面試 》一書
This blog post
此博客文章
This list of resources
此資源清單
There’s a new site called intervewing.io that pairs you up with a software engineer to practice technical interviews — I haven’t tried it, but it seems really cool.
有一個名為intervewing.io的新站點,該站點將您與軟件工程師配對以進行技術面試—我還沒有嘗試過,但是看起來真的很酷。
Personally, I prepared for technical interviews by doing problems from Cracking the Coding Interview, Python problems on HackerRank, and by doing as many technical interviews as I could. There really is no substitute for practice — I was far less nervous in my fifth interview than I was in my first.
就我個人而言,我準備進行技術面試的方法包括:破解編碼面試, HackerRank上的Python問題以及進行盡可能多的技術面試。 練習真的是無可替代的-第五次面試的緊張程度遠不如第一次。
輔助項目 (Side Projects)
Having side projects that you did on your own time and out of class is the best way to show that you’re passionate about what you do. Honestly, it is frustrating that there exists a standard where the fact that you’re already majoring in Computer Science isn’t enough to show you love it.
擁有自己在課余時間和課余時間做的輔助項目是表明您對所做工作充滿熱情的最好方法。 老實說,令人沮喪的是,存在一個標準,即您已經主修計算機科學這一事實不足以表明您喜歡它。
Regardless, side projects are a great way to learn as well as a way to build your resume. For me, doing side projects has been rewarding . I’ve been able to build my skill set while practicing implementing something on my own. Here and here are lists of side project ideas to get you started. I would recommend doing a side project that you’re passionate about, rather than one you’re just using to build your resume. It will be a lot more enjoyable and you’ll learn a lot more.
無論如何,附帶項目是學習的好方法,也是建立簡歷的一種方法。 對我來說,進行輔助項目一直很有意義。 在練習自己實現某些東西的同時,我已經能夠建立自己的技能。 這里和這里是幫助您入門的輔助項目構想列表。 我建議您進行一個您熱衷的輔助項目,而不是僅僅用于構建簡歷的項目。 它將變得更加愉快,您還將學到更多。
My school has something called JumboCode that does coding work for nonprofits. My experience being on a team as part of that club has been one of my favorite experiences. Working on a team as well as a fantastic learning experience, technically speaking. If your school has something similar, definitely consider getting involved if it interests you.
我學校有一個叫做JumboCode的東西,可以為非營利組織編碼。 我作為該俱樂部成員加入團隊的經歷一直是我最喜歡的經歷之一。 從技術上來講,與團隊合作以及出色的學習經驗。 如果您的學校有類似的項目,請在您感興趣的情況下絕對考慮參加。
最后的想法 (Final Thoughts)
By using all the above strategies, I was able to get an internship at Square, which was my top choice! A friend of mine who worked at Square last year put me in touch with the current recruiter, which eventually resulted in my offer.
通過使用上述所有策略,我能夠在Square實習,這是我的最佳選擇! 我的一個朋友去年在Square公司工作,這使我與現任招聘人員保持聯系,最終導致了我的邀請。
Getting a software engineering internship is hard.
很難獲得軟件工程實習機會。
It’s especially hard when you don’t have a lot of companies trying to recruit from your school, or you don’t have a lot of family connections. But if you go to a school that has Computer Science graduates, at least some of them are likely to be working at companies you’re interested in! And by virtue of having attended your college, they’re often willing to help you.
當您沒有很多公司試圖從學校招聘或沒有太多家庭聯系時,這尤其困難。 但是,如果您上的是擁有計算機科學專業畢業生的學校,那么至少其中一些人可能會在您感興趣的公司工作! 而且由于已經上過您的大學,他們經常愿意為您提供幫助。
This post is meant to make public all the things I wish people had told me earlier, in hopes of helping anyone in search of a software engineering internship.
這篇文章旨在公開我希望人們早些時候告訴我的所有事情,希望能幫助任何尋求軟件工程實習的人。
If you have any questions, feel free to reach out to me via email at tatidoyle01[at]gmail.com!
如有任何疑問,請隨時通過tatidoyle01 [at] gmail.com與我聯系!
A big thank you to the many people who have helped me proofread and edit this article!
非常感謝許多幫助我校對和編輯本文的人!
翻譯自: https://www.freecodecamp.org/news/landing-a-software-engineering-internship-66e0d541539a/
軟件工程專業實習可以做什么