Breaking Into the Software Industry | Part Two: Interviewing
September 6, 2022
• 33 views
This will be part two of a three part video series.
Part 1: https://youtu.be/8RHcZEXbBec
Part 2: https://youtu.be/-f5qh8iR9Z8
Part 3: https://youtu.be/fsQJ7Jzh4eU
This video focuses on how you can stand out, from a high level, when approaching your job search.
My Social:
LinkedIn: https://www.linkedin.com/in/nickcosentino
TikTok: https://www.tiktok.com/@devleader
Blog: http://www.devleader.ca/
GitHub: https://github.com/ncosentino/
Twitch: https://www.twitch.tv/ncosentino
Twitter: https://twi...
View Transcript
hey welcome and thanks for watching um if you can take a moment to like this video if you find it useful and subscribe to the channel that would be great um i wanted to to talk about um being able to break into software engineering and i want to do a three-part series so this is the second part and the three phases that we're kind of going over are this first part about uh the application process and trying to get noticed so you can land an interview the second phase that we're going to talk about in this video is actually once you've had the opportunity to get an interview and have those lined up like what do you actually do in the interview process and the third part is actually some of the on-the-job experience in my personal opinion this is uh a lot of people
don't think about that part and i want to spend more time on that in the follow-up video so like i said today in this video we're going to kind of look at once you've landed your interviews and you're getting prepped for that and you want to stand out in your interviews you know how do you start approaching that so in the first video i was talking about some comparisons between big tech and startups so to to reiterate what i kind of said in the first video i do have experience in both i spent just under or approximately eight years in a startup that transitioned to small to medium-sized business as an engineering manager almost the entire time so i was recruiting for this startup basically through my entire time there and then now i'm at microsoft so obviously big tech company so kind of have
the perspective from there as well and in my opinion there are tons of differences i am going to be kind of speaking in a general sense so you know when when you do that you're gonna end up you know you can't you can't make statements that are true in all cases but this is from my experience my personal opinion i hope this kind of helps so um i wanted to start by talking about some big tech comparisons because i think there's so much information out there about interviewing for big tech that i would um you know probably do a disservice to try and get into that there's so much great content that talks with the types of questions and that kind of thing so i just wanted to touch on that because um a lot of what's out there for big tech is quite accurate
in my opinion and then i want to spend more time kind of looking at some startup kind of stuff if you're applying to those types of jobs so with big tech um i would say the pretty common pattern um is that you have a handful of interviews lined up right and that could look like anywhere from two to five kind of range and uh generally you're going to be talking with a few different people within the team or the organization that you'd be working for and the breakdown of questions that you'd be seeing is something like um it kind of depends on the level that you're going for so assuming you're watching this you're trying to get you know breaking into the industry probably more junior roles right and if that's the case um i would say the breakdown would be probably mostly um coding
questions and these are generally they're not like i'm not a big fan of these but generally you know things like on uh lead code or um algo expert um and there's lots of examples of this right so you're given a problem that um might be a little bit vague so you ask some questions about trying to you know set up the parameters the interviewers actually expect that you ask questions right so you're kind of setting up the parameters for um some algorithm that you have to go right and then you implement it you know you do want to be talking uh to your interviewers about how you approach you know why you're making certain decisions they'll get you to kind of debug it maybe you talk about optimizations you're explaining like you know this algorithm might be more performant but you're sacrificing memory or you
know if there's some of the design constraints you asked about for this algorithm you want to save on memory so it's less performant in terms of uh run time that's the kind of thing that you'd be going over a big o notation for performance and is usually really common um but some of the questions are kind of designed to be a little bit tricky i would say um and i'm not a huge fan of having like questions that trick you it seems kind of ridiculous to me but that is kind of a common theme unfortunately um but yeah they they do expect you to ask clarifying questions and you'd be coding and i would say it depends on on the company right but they might say that you can code in any language they might say you know ahead of time like they're you would
know they're a c-sharp shop or a java shop and they expect you to be programming in that language but generally i would say they kind of they give you some freedom to pick a language to code in um usually something like pseudo code is not um you know not quote unquote allowed but i assume that if you were maybe struggling to kind of get all the way through it and you wanted to pseudo code a little bit of it or something they might kind of accept that um but generally not scoring is high if you're just using pseudocode throughout the the answering of that question so most of the questions that you would be getting are algorithmic questions like that and then you might be faced with some system design questions i would say this is a lot more common as you go up in
seniority so again if you're watching this maybe not totally relevant but something to think about right so this is where they be asking you again it depends on the place you're applying for if it's uh you know if there's a lot of cloud computing involved they might ask about setting up services how those might be running how they would communicate with each other different design decisions you'd make for that uh maybe a little bit of pseudo code in some areas right so if you had to make a service to talk to a database maybe they might ask you what some of the um you know operations might look like and how you might code that from a high level so if for a junior role you might see maybe one or two of these but i would say definitely heavier towards the um the coding
and algorithm questions and again just to to reiterate i'm kind of not going deep into this and how how you tackle those because there's so many resources out there literally you could jump on on youtube search anyone's video for example interview questions at certain tech companies even and you'll get some examples right so i would say that for big tech interviews that's pretty common so uh we're talking about trying to stand out in these interviews and i would say it's actually in my opinion kind of difficult to stand out in the interview process for big tech because a lot of the time it involves kind of nailing these questions right um depending on the interviewer you have that might look very different so unfortunately like i'm gonna say unfortunately because i don't necessarily agree with this but you might have an interviewer that that fully
expects that you nail the coding part you kind of go in with the exact right algorithm approach it a certain way so honestly really practicing algorithm questions coding them out i can go a really really long way for certain interviewers right um my personal opinion and it's probably a little bit rarer with some of these big tech interviews is that i don't expect you get the right answer right away and in fact if you don't it's actually a more interesting interview because i like talking with candidates and saying hey like you made this decision what happens if we think about this other constraint so personally i think it's a great opportunity to to be able to demonstrate your thought process how you think through problem solving um and i'll kind of get to this a little bit more later when we talk about the startup
side and where my you know my opinion sort of lies but i do think that your explanation of your implementation of your algorithm can go a really really long way so you know everyone else that you might be competing with for for these interviews and stuff they're probably practicing these coding and algorithm questions too right so i think that just memorizing it and having happening to get lucky and getting one that's familiar is not really enough i think like understanding why you make those decisions in your algorithms being able to elaborate on that um kind of like if you understand them when they throw you curveballs and say well what about if we change this constraint you might not have memorized the answer and practiced it right but if you understand it you might be able to say oh yeah we traded you know this
um this data structure to reduce memory but now they're saying uh you know this is a different constraint over here so we should flip that around so understanding those design decisions i think is really beneficial and you can kind of stand out a little bit if you're able to elaborate on some of that and then of course for a junior role if you do have a system design thing you can probably stand out a little bit more than some of the other junior candidates if you can work on some of those system design questions ahead of time again lots of examples we'll talk about message queues databases redundancy and services things like that so um yeah lots of examples out there but that's in my opinion kind of the big tech scene for uh for interviews um so i want to focus more on the
startup side because this is going to be more of my personal opinion um and i think what honestly makes for a better interviewing uh result for for both sides right both sides being you as the person interviewing and let's say like you know the interviewer me in this case uh when i'm looking for candidates so on the startup side i think i just want to kind of call out a really big difference between sometimes in big tech and startups and i would say in startups i think it's a lot more again not all the time but a lot more common that in a startup you'll have someone who is you know the hiring manager the team member who's really focused on trying to recruit for their team kind of doing a lot of the heavy lifting with sourcing the candidates and going through the the
pipeline of candidates to interview them in big tech there's you have to think about a really big almost a pipeline that has automation in it different groups involved like literally recruiting departments hr um the team will get involved but you know sometimes in big tech you'll have teams that are interviewing for general positions and then they try to source where that candidate will end up going so you get a little bit of a disconnect i would find um so again in startups you get a little bit more call it like an intimate interview where it's probably more for the team that you're you're interviewing with um and i think as a result you get a better opportunity for as a candidate um you probably get a little bit better of a feel for the team that you're interviewing for and that's the thing i want
to remind you as we're going through these videos so the one i did before this hopefully you've seen that one already and i'll mention the next one after but going through this process while we're talking about getting you set up for an interview i think it's really important that you remember you are also interviewing the company that you're interviewing with right you want to take this opportunity to understand that it's going to be a place that you do want to work at um you know just because it's a big tech name or something or the flashiest startup you've heard of doesn't necessarily mean that it's going to be a place that you want to work at so take the time to understand the team that you'd be with um and yeah you can do a lot of that in the interview as well when you
have a time period to ask questions so when we get into some of the technical aspects of like an interview with a maybe a startup or a smaller company i think my experience has been that yes you're still going to have coding questions it's pretty common right they want to assess your technical abilities um i don't personally think that you get as many sort of like cookie cutter trick questions that are like um you know just the the ones pulled from the endless lists of the the big tech interviews uh will it happen sure um is it as common i think there's just less focus on it personally and if you do have those types of questions i do think that you have interviewers again my personal opinion interviewers that are going to be focused on what i would call the right things like how
do you navigate some uncertainties and do problem solving a little bit on the fly and less about did you memorize this algorithm because that's not really beneficial you'll kind of see when we do the third video and we talk about in practice you can google most things you can bing most things you can search on the internet for most things there's stack overflow there's youtube um so memorizing stuff is a little bit um i would say ridiculous to kind of gauge someone's skill so yes you'll get coding questions i would say maybe expect um white boarding some stuff if it's a virtual of course maybe you'll um there's a lot of uh software and uh different offerings where you can kind of get like a virtual whiteboard or virtual coding space and kind of walk through coding questions so definitely expect that i think if
you're practicing your your coding and algorithm questions it's not wasted if you're kind of going between big tech and and startups uh it's still applicable i just think that you probably have interviewers that are a little bit more in tune with uh gauging uh gauging your abilities in a smaller company that's less of a oh i guess i had to sit down and go through these interviews because i was asked to just my personal opinion um another thing that uh i think startups get a little bit more into or smaller companies not just startups is that they'll try to look at gauging some of your your teamwork abilities so you might actually have the opportunity to pair program on something or walk through some technical challenges together and this i think is a really cool way that um that they can gauge some of your
teamwork abilities and problem solving in in like a real environment so what this could look like is maybe they'll pull up some code again if it's virtual it might be a little bit interesting with some screen sharing um but they'll pull up some code and maybe say hey look here's an example of a system we have and there's a bug or there's a feature we want to implement and they'll give you some background on it and they'll say like hey like how do we go about how do we go about fixing this or implementing this so you know they want to see like how do you approach problem solving with ambiguity right so give you an opportunity to ask questions about the system like they might have mentioned a database and there's a problem with the database and maybe one of the questions you say
well what kind of database is it right is it a relational database and they kind of get you to build this picture um and then see how you want to go like hey like can we go look at this part of the code that might it sounds like maybe there's a ui bug like can we go look at that and kind of work together um i mentioned too you want to be interviewing them a little bit too right so it's kind of cool if you can see like hey like in like in my job if i were working here if i had to sit down and work with someone this is maybe an experience that it would be like so if it's enjoyable as you're interviewing that's a good sign so i think this teamwork assessment kind of thing um can show up in different
ways so whether it's you know problem solving through a bug or um kind of a pair programming kind of thing there might be some other techniques that they employ but i definitely think that startups and small companies uh can take a little bit more effort in being like creative with trying to assess this and when you have in contrast with big tech it's a little bit more of like a pipeline that's a little bit more mechanical so anyway that's just a something i wanted to share on that front and then another thing i think that startups and small companies do a really good job of is really like call it like team fit culture kind of thing they want to get i don't like saying like soft skills it's kind of a crappy way to put it um so it's it's really some of the
other pieces that aren't just technical and this is really important in small companies especially um because as you're bringing on new people um obviously the culture of your company is gonna change right the dynamic of as as people come on things things of course change right like the teams grow you have more teams there's potentially things are silo and you have different product offerings blah blah blah it's going to change um and part of it is that the interviewers want to make sure that that you are someone that they can work with you do you are collaborative right if there's any opportunity where they can gauge maybe things where um some of the personal interactions might be challenging because you are difficult to work with there's this opportunity where they can dig into that a little bit more so they might talk about you know
if you're fresh out of school or maybe you're going uh for an internship right they might ask about like hey like talk to me about some projects you worked on with classmates right how did that go what happened when a problem came up like what types of things did you try to take the lead on in the project and they tried just to get a feel for working with you and like in big tech and other bigger companies do they do that yes um again if you're not actually interviewing for that team though it might feel a little bit weird and um maybe a little bit less personable if the interviewer is kind of asking these questions just because they need to relay it to someone else um so that's why i kind of use the word like uh it's kind of a weird wordies
but like a little bit more of like an intimate interview uh when you're dealing with startups and small companies especially around like the fit and the culture piece so as we talk through this again i want to go back to how do you stand out in these interviews right we talked about it a little bit for the big tech side right it's a little bit trickier because it's a little bit more of a mechanical process um but i think in a startup my opinion uh like the things i look for especially um are i really like that you're you're passionate about the thing that you're interviewing for so for example um you know it might maybe that passion shows in like you you're just really into programming you like you can demonstrate that because you have some hobby projects or you get really excited talking
about a past project that you worked on it could be in the uh the domain that you're working in right so the software is applicable in so many industries if you were going into finance you could maybe you're excited about like um revolutionizing how uh banking works or if you're in agriculture you're super excited about different aspects of farming or if it's retail like you you know if you think about these different industries that you could be working in from the software side being able to to demonstrate passion in some way i think is uh something that's really appealing for a startup because a lot of the time startups are looking for people that are excited to be getting work done and kind of rallying together so personally i really like seeing that um obviously on the software side if you're really into coding to
me that stands out but if it i don't expect that everyone's going to be going home like after a day of coding and then opening up their laptop and saying cool like i'm just going to code some more um maybe like i personally like to program but i don't expect that of people what passions do you have right um do you like rock climbing do you like going for dance class do you like going to the gym playing a sport like just seeing that people are passionate about certain things is really i think a standout kind of thing in a in an interview personally um another big thing i kind of mentioned this about the memorizing of questions and like answering them in an interview i don't like that as much as i like seeing that people are eager to learn so i personally don't
care how much you know or have memorized before the interview because when you're working it's always going to be about new things coming up and these opportunities where you're faced with situations where you have to learn it's always going to happen so like if you are someone who is eager to learn willing to learn excited by new challenges and stuff to me that really stands out if you know a ton of stuff and i i get the feeling somehow through our interview that like you're a little bit close-minded you're not really willing to to try new things and explore and um and learn and be challenged and i'm like well you're kind of uh putting a boxer on yourself or how like your growth potential right i am much more excited to hire people that are that are just willing to learn and grow and
then the last part i touched on already is collaboration so if you have examples of things like projects you worked on with team members um you know in school or outside of school or previous jobs kind of thing even if it's not in the software i think it's a really cool way to show that you had collaborative experiences so in the third phase when we talk through this this other video that i'll create um i wanna kind of it's a spoiler i guess but i wanna call out that like a lot of software engineering is of course the technical stuff we think about all the time as programmers but i think a bigger piece of that is sort of this non-technical stuff like working with other people i think is one of the biggest challenges in software engineering and i think that a lot of
people don't talk about this and think about it but if you are someone who is managing teams and this is on your mind i think you know especially in like a startup environment this is something that's on your mind and you want to bring people on that can collaborate so if you want to stand out even more i say have examples of that that you can share and talk through and like why you are a great person to work with um so i think that's it for today so just a quick quick recap um in the second phase we're talking about you know when you actually have the interview what does that look like how do you stand out kind of talked about big tech being um you know primarily a set of coding and algorithm questions right lots of resources online for that you
can stand out by actually understanding those algorithms not just memorizing them so if you get some curveballs you can talk through it and then i was kind of saying that from the the startup perspective um you're going to get coding questions as well but there's probably a little bit more opportunity for like demonstrating your teamwork abilities maybe culture and fit that kind of thing for for being on the team and how easy you are to work with um and i think from here in the next video as i mentioned we'll talk about great now you've gone through the interview process and now that you're on the job what does that look like all right so if you enjoyed this please like the video if you're watching on youtube subscribing would be great lets me know that you like content like this and otherwise thank you
for watching and hopefully watch the next one
Frequently Asked Questions
What should I focus on when preparing for a big tech interview?
When preparing for a big tech interview, I recommend focusing on coding and algorithm questions, as these are typically the main focus of the interviews. Practicing on platforms like LeetCode or AlgoExpert can be really helpful. It's also important to understand the reasoning behind your algorithm choices and be prepared to discuss your thought process during the interview.
How do startup interviews differ from big tech interviews?
In startup interviews, I find that there's often a more intimate atmosphere, as the hiring manager is usually directly involved in the process. Startups tend to focus less on memorized coding questions and more on assessing your problem-solving abilities and teamwork skills. You might even have opportunities for pair programming or collaborative problem-solving during the interview.
What qualities do startups look for in candidates during interviews?
Startups typically look for candidates who are passionate about their work, eager to learn, and able to collaborate effectively. Demonstrating enthusiasm for the role and sharing examples of past teamwork experiences can really help you stand out. It's also beneficial to show that you're adaptable and willing to tackle new challenges.
These FAQs were generated by AI from the video transcript.