Read the 2-hour job search - it gives step by step instructions and templates on how to do this. Basically, you strategically reach out to people on linkedin.
I'm getting my MBA now, and I spend more time networking (linkedin outreach, networking calls, meetups, coffee chat, etc) than I do on class and HW combined (but that's normal for MBA's).
Edit:
> I'm trying to remain steadfast and writing good cover letters, applying to as much as I can (10/wk or so), but I can't help but feel discouraged thinking there's someone with an in-house friend who's going to get at least an interview before me because of it.
Rather than applying to 10 jobs per week, you should aim to have about 5-10 coffee chats/networking phone calls per week with people in the industry that you're interested in.
>People say don't apply to 100 jobs, just 15 you really want is a bad idea.
Literally nobody says this. The advice is rather than apply to 100 jobs with a blind resume drop, you should be networking with employees from 25 or so different companies, in an effort to get a referral to one of those roles.
>Most companies actually don't network with students and don't list emails in job description. Just apply and hope for the best.
Ummm what? The whole point of an MBA is the network that comes with it. What do you mean 'companies actually don't network with students' - you don't network with 'companies,' you network with employees at companies (ideally ones who graduated from your school).
>I guess I could search the role and company on linkedin and DM an employee in that role but unsure if that'd be too much
This was literally my entire recruiting process. If you're not willing to DM alumni on LinkedIn, then idk what to tell you, other than you're not willing to do what is necessary to get a good job.
I agree with u/Pulp-nonfiction; you need to take a look in the mirror. Also, I'd recommend you read the 2 hour job search. Seems to me like you don't know how to network.
Cracking the Coding Interview by Gayle Laakmann McDowell
This book goes over every one of those areas and gives tons of example problems. It also talks a lot about the interview process and what companies are looking for in a good candidate.
Instead of giving you advice, I have the perfect book recommendation that will come pretty close to directly answering your question. I read this years ago, but only just found it again and am giving it another read through.
The book is called 'So good they can't ignore you: why skills trump passion in the quest for work you love' by Cal Newport.
The author actually has a computer science degree funnily enough. In it he uses empirical evidence to argue that the common advice of 'follow your passion' is flawed and unrealistic, and generally bad advice. After arguing that he puts forward his arguments about what the best course of action is if you discount the passion hypothesis. Its full of examples of people he interviewed who took different approaches to end up doing what they love, why some failed at it and why some didn't. I really can't recommend this book more highly actually, I think it will be perfect for you.
Here is the amazon link https://www.amazon.com/Good-They-Cant-Ignore-You/dp/1455509124
Your dream life is 100% possible today. You can get remote gigs as a programmer making 6 figures working 5 hours a day if you have the aptitude for it. So if you're fine making $50k per year (which is more than enough for van life), you could work like 15-20 hours per week doing consulting work over a satellite internet connection from your van. And then take all the rest of that time and live your life. :) But you've got to work to get there because it requires lots of technical expertise in something.
These books have good generic advice for getting there if you're interested. They're by a professor who got into a tenured position while working normal hours (most people on tenure tracks work INSANE hours), so he knows what he's talking about.
https://www.amazon.com/Good-They-Cant-Ignore-You/dp/1455509124
https://www.amazon.com/Deep-Work-Focused-Success-Distracted/dp/1455586692/
In my experience, the more experienced you are, the more an interview focuses on things like prior projects, architecture, teams, culture, etc. I just completed a job hunt where I interviewed with several major east/west-coast tech companies, and none of them asked LeetCode-style questions. I did get programming questions and take-home exercises, but they were practical ones (e.g., discussing a real-world problem the company has) or, surprisingly, lightweight bozo screens (e.g., traversing a tree and printing values).
But it really depends upon the company. My understanding is that Google's interviews still consist of multiple rounds of LeetCode-style questions, though I've also heard that's changing.
I've been involved in hiring at several companies now, and I think LeetCode-style interviews are on their way out. The more nimble a company is, the less-likely it is to ask you the traditional LeetCode-style whiteboarding question. It's the slower companies that are entrenched in their cargo-culted interview processes that still ask LeetCode-style questions, including some Big 4s and Unicorns. But that will change. No one asks "How would you move Mt. Fuji?" anymore. I imagine companies will continue asking programming questions, but I expect them to become more practical, typically covering the sort of problem you might encounter if given an offer.
Great post. To add to Step 2.3, the book The 2-Hour Job Search provides a great system for reaching out to people. Sorry if it seems like I'm shilling, but it helped shift my mindset on networking, especially digitally these days. Basically the book outlines how to reach out to people (without asking for a job) and narrowing them down into 3 categories of how helpful they may be.
+1 for this. "I'm not a programmer, but I work well with them and can translate for them to non-technical people." is exactly what a PM is. You might find this book valuable.
When I went, there were always a few companies where the representatives had a badge that said "I hire frosh." My advice would be to check it out to get a feel for what's going on. I wouldn't expect a whole lot, but at the very least it'll be good prep for the frosh/soph fair.
A word of advice - when I went to the fall career fair during my freshman year, I actually found it quite stressful. I ran into a couple of recruiters who came off as condescending, and the overall atmosphere seemed pretty stressful (gotta hustle for that internship). It was a bit of a contrast from the dorms and even office hours, where people are generally happy to lend a helping hand.
When I took CS 103 later, Keith Schwarz actually had a fairly negative view of the effect/messaging of the fall career fair towards freshmen. He felt that the competitiveness and the inevitable rejection of certain internships would not really provide a positive view of one's learning. Learning is a long process, and getting rejected from a dream CS internship might lead some to feel that their classes were for nothing. It's ultimately up to you whether you want to view your CS education as more of a pipeline into a good job, or an opportunity to intellectually explore (you can of course balance both, and there is no right way to do it).
So if you wanna hustle for an internship, then by all means go for it. However, keep in mind that the career fair is only one way to get your foot in the door. If you wanna be a real snek, network around and find people who can give you referrals for companies you're interested in. Also code up a project or two and put it on GitHub (with a link on your resume). Most importantly, read the good book.
I've said it a million times and I'll say it again: Get your hands on a copy of Cracking the Coding Interview and read it from cover to cover. If you're going into college now most of the information in this book won't make sense if you don't know how to program, but regardless I would still pick it up. Study this book for interviews. If you start using this book to study for interviews (And you need to study for interviews, treat interview prep like any other class) I guarantee you can land an awesome internship and a great job.
You may want to check out Cracking the Coding Interview. The table of contents can be found here. I'm pretty sure there is a section for each thing on your list.
Lose the swift programming course, it’s not really relevant to you, and you already have a lot to cover in a tight space of time.
Good luck with your studies. As others have already said in this thread getting a researcher position will be super hard. There aren’t all that many positions available, and there’s so much hype around ML that they’re all super over-subscribed. You might be right that you don’t need a PhD, but a PhD and research experience are useful and you will be up against those that have them. You should consider getting some industry experience as a data scientist or data engineer (which might be a bit easier to get hired as) to complement your self study if you’ve decided academia is not for you.
You’ve got a lot of reading to do already, but I found the book So Good They Can’t Ignore You a helpful read when faced with a tough career choice. It’s not super long, and has some interesting ideas (mostly based on anecdotal evidence but useful nonetheless).
I'd recommend stepping away from leetcode and the other sites for a bit. I think they're useful if you need the practice in typing up the algorithms in code when you have the algorithms pretty well memorized.
I would HIGHLY recommend "Cracking the Coding Interview" https://www.amazon.com/dp/0984782850
There are also a few good YouTube videos but I don't have links handy. I will say there's a lot of garbage out there too, so skip through them liberally.
Remember the interview process is a total game. I interview candidates and even we know it's all a sorry game. But we have to check the stupid boxes because no one has come up with a better way to weed out people who can't code a for-loop.
Your ability to pass interviews is not directly correlated to your ability to actually deliver software in the real world. Interviews often don't touch on design or real world tradeoffs or continuous integration or how to manage a large project or so many of the other aspects of software engineering. Instead it comes down to rote memorization of solved algorithms and stupid array problems that never represent an actual problem someone has actually needed to solve.
In an interview: let's spend half an hour writing quicksort.
In real life: can you think of any language written that doesn't have a sort function in the standard lib?
I know you know this but I hope that this has helped.
Good luck.
You're conflating "success" with "career". This is not what OP is talking about. They're merely suggesting that you have to try things; hobbies, jobs, etc, before you know what your passion is. Very often the thing you find that you're "good at" becomes your passion, rather than the other way around.
So Good They Can't Ignore You digs into this concept in greater detail.
To me, "leetcode" is the brand name for the concept of solving programming puzzles, just like "Kleenex" is for facial tissues. When I see someone mentioning leetcode, it could mean anything from the actual LeetCode website to Codewars, HackerRank, or any other interactive programming problem solving site.
I've seen leetcode mentioned here and also very heavily on Blind (abbreviated LC there).
This concept is not new, and is the central focus of the very popular interview prep book Cracking the Coding Interview
Let me introduce you to How would you move Mt Fuji?: Microsoft’s Cult of the Puzzle, from 2004. Puzzle interviews were their own craziness.
I favor the craftsman mindset over the 4-hour workweek approach, so I (perhaps unsurprisingly) did not find much value in Ferris's work. I've read 4-hour-workweek, some of his blog posts, seem some TED talks, and flipped through 'Tribe of Mentors, all of which I found mediocre. The biggest advocate of the craftsman mindset that I know of is Cal Newport. I've read his blog (studyhacks) and his book (So good they can't ignore you). I think his work tends to be better researched and more substantive. I recommend both.
I suspect that the differences between the two has a lot to do with where they come from. In my view, Ferris is still the salesman he was when he started out. Many of his strategies are great for salepeople - 'firing' bad customers, offloading customer support tasks, etc. However, its worth thinking about what he is selling here - and I think the core idea in Ferris's work is that you can make an easy buck. I don't know that this idea is worth buying, nor that he offers anything more valuable than a few productivity tips. Newport is an academic, and so his work is oriented more as an attempt to answer a question: what choices result in happy and successful careers. He started out looking for general trends in career satisfaction and success, and his books are reports of what he's found. Of course, he is still selling something - but I think he is selling something more valuable: empirically driven insight into meaningful work (the key insight, by the way, is that you need to adopt the crafstman mindset).
Just to give you a peace of mind, I'm gonna share that I'm utter shit too. I have almost 20 years of experience and working at a huge worldwide company. I have conducted more than a hundred interviews myself and yet, if I apply to somewhere I can't write a simple parsing script in a coding interview.
Some of us just wired this way. Also interviews are like a date. It is equally up to chemistry and luck along with correct answers to questions if you get the job.
To be useful too, a few links. Check out this for inspiration: https://rejected.us/
The best book to get an IT job: https://www.amazon.co.uk/Cracking-Coding-Interview-6th-Programming/dp/0984782850
My older brother did! He dropped out of college midway through for personal reasons but he had the code bug for as long as I can remember. It started out kinda crappy, coding websites for not the best pay, but he's really improved over the years and now he has a cushy 6 figure job. It's definitely possible, and when I'm looking to hire people because of this I don't really care about degrees. Now to be fair, usually people with degrees perform better on coding tests, but that doesn't mean the exception doesn't exist.
Also, do yourself a favor and read/practice with this book. It's how I broke away from being a data analyst and got back into coding: https://www.amazon.com/Cracking-Coding-Interview-Programming-Questions/dp/0984782850
Here's a really good book by someone who used to conduct coding interviews at Microsoft, Amazon, etc.
Still, it's not likely that you'll see the same exact questions on an actual interview. Just practice a lot and get comfortable with solving problems. That will help you when it's time to code on-the-fly at an interview. Also, it's more important to talk through the solutions. Coming up with an innovative, elegant, or efficient solution with pseudocode is more important than getting the syntax exactly right in a particular programming language.
The most popular book on this is:
https://www.amazon.com/Cracking-Coding-Interview-Programming-Questions/dp/0984782850
While every company is different and YMMV, I don't know of any other single resource that has more tips and advice that are pretty generally accurate.
As brief answers, though, what I recommend is:
I don't generally recommend writing out an algorithm. There's no standard way to write pseudocode, and by its very nature, pseudocode is quite often ambiguous. Writing takes time, and it usually doesn't end up helping.
There are occasional exceptions. If you're trying to compare two approaches, writing a brief sketch of two algorithms could be a good use of time.
If you do need to write pseudocode, my advice is to use the syntax of a real programming language, but just make up functions that you need in order to make your code concise.
For example, I've seen interviewers try to write pseudocode like this:
if url doesn't start with "https" then return error
Instead, write it like this:
if (!url.startsWith("https")) return -1;
Or if you prefer Python, something like:
if not url.startsWith("https"): raise Exception()
The idea is that it doesn't matter whether startsWith is a real function or not. If it's not, you could easily write it. But by using real syntax, it's clear what you intend.
Adding on - those sites are great to learn the concepts. If you like books:
Also for practice problems, leetcode.com and hackerrank.com
For DSA I always recommend Cracking the Coding Interview (I think I’ve linked it at least 10 times on this sub... cause it works) it’s on amazon rn for 40$:
Cracking the Coding Interview: 189 Programming Questions and Solutions https://www.amazon.ca/dp/0984782850/ref=cm_sw_r_cp_api_i_QtjXCbCN7EEN4
For Big Data/Github Projects, you want to show you understand the pipeline from start to finish. Your projects should show you can find data, clean and prepare it, preprocess, train, test and then deploy. I’d say 99% of people start with the MNIST data set (people who know MNIST are probably laughing right now reading this). Most people you’ll be interviewing against will likely have an MNIST project on their github, so if you want to outshine them, follow this MNIST tutorial but DON’T put it on your GitHub (or do for now but remove it when you add more projects):
https://www.tensorflow.org/tutorials/keras/basic_classification
After following that tutorial, try to repeat the process but with other datasets. There are millions of free datasets available online, pick ones that are relevant to your hobbies outside of work, so when you interview you can start with “I really love blah blah in my personal time, so I decided to train a neural net to recognize blah blah, and so I found (or even better, created) a dataset for blah”
For example, I love going hiking and often wonder what kinds of birds I’m seeing in the forest, so I found a dataset of bird pictures that were labelled, trained a neural net to recognize them, and hooked it up to an app so I can now point my phone at birds when I’m hiking, and find out what species of bird I’m looking at.
As for the management/marketing thing, I can’t really give you any useful information so I’ll leave that to someone else.
Also, sorry for the formatting, I’m in mobile. Good luck!
There#s a few C# cookbooks. Best practice is running through a set of Kata's. Search for "C# Kata"
Alternatively, get the "Crack the Coding Interview" book (https://www.amazon.com/Cracking-Coding-Interview-6th-Programming/dp/0984782850 ) if you're feeling brave.
> ...gain some experience under my belt
I agree with /u/ivix; it's the wrong kind of experience. If you have a CS degree, then you should be developing, not answering phones.
I recently entered the field, and I found https://pramp.com/ to be super useful for technical interviews both over the phone and in-person. They're live, so it feels a lot like a real interview (i.e., nerve-wracking).
Also, Cracking the Coding Interview is a must. There might even be a copy at your library if you don't want to buy your own copy. This walks you through the interview experience at the big software companies (Microsoft, Amazon, Apple, Google, etc.), and teaches you how to solve an algorithm problem, not what the answer to each problem is.
Finally, as dumb as it is, I'd recommend practicing coding on a white board (or a piece of paper). It's stupid that companies do it, but if you practice it, it'll be easier to think about the problem you've been asked and not about how weird it feels to be writing a loop in marker rather than typing it. Write sort algorithms, BFS/DFS, fibonacci, etc. Not that any of that stuff will necessarily help you, but I felt much more comfortable in the actual interview because I was used to drawing code.
Let me know if you have any questions and goodluck!
Don't. Do not under any circumstances say you would work for them over all other choices. There's a few reasons for this.
This isn't necessarily done on purpose, but I've seen it happen first hand too many times to count. It's almost like the "bad-boy" dilemma in dating- the guys who seem farthest away to reach are usually the most in-demand.
Instead, communicate your passion through the knowledge you have about their company. Talk about their things they've done you admire, ask them questions about how the framework they use and why (Do your research, don't say anything obvious!). If there are company github projects, read through them all. Try to get an idea of what they might be working on next and why.
In a phone interview your goal is not to get the job, just to get to the next interview. Give them what they need without sending across any red-flags. Really look closely at the job description and make sure you check each criteria. Have prepared answers for questions like: "Tell me about yourself," "Where do you see yourself in 5 years," etc.
I'd also recommend buying "Cracking the Coding Interview" if you have some time to prepare: https://www.amazon.com/Cracking-Coding-Interview-Programming-Questions/dp/098478280X
It's extremely helpful.
Hi SpaceTaco - happy to be here!
There are a lot of resources out there but I think fundamentally you should understand what a product manager is and what a product manager isn't. I have interviewed quite a bit for junior product manager roles and whether it is a role for someone straight out of university or someone with a year or two of product management experience, I like to see intellectually curious individuals who can work well together in a team environment (i.e., communicate effectively), are empathetic to the end customer, and can start to think about how to invest time and resources.
Tactically for interviews, two resources I found pretty helpful when I was doing PM interviews was Cracking the PM Interview and Inspired but there are plenty of other online resources out there that can help! If more is needed i am happy to link to some online resources I found useful.
The job description is the bar.
Once you meet that minimum bar, you need to be the very best candidate out of the bunch of qualified candidates applying for the position. That's the hard part. Every position is different, every HRBP/recruiter is different, every hiring manager is different. Broad strokes; Interview well, be personable, be technically impeccable.
That's it. No secret sauce.
> I would be looking for an intern for next summer (2022) so what would I need to land one .
You'll want to be hunting and researching now, hitting up job fairs and applying aggressively during the Fall semester.
https://smile.amazon.com/Cracking-Coding-Interview-Programming-Questions/dp/0984782850
Paso 1:
aprendé inglés. Bien.
No la típica "uhuh inglés medio, entiendo lo que leo, igual está google translate", sino poder expresarte 100% y poder entender al detalle cualquier serie en Netflix sin subtítulos.
Sin esto no tenés acceso al 90% de la información que vas a necesitar para cualquier ámbito de la vida.
Paso 2:
leete este libro: https://www.amazon.com/-/es/Cal-Newport/dp/1455509124
I think there is plenty of material out there that details what types of interview questions to expect from amazon, google, facebook, microsoft, and other start ups. See Cracking the coding interview and similar books. Best money you'd ever spend.