Don't worry, scro. There are plenty of bad software engineers out there living really kick arse lives. My first wife was a bad software engineer, she writes software for Boeing now.
She might be a bad software engineer for sure she was better in interviews than this guy. And probably knew more about modern software too? And how old was she when she got her job. Because that is the thing. You need that foot in the door. From the sound of it: this guy will at any given time ALWAYS lose from your ex-wife when it comes to that. He does not know the things interviewers want to hear and he is unemployed and probably old too.. And he seems also like someone without a clear goal. He has no focus for instance on one particular stack or type of programming he wants to do…
@@parlor3115 nah, hes talking about companies that have open source commercial products, like I don't know - Proxmox. Anyway, I would like to hear why he thinks it is that way.
I feel that Mohamed would do better applying for a dev job at large non-tech companies, like banks and insurance companies and medical institutions - places with smaller dev teams whose job is supporting the money-making side of the business (instead of it being responsible for making money like in tech companies). They seem to value personality and fit more than current skill because when they're so big things move slower and you get time to learn and develop. And they would also appreciate an established family man who would have an incentive to learn their systems and stay for 2 decades rather than a college grad that would leave after 2 years. Being pleasant and friendly and talkative is the key skill in intervewing with them (which also comes easier with age).
He says he's not a university graduate, so the jobs you're talking about they might be screened out for. Non-tech put a higher value on qualifications like that.
@@thmstbst He should be chasing referrals from the people he mentions that have hired him in the past and know his work quality then. Its super shitty that many companies still think a degree is requisite but on the other hand you can also read it as a red flag that the company doesn't know how to assess dev candidates at all and you probably don't want to work there.
@@sfulibarri But that's what interviews often test for, data structures, algorithms. Stuff that proves you took a computer science major. You could understand some other advanced mathematics, but that's not what the current field looks for. Referrals might not matter if you don't know binary trees inside and out. Interviewers will think they accept someone of any schooling, but then test them on whatever their school told them was most important. Making the test a proxy of if you went to the "right" school. I know I happened to end up in a job where my interviewer went to the same school as I did.
@@thmstbst Yes that is the crux of the issue isn't it? Many companies test for the wrong things, whether or not a candidate has a computer science degree has little bearing on their relevant skills as far as them being a productive software engineer or their capacity to learn and grow. A good foundational knowledge of data structures and algorithms, specifically algorithmic complexity, is surely important but it should be assessed in the realistic context of the actual job in question, not arbitrary leetcode style whiteboard challenges. I believe the root cause is that companies like google/facebook/etc settled on using leetcode style interviews specifically to filter very large numbers of applicants believing that those who make it through *should* be good devs. I have worked with former FAANG devs and I know this is not always the case. But many companies who do not have the problems of too many applicants try to emulate the practice because if these large successful companies do it then it must be good and that is all the thought they give it. Unfortunately this is unlikely to change unless more applicants start refusing to play along and its particularly hard for new graduates or non graduates trying to break into the industry since they will likely not understand that the expectations in these kinds of interviews are wildly different from the actual job. In my own case, all of my former colleagues that I would go to for referrals share my view of the toxic nature of FAANG interviews and asinine expectations of a CS degree. I can depend on them to not refer me for a position where my interview would include such things. I would hope the person who wrote the article in the video can depend his network of peers for the same. I have also found jobs where my interviewer or other teammates went to the same school but if I ever felt that this coincidence actually weighed on their decision I would not have accepted the job. I do not wish to work for any company that would evaluate candidates in such a shallow manner and it should be viewed as a red flag that the quality of your colleagues and their potential to facilitate your own growth and learning will be minimal. Same with leetcode style interviews; any company that puts candidates through such nonsense are plainly admitting they are hiring by lottery, it only depends on if the candidate has seen similar questions in their preparation.
I work at one of those places and I've been repeatedly put on the backburner. Most of the time the teams are too small (profit squeezing) and a lot of the tech wings of banks, etc have a retail tech sector. So technically, you still are making a product to make them money. Honestly has killed coding for me, I can't even look at my IDE without feeling nauseous.
I come from a teaching background and ached at 13:46 because at a previous company I was specifically told that HR and the legal team wouldn't allow "leading" a candidate during the interview process. They claimed this was because if a candidate was not hired they could sue us for unfair hiring practices. I told them time and time again how interviews should work and eventually my manager took over hiring my team (I was also a manager) because I was "not following our internal documentation". Additionally, we we're not allowed to be friendly with the candidate during the interview. A member from the HR team joined every call and wrote down how many times we smiled. Eventually I was taken off of interviews because I was being too open, friendly, and nice to candidates. I was officially reprimanded after and demoted because by smiling I was "not being a fair opportunity employer". This is not a joke but I am not allowed to publicly say the company name. If you're interested find me on another platform and I will tell you the store off the record.
Sadly, similar experience here. As for what Primagean says... maybe the interviews are easyer at the big 4 or big companies.. but in my area, E EU, interviews have gotten harder and more time wasting unless you are over 7 years of exp.. after that treshold, they are indeed easier.. so maybe it also depends at what level they gotten easier..
@@voidspirit111 That is an interesting story and sorry to hear it. If interviews you're going on are difficult just know that you are probably not the issue and it is all corporate red tape. The people I was interviewing were coming from RUclips and Google and had 15+ years of experience. They were going to be getting paid 1/2 of their Google salary and just wanted to join a fun startup. But the policies of this startup were so backwards that we couldn't hire anyone. Just another example: internal document for interviewing candidate was 86 pages long and I was quizzed on it regularly. I had to do all of this while also working on code full time. So, again, just know that you're not the problem.
Hearing you talking about how C++ isn’t taught anymore was a huge revelation. I’m in university and my school uses C++ as the starting point for teaching the core CS classes, particularly data structures and algorithms. I couldn’t even fathom starting with a different language, though I took a course on C# as well. I’m very grateful I’m starting with C++ and building my understanding of memory management, even more so now that I know everybody doesn’t necessarily learn that way
This is literally my realization. everything is an array lol. Hash sets have buckets which are arrays. or at least that's how it was initially implemented in python
Unless they're linked lists, in which case it's just an array that's been thrown against the wall, shattered into a million pieces, and then reconstructed--not by gluing it back together, mind you, but by running a piece of string to each piece and just leaving it sitting all over the floor looking like a pile of crunchy spaghetti. It's "fast," because we can just snip strings and tie them back together again to reorder the list or add on new elements, but it's exactly as slow as you're thinking, because you have to fish through a pile of spaghetti to find anything.
I think the "passion and excitement" part is a bigger issue than many realize. Like, it's not actually good enough to just want learn some skills for a job to pay the bills, you have to LOVE it to grow and survive. I don't think that's clear at all to people considering this as a job. To some degree it's true for all jobs, but I can't recall any other job where your hobbies and whether you will spend a lot of your spare time educating yourself can be crucial to whether or not you are considered passionate enough. That's not just a job any more, that's a lifestyle. Not to mention that showing passion for something openly, is a very extroverted thing to do, and a lot of engineers are more introverted. Interviews is an inherently extroverted activity.
Just to mention, u can be declined specially cuz of true passion. Some heads in some companies are scared to pants, thinking that they will have to leave their places cuz of u, so passionate one.
The problem is that is so much to know to nowadays that we can be overwhelmed. Usually when I do interviews I tend to look more into the personality of an engineer. Someone who is smart and has a perpetual learning mindset can achieve anything, and for me that is the most important. One thing that I also like to see in interviews is how a person reacts to failure.
I also look for ppl who are not scared to say 'I don't know', I don't like to work with ppl who can't admit not knowing especially if they then start to guess with confidence. But if you say 'I don't know' then also show you understand what the question was and what the interviewer would like to hear, and maybe list related things you do know about, e.g. when asked about DNS and you don't know, maybe say you once learned about it (where and when) and explain what the purpose is, but forgot in the mean time, and maybe you know how internet routing works or something networking related and ask if the interviewer would like to talk about that. Often the interviewer wants to get a discussion going about something relevant, and see how effective you can explain something, how you listen to them and adjust the way you talk to accommodate the circumstances.
I left the tech world for two years to have time off flexibility. When i tried to get back in, it took 7 months, over 400 applications, and dozens of interviews. Finally start this monday, and am actually pretty nervous. Last tech job I was there nearly a decade, and this is in an entirely different section of the tech world. We shall see.
@@Prod-23 It's a different world, culturally. I spent 20 years in hosting support where it's all about doing the most numbers possible. This place is.... not that. Very much a startup mentality, where support is just holding on for dear life. Pays the bills though
I’m in year 12 of my career and I’ve done some interviews just to see what companies are paying and doing and they are still asking these stupid technical questions when 90% of what we do is UI/Rest/Database.
@@yuricaptinprice3917 REST APIs Also, I second this.They grill you in the interview and make you think you're going to be way out of your league, then you start the job and it's the basics
That really depends on where you apply, one REST api for simple crud actions is one thing but more often then not if you work in the IOT industry, those algorithms memory management, profiling and optimization are a part of your day job as embedded devices don't have 10 GB of ram available at your disposal. So if you eat the same ice cream every day, it will taste the same, 1 day from now and 12 years from now. But your point is still valid i still don't see a reason for a company that mostly does CMS stuff to be asking very technical questions, alas some people don't want to bother with their own question so might as well just use what works.
@@justanaveragebalkan u saying that like mem management is incredibly hard. Same shit, just different field. I mean, for me UI/REST and so on is much more harder then memory ops just because these two are not my field, and memory optimizations is what i am familiar with. Programming is stupid, in general. Just wide volume of details n a lot of diff fields.
I had some interviews where the requirements where: .net, c#, sql server, etc. And then they proceed to give me 4 practical exercises with 20 paragraphs each, some of them with things like geometrical equations to solve specific problems. All that in 40 minutes. Even solving the 50% I didn't qualify because it wasn't enough. I'm not sure what's the point of these kind of interviews, but I feel it's a rule now, everyone has to prepare to solve incredible complex algorithms sometimes, and if you got the job, you have to create components to show text, fetch APIs, create landing pages in SASS and stuff like that. Don't get me wrong, I love algorithms and I keep practicing just for the love of solving problems, but I feel sometimes the companies don't know how to test candidates.
Interviewing is a skill, 100%. I am exceptional in interviews; I have, time and time again, ended up in positions I am grossly underqualified for. That's not always a good thing. There are times where I have thrived and sped up my own development 10x, and times where I have faceplanted so hard I question what I'm even doing with my life. The takeaway for me was that interviewing is not a one-way street; it's not just a tool to weed out people who can't do the job to the benefit of employers. It's also a tool to weed out the companies whose expectations of you will cause burn-out and unhappiness for YOU, the interviewee. Unfortutately, that takeaway just made me come across as even more confident in interviews, which really fucking compounded the issue of ending up in bigger boots than the ones I should be wearing. But man, it's really hard to say no to more money when it's on the table. I'm just so grateful to have a lift partner who's so supportive of my ridiculous all-nighters spent learning everything people assume I must already know. I'd be lost without her.
That is really cool man, and it makes a lot of sense - it is very difficult to say no to relentless confidence. This is great advice - almost like a secret cheat code.
My man, if you are the kind of person to then pull the all-nighter and learn what they expect, clearly they hired the right guy. Take a look at fucking impostor syndrome and don't be so hard on yourself
Very interesting to learn that despite all the interview techniques and processes, they fundamentally rely on self confidence. I mean good for you to be self confident, more people should be like that. But the interviewers should try be objective and test skills and so on. Not be persuaded by the projection of your illusions about yourself. But then again, people want to be conned and be captivated by the storyteller who promises a better world. We already knew that.
I would rather do an old school technical than a modern technical interview. The questions are just all over the place. And when it is my turn to ask about the code base, the answers are very opaque. People say "learn fundamentals", but who is going to actually ask them? How does DNS work is actually a fundamentals-related question, but I don't know how it works, nor do I need to.
You said many things and Also didn't.......they say to be good at Programming, you have to know every details like a Nerd. If that's the case, then I guess I have to take CS at uni, which is COSTLY AF.
The more I watch you the more I learn... You are a great person. It's so easy to see with this video. So happy for you and hope you retain happiness as long as you can.
I appreciate you and your work. It's nice to see someone with a significant audience trying to lift others up, while still conveying the value of hard work and persistence in spite of failure.
When I interview I never really care about the answers…it’s about how much understanding you show in what you’re doing, what happens when you come across a problem in your code, how well you can absorb new information in the form of suggestions and improve your code.
regarding interview questions, I'm usually just checking if someone would be the right fit for our team/project and if not then that guy can get hired by other teams in our org, so i'm not really deciding. I usually let them just talk about their projects: what have they done? what was cool about those projects, what was bad, how do you prefer to work? and from there bounce off of what they tell and after that I usually have at least a basic idea if they did even know what they did on previous projects and have some basic grasp on how they like to organise their work. sometimes i learned stuff from it for myself, sometimes it felt like i talked to someone who couldn't care less. then again, we never needed anything senior, just someone who shows interest in what they are doing and is willing to learn skills that aren't on his resume yet and its totally fine if they need some time to actually gid gud
Taking months off is the worst decision you can do in the tech sector . Companies don’t like that . Even if you plan to interview for a month .1 month can turn into many and soon you will out of the industry . Almost happened to me .
Why is that the case? I mean it certainly isn't something positive on your resume but why would taking a few months off take you out of the industry for good? It's not like tech world did a complete 180 in those few months and suddenly you're outdated.
@@markonikolic7957 Ask recruiters they say if your out for a couple of months companies don't like that . The tech world does move at the speed of light . If you are out more than 6 months its hard to justify without a very good reason .
I 'knew' merge, quick whatever sort, self balancing trees, graph traversal algs, etc. 13 years ago. "... should be able to do it today". If I took a book, read a description of an alg, I would be able to understand (most of) it, but no, I'm not savant, don't have photgraphic memory, and don't remember all past events and experiences from my life down to the smallest detail. Very few experienced devs I know would be willing to re-learn all this just for the sake of a random job interview, unless they're looking for a position where this type of know how is required and expected. OTOH salaries here are much lower, and I don't know anyone who's trying to get a job at Google, Netflix, Amazon...
@@ThePrimeTimeagen yeah I know lol. I mean I didn't know how many people per week you interview. What I was trying to say is there's one Netflix (and Google etc.) so I guess it's understandable you will want best of the best. At the same time vast majority of developers don't work for international Big Tech companies, it's understandable experiences vary.
sounds like he can't let go of the dream life and is shooting for the stars. If you get rejected 10 times that should signal you are living in a competitive area. try moving somewhere less competitive or with lower standards. the rest of the world needs software too.
What can you expect when we've been hearing all these recent years how everyone should learn to code, software developers earn millions and how there's a huge shortage of developers so everyone gets hired. Some countries like mine even went as far as started making teaching programming part of the curriculum for grade school kids. Don't get me wrong, these avenues should be as open as possible for those kids who are interested, but if we are going to make programming like every other job on society, the rose-tinted talk about programming career needs to stop because the hard reality is that only the people who are super dedicated may earn this legendary success. So often you hear this complaint: why do I have to do programming side projects on my free time to apply this job, it's not like doctors are doing medical experiments on their free time when they finish work day? The answer is because the market is now flooded with people applying for these jobs, and in the mix there are these programmers who DO NOT MIND working on their free time with "work related" projects. Welcome to the world of programming, I hope you truly enjoy what you do, because if you don't, well, good luck.
you're just getting less technical interviews because you're more senior. we ask new grads dynamic programming, graphs, caching, etc, but we ask seniors mostly system design
100% agree that there is no good process. I've tried so many variants and more often than not they've felt disappointing. Remote interviews definitely made it worse. By far the worst was when the higher ups decided we needed a 3 stage process. Phone screen, technical test (hacker rank) and finally a gruelling 3 hour face to face.... nightmarish
Problem is that people don't have the drive for it, not the remote interviews, actually in person interviews are much more stressful than remote as you are most often judged by the people in the room based on many factors. While from a purely psychological point of view it's much more stressful in person than remote for most people. But the big problem with hiring is that developers nowadays don't 10th of the drive of developers 20 years ago, students were innovating, they were creating their own programming languages, kernels, operating systems, soldering boards and writing firmware for cool robots. Today, you have students that spend 5 years in university, 2 years in bootcamps and their greatest achievement is that they can lay out panels with react. 9/10 don't know git beyond commit/push, they don't even know that git and github are two different things. It's sad, actually at the competence level of a what passes as a junior developer today, it's actually quite easy to get a job.
Third time being out of work in the last 3 years and this time hits different 1000%. First two times I was less experienced and less prepared for technical interviews, but managed to land jobs with a strong amount of effort and applications. This time it's taking monumental effort and already sent in hundreds of applications and been ghosted numerous times after interviews. Turned down one offer because it was a little low. But I had completely expected that having a few years under my belt and much stronger fundamentals I would crush it out there. Instead I was the one being crushed. Not gonna give up because I love the field more than any other, but I'm at the point where I've concluded grit is the only thing that's gonna allow me to last where others will fall.
One thing that I always wondered about applying for software engineer jobs is why the software engineers hiring can't solve the riddle of what's the best way to vet the best problem solver.
I have few thoughts on this. 1st - the author studies a lot without putting the theories into practice. 2nd - the salary expectations might be a little to high. A senior specialist gets his email bombarded with offers even without actively searching ones. 10 interviews in 4 months is just a little too few - you open up your Linked In, say you are open for work and you get your 10 interviews in less then a week. The only reason it could take that long is if the candidates expenses don't match his skills value. 3rd - the kids part - as Prime said, the kids should motivate you to do more, and the fear the author described is one of the strongest motivators
It seems he is very selective about which position he interviews for, that is fine if you can afford to, if not, then indeed, just play the numbers game, get some job, and keep looking for the next job you actually want. And maybe in the mean time you actually learn you can enjoy that job you didn't thing was worthy.
This guy made a huge mistake leaving his job for a sabbatical. No matter how bad things are and how much you want a break, things will only get worse if you quit without a backup option. Being unemployed isn't going to fix your mental state
i only apply to tiny companies and their interviews are a lot more business/product focused. everyone can produce basic technical answers, but fewer devs are self starters, confident in their work and willing to bear sole responsibility.
I've lost my "passion" to coding/programming so I shifted myself to something that was more contening myself and I guess my brain was likely towards it - Design. It's a little bit easier when you have that knowledge from front-end, but still... Design I guess are the challenges I like. But hey, don't you lose hope, people out there. You can also achieve some of your dreams.
Its nice you have found strengths to change your career path - a lot of people are afraid to do so! I did it twice already - from developer to test-automation - to product manager. And every time it felt great - new skills, new tasks, new responsibilities ..
i've seen people who were technically amazing be (justifiably) fired or ousted simply because they didn't "get along well with others" (meaning they disrupted others' work in the team, even though their own work was technically good); not saying this is the case here, but it's something to have in mind... don't only work on your technical skills
I agree, and a lot of high seniority specialists forget about soft skills which becomes more and more important the higher they are on the career ladder.
Tbh, I think he's having trouble getting a position because he writes tons of negative articles and they are the first thing that comes up when you google his name.
legit. he sounds like hes lying about things, sounds super pretentious and he has the wrong intentions. if the things he said are true it should be easy for him to land an entry level job considering the stuff hes said hes done. also if hes so good at math he should just try to be quant and not a SWE, although im sure those jobs require some sort of degree.
The question I always ask the interviewer (and they love it): "What does success in this position look like to you?" I've had a job where what success looked like to me and what success looked like to my boss were different. Unfortunately, once that became apparent, we tried to align, but he wasn't an engineer and didn't realize that his expectations couldn't exist in reality. I've been trying to come up with a fable and allegory to use in situations of "differing expectation." In my field (I'm an Interdisciplinary Liaison/"Broad level" Systems Engineer), there are times where two teams can't communicate effectively with each other. Systems Engineers generally operate at layers 3 and above, and usually don't even know what a "layer" is), but I've actually had issues that turned out to be at layer 2. Those are the kind of issues and problems that just ping pong back and forth between teams because neither quite understands eother what the problem is, or what could cause the problem, and it just goes nowhere. And it could turn out to be something like "I expect to be able to move this back office PC from the back office to the front counter for X project. Why won't that work?! It's still plugged into the network!" Well, your expectation is that a BOPC will work on the POS vlan. That's an unreasonable expectation considering we isolate those nets as part of our PCI compliance (this is a really contrived example with a cause that could be easily identified by someone with the respective knowledge, I just had to come up with something that was easier communicated on YT)
I had a time where I initially thought someone was bad because they couldn't figure out center a div, or make a navbar. Then they went ahead and wrote complex multithreaded backend logic for file downloads like it was nothing.
That final paragraph is rough. And I feel it totally and completely. Being a parent changes your brain chemistry in a way that is fundamentally different from how any other life change can. It breaks you in a way that is impossible to explain to anyone without kids. Children are the most soul crushing and life fulfilling thing in the world. It’s impossible to express. My son is my world. I too fear that I’m letting him down. I’m not good enough etc. It’s a never ending journey to acceptance and love. But remember, just do your best, shower that child with love. And you’ll be fine.
Really sad story. The world is brutal and it can really beat people down. On the flip side it can be a beacon of hope. Part of this experience we have just read sounds like a viscous cycle. Rejections lead to doubt, low self esteem, etc etc, and these things are subtly picked up on in interviews. Take everything as a learning experience and know your worth. This guy is CLEARLY extremely skilled and technical, which factually many many many companies NEED right now. For anyone else doubting themselves right now. Don't. Push to be better. Take time to relax. You should look after yourself and nurture your growth like a plant. Grow strong so that others will look to you in their times of need and feel empowered. Trust yourself and trust your human spirit
Google rejected me and apparently they don't do feedback for interviews. I got a couple of the interviewers to give me some feedback at the end, but I still don't actually know why I ended up getting rejected. I understand why they don't do feedback but it sucks because I'm not sure where to focus improvement efforts.
As I understand it, the interviewers are not involved in the hiring decisions at Google. They have a separate board for that. It's a holdover from their academic roots.
@@-Jason-L yeah I know. They have plenty of reasons for not giving feedback, and I have to say the recruiter that I worked with was super awesome. But the black box hiring committee and 0 feedback took it out of me.
I hear, "For me it takes 3 interviews to get into the interview world." And I'm sitting here after 237 applications finally getting a second interview thinking, "Oh no. I'm never getting a job."
I think the DNS server question I think maybe was quested a big wrong. Because what I would think they meant was asking about domains. I think of the DNS as the servers which look up/maps which IP a domain goes to. How DNS works in the back-end, that's completely another level of discussion.
In my university they started us off with a python course and 3 mathematics courses. in the second one we did a c and c++ course along with dast. firstly I found it really easy to learn c after learning all the programming basics in python, I could focus on actually understanding C and it became my favorite language. as for c++ I haven't decided if I like it or not yet, I got pretty annoyed cuz there was so much stuff to remember like why the rule of 3 exists when you need memory allocations in a class but I hope that when I gain more experience I will come to like it too. I really want to check out rust when I have more time though.
FYI since 'move semantics' the rule of 3 became the rule of 5 (adding move ctor and move assignment operator). I learned C++ at uni before C++11 and became a professional C++ dev around C++11 and then evolved with it. I can imagine for ppl coming to the language now after cpp20 (which is not that much used yet in the professional world), it can feel very overwhelming, even before cpp11 it was. But don't worry too much, nobody coming out of uni can write production level cpp without a lot of guidance, this is to be expected, it takes a few years of professional/full time experience to get to get to a place where you can feel confident in writing larger pieces of code on your own that are actually usable :). If you can enjoy learning about it, and feel proud when you can make something that works well/efficiently and is also relatively easy to understand and expressive, (which is imo the strength of C++ over C) then go for it. Rust is definitely something to look into, in many ways similar, but also quite different (imo rust and cpp are closer to eachother than cpp is to c, though I know many would argue different, I would then argue they don't know cpp very well ;p). atm there are many more C++ jobs out there, but if you really click with rust more, then just follow your passion. Which is probably the most important, you need to be able to keep at it for a long time, day in day out, and that is much easier if you enjoy it (at least to some extent).
My intro to programming class in college was C++. I personally am glad that I learned that language first, between that and see it helped me really understand what was going on when I moved to higher-level languages like python.
I concur. Interviews now - are a bunch of random tech stuff. People bombard you with things that they themselves not completely understand. At least in Kotlin/Java world of backend development. You go in, they start asking Microservice patterns - CQRS, EventSourcing, Outbox pattern, most of the people having a different understanding of the topic somehow. Did you use Kafka? Uh-uh, zombie fencing, uh-uh, transactional API? What? You don't know that and didn't use that? Did you even Kafka? Rabbit? We do AWS - SQS vs Rabbit? SQS vs Kafka? Do you Spring? Reactive, reactive, webflux, oh-my-god-we-don't-fully-know-it-ourselves-but-here-is-a-bunch-of-questions-from-the-internet. What? You didn't do reactor but you did do coroutines? Oh my god, he is the chosen one!!! Mongo, Dynamo, no, lets discuss Cassandra, do we use it? Oh no, we are just browsing. What do we use? Ah, Postgres - ofcourse. Yes, they stopped asking doing the darn quicksort on a napkin, but writting down quicksort is easier then being up to date on dozens of made up words and pattern and techniques you don't even use.
I think the problem is that tooling has gotten way better in the last five years, there are more jobs and people coming into the market but every company thinks their code base is the backend to AWS, back in the day before so much was abstracted away with frameworks you did actually need more low level understanding. Obviously a junior is a junior but a major difference now is that even jobs that aren't at tech companies are doing system design and algorithms lol, like do you really need to implement bidirectional search and Know how to implement event driven microservices and scale to millions of users for a basic front end react job? I like leetcode as a method for filtering out people but more companies need to be more realistic with what they need.
agreed, that's true for most jobs. They always think the job they're offering is the most special out of any other. "Why are you excited to work for Wendy's?"
@@thmstbst That's just a social question. A Spongebob will enjoy making burgers more than a Squidward, even if the Squidward would just automate the heck out of it because he just doesn't care about putting much effort into every single burger.
In 3rd year at university at the moment, we're coding in C in nearly every subject and I'm loving it. On the other hand I still have java ptsd from 2nd year.
as someone who went to school and got a degree in Computer Science, i still feel like i have imposter syndrome. Like coding in uni was easy but coding in real life was so hard and i learned it all by my self, hopping from contract to contract. now that ive been in this bizz for 7 years and i have to code in 30 mins for senior devs. I ALWAYS FREEEEEZZZEEEE UPPP cause my anxiety always gets the better of me. cause in my head im always getting stuck thinking no wait i shouldnt do that they are watching me and think this lines are stupid do it this way instead. I hate tech interviews it really makes me feel im shit. not like i think im the greatest.... ive been coding for 10 but only professionally for about 7 and i just recently admitted to myself that i am only intermediate. but ive been doing more interviews and getting better. but these days once i dont get everything clear i still FREEEEEZZZZZZEEE UPPPPP. and boy rejection sucks but nobody can work better under pressure than me when i do get a job. i maintain multiple projects in multiple languages that maintain on my own. and i manage but the pay is crap and wanna go back remote
It is "simple", if they give you 30 min, that means it is possible to solve it in 10 min. Set that as an internal goal for yourself and use the extra time to debug and beautify the solution. It is a mental trick that works in two ways: 1. It cuts of any thought about "their" goals and reduces the subconscious attention your mind gives to their opinions. A sort of mental reduction on external dependencies. 2. It focuses your mind on quick solutions instead of perfect solutions. Thereby reducing the risk of wasting precious time going down a dead-ended path for to long.
I learned on C++, and it was a big struggle, but I feel so much better for learning it. My vague understanding if how computers work lets me kind of figure out where there are issue that im running into
At Penn State, at least as of 4 years ago, the starting point language for CS/SE was C++. I wouldn't be surprised if it's still the starting point for many colleges, but it does seem most students drop it in favor of other languages (typically JS, Java, C#, or Python) once they enter courses which do not require using a particular language.
Java still dominates academia in every aspect, I guess because every course written before follows its convention. In my CS degree I actually used Python (and even PHP) sometimes even on Java courses assignments, no problems (mostly). The advantage of a CS degree in my opinon is how focused it is on learning as opposed to anything else, BSTs are for us now childs play because of how many times we were "forced" to write essays or assignments on them. Yet unless you go into research or high tier fang, 99% they have 0 use in my work., foreach that shit boi and pay me, thanksbai.
13:00 Most of the time, the problem is interviewer skills. Creating a plan for an interview to meaningfully differentiate bad developers from good developers is really hard. Leave that to HR department and you'll see failure with ~100% probability. The hardest task I can imagine in an interview is a task where you're given some code (say 50-100 lines) without type definitions and ask the interviewee to explain the data structures used and to tell if the existing code uses problematic algoritms (e.g. poor cache locality, high memory usage or high CPU usage if data structures grow bigger) or contains security vulnerabilities. If somebody is able to read code written by other people and understand it deeper than the surface, they must be a good developer already. No need to write any short fragments of code because for real work they could use Copilot to get baseline code that they can then fix.
20:14, this happened to me recently, interviewer asked me if react ships one single JS bundle or multiple for each page, I have been building all my apps with Next.JS that I thought it splits every page to different JS bundle. lmfao.
Prime is 100% right about the last 3 mins of the video. Ya'll REALLY need to ASK why. My parent's always said, if they gave you a interview they're interested. Keep them interested, do shit that you normally wouldn't do because if you don't have a job yet, that means you're doing something wrong. It's fine to trip but for the love of god ask questions. I was inexperienced for my roles but I asked the hiring managers, recruiters Is there anything that you're particularly worried about after our discussion? is there anything on my resume that you see that might raise concerns or worries? I want to clear up any misunderstandings. Do you have any recommendations after reviewing my resume on where I can improve? - I value constructive criticism involved in my professional growth. What made you stay at this organization for your x tenure What made you apply to this company? What are the day-to-days like? How fast can I ramp up? Where do you see the company in 5 years? What expected growth? How do you determine a qualified candidate? am I meeting your expectations If you can't get them all answered it's fine, asking even 3-4 of these shows that you are actually interested in improving yourself and show enthusiasm. Literally everytime I asked these questions, the NEXT interview became a lot easier. Keep trying, revise your resume x100 if you have to cause your first boss battle is with that STUPID FUCKING ATS
Technical interviews now are wayyyyyy harder than they've ever been. I'm sorry but I really don't buy that they were harder 10 years ago, before the leetcode craze. I think your personal experience is due to you becoming more senior as an engineer, but new grad interviews are objectively the hardest they've ever been.
its insanely easier, holy cow this is my interview from 11 years ago binary search, whiteboard priority queue implementation, whiteboard, with mid tree reordering min-max heap question (median with bajillions of elements) a complicated movement function involving a display of numbers atoi in c, specifically iterator pattern i haven't got nearly the technical challenge like that hell, i haven't had more than 3 technical interviews (that was for FB in 2016) in one go since then.
@@ThePrimeTimeagen What? I thought this was normal nowadays still. "binary search, whiteboard priority queue implementation, whiteboard, with mid tree reordering min-max heap question (median with bajillions of elements)"
One thing I will say about leetcode, if you have been on a job for a long time and need to start brushing up on data structures, maybe you are about to start looking for a new job and want to start getting ahead. Leetcode is a nice place to start to begin solving various problems and thinking about the various challenges that could come up in interviewing. But I think at some point you need to evaluate what you're of position you are going to interview for and focus on the actual data structures you will need to know for that position. and learn them completely.
4:00 From what I've noticed, the problem with interviewing for programming jobs these days seems to be that they'll spend most of the time drilling you on devops work because everyone's expected to be a "full stack developer". It doesn't matter if the job is a pure back end role and doesn't include any server provisioning, database management, GUI design or whatever else, you'll still need to have at least a basic knowledge of all of those things just in case they decide to ask about it. The questions may be easier individually, but the breadth of knowledge you need to answer them has been greatly expanded. You can't just be a great programmer anymore - you have to be a good everything regardless of whether those other skills are related to the position you're actually applying for. In principle those are all good skills to have, and they're individually not even all that difficult to learn. In practice its just mind-numbing to try and gain more than passing knowledge in the aspects of app development that you're completely uninterested in. Generally speaking its just the next evolution of the classic "tough interview question" from 20 years ago - not done so much to determine your ability to do the job as it is to test your ability to put up with bullshit and shortlist the people who don't care enough to research and memorize an acceptable answer.
He learned he was unskilled, at a job he found unchallenging and uninteresting? This doesn't add up. He also made the biggest mistake of all - taking some time off before beginning the job search.
It's true that if you're unemployed employers will look at you with suspicion. It's very rare people leave jobs without having another in the pipeline. My advice, get a job and just add another month on to your notice period. So if you've got 1 month notice, say 2 or 3 during the interview process. That way you can finish your job and get 1-2 months off before starting the new job.
We’ve never had a good process for interviewing technical people. There are better and worse methods but nothing great. It’s a hard problem. I’d argue it’s an NP-complete issue. There is no solution that works efficiently at a consistent and repeatable level. The closest is probably something like: Casual chat, some probing questions to bring out discussion topics. Drill into their ideas and opinions. Some diagramming and discussion around that. Pairing in some idea. Either through TDD or whiteboarding. And am not talking about coding in a whiteboard, I’m talking diagrams and design and architecture discussion. But, like you say, that’s only possible once people have at least a couple of years++ experience. You can’t do that with a grad/junior. They don’t have the experience or knowledge yet. Maybe one day we’ll figure something out.
I was a chef before I started working in tech. The "interview" process in chef work is just to bring you in for an hour or two (usually a lunch rush) and have you do the job ... In a kitchen if the person you're trying out fucks up, they can cost you a lot of money, lose you customers etc, whereas for a programming job , we have source control / virtual environments. As far as I can tell from my conversations with people the push back against this approach is the idea of "giving away" your labour .. I think the big issue with this line of thinking is you're devaluing time and over valuing skills... why is it better to give a company 2 hours of data structures on a whiteboard compared to 2 hours of actual programming work? Also If it streamlines the hiring process, then there's a good chance skilled developers wouldn't have to go to 50 interviews before they land a job, they could just prove their worth at the first one.... I dunno.. maybe I have no idea.. I've never hired someone for a tech job , but I've hired / been hired by a shitload of restaurants, bars and hotels and I've never employed a bad worker or let a good one slip through the cracks... that feels like something...
I'm actually all for this approach, as long as the candidate is paid a fair hourly wage for the work they've done. The cons of doing actual work as interview is that it's a slippery slope. Any bad companies out there can use this loophole to gain hours of free labors instead of ethically hiring a dev. By paying the hourly wage, both sides come out gaining something. The candidate won't feel that they wasted their time working for those hours, because they get paid, and the user gets a far better picture of the candidate in action, compared to any other interview methods.
This is the confidence booster I needed to keep applying for jobs. I think that compare binary trees question is a simple question too. But I always hear the horror stories of the really hard questions.
Since the first week in January (2023) I have put in more than 200 applications. I have had 3 interviews... they all went bad. I have been programming professionally since 1999.
It doesn’t matter if you are a skilled developer. The world needs 10x more software engineers than currently available. All due to the fact that 99.99% of humans can’t even string together a print statement. So if you think you suck at software engineering: Don’t stress it. This planet needs you anyway. And the next worse person too. 🤛
Call it copium all you want but the interviewing process is in general not that great. Actual software and architectural understanding (like what to abstract) is way more important than being good at leetcode problems, and I say that as someone who did a leetcode hard in 25 minutes without ever trying any other problem on that site.
@@Anteksanteri Not so bitter. ASK any profession: All of them tell you, that the interview for them is “a dance” that has hardly anything todo with the reality at the job. Consultants have weird Case Interviews, what University they went to and Aptitude Tests; Doctors are judged on length in the field not number of people healed; Biologists if they got into a great lab early in their career; a chef on the reputation of the complete Restaurant he previously worked at (which is something he has only maybe 5% control over); the list goes on. It’s like dating - imagine a Date would test if you are emptying the dish washer instead of having a candle light dinner. Humans are emotional creatures and they want to be and work with people that they _trust_. Trust signals are hard to achieve quickly and often don’t correlate with “best performer on the job”. The interview process is - for everyone on earth - a quick tango to build trust in match and reliability. And for all industries and employers it’s a funky 💩 show because its something really weird. For both sides.
Also - why leaving a job makes it difficult to come back is that when you have a job, you are more chill and confident and it affects your performance during interview. It is crucial that if you have to leave a job you need at least a year worth of savings so that you can have this "do not give a f*ck" attitude which really helps during an interview
May favorite technical interviews are semi-complete apps that closely resemble the kind of code the company has. You get some instructions and features you have to implement. When i was interviewing people, we used our own api (with fake data ofc), and an app with the same stack, file structure, code style, etc as what we were hiring for. Candidates would be dumb when we were watching them do some general problem in person, but would bring back some excellent code with the take home. We has some of the inverse, excel in person with an algorithm problem or something like that but have some terrible code when doing it for real. We hired the people that did well in our environment Test for what you're doing. Idc if you know what a linked list is, or can articulate how some obscure thing works with all the right jargon. Ive seen candidates fumble some concept in words, but then execute it perfectly in their work- without knowing what its called or that it even has a name.
I will say that in regard to technical interviews, with things like binary search and data structures, algorithms, yada yada - If you know how to do those things, then you know how to do them, and that's all it takes. And depending on the company, if there are things that come up in an interview that you don't know, like comparing binary trees or whatever, if you can articulate that you are generally intelligent, and not necessarily privy to that one thing, but willing and able to easily learn it, you can often times still do well in the interview. That happened in my last interview. Not binary tree comparison, but other technical things that I flat out didn't know. I was familiar with the terminology, and knew what I didn't know so to speak, I was still able to get an offer.
I'm 21 and I'm fresher and I dig cpp and its intricacies. It makes me feels smart among my peers. I think the best way to learn it for entry level is by reading a book called cpp for everyone
Back in the day, I read "Masters of Doom" - it motivated me to learn C\C++ so bad that I actually took an offer from a local radio-factory where I was the only C++ developer - it was super fun and I still remember the day I stopped the production line for 4 hours straight because of some wrong GRANTs in the database :D
was just like you when i was in college, keep grinding man! also learn about the architecture you are actually running ur code on it will help you tremendously.
i mean passionate devs are nice, but there just could be some devs that are much more skilled but their incentive is just money, and im not sure which one would be better, maybe both extremes are ready to burn out easily
I have MSc and have been writing code professionally for a couple of decades and still I had to look up with sentential database is. From cursory look it seems to be generic form of relational database where the relations also include recursion and collation. Seems to be closer to pure mathematics than practical programming. However, if you can understand sentential database you're easily smart enough to figure out big-O notation.
Stealing this take from a tweet i saw, but it is absolutely insane that 'Doing your job' and 'Interviewing for your job' are two completely separate skills, especially in the tech industry
At the end of the day you have to follow your passion. I think a lot of people go into the field only because it pays well. I really believe you must have that passion flowing through your veins. If you consume it like a drug - if you have an insatiable desire to create products and solutions - then I truly believe the jobs will come to you. I am still in school so I have much to learn. Communication, drive, and perseverance are key. The man in the post sounds defeated, and they probably could see that during the interviews. I'd imagine a truly skilled engineer could also freelance. He might just have burnout, that is totally understandable - I get burnout just from studying and practicing.
I remember in an interview some yesrs ago, the guy asked me to make a bloom filter to solve some data stresming problem, had never even heard of the data structure. Thst was fun
I wasn't taught C++ I was taught Data Structures and Algos with C. then went into Java for OOP and PHP 🤣 for WebDev crap. I never felt the need to learn C++ at least here there aren't many jobs.
You're supposed to apply for a new job whilst you have a job. I don't know why Americans first quit and then apply for a new job. Imagine moving house by first leaving your old house and being homeless for a few months until you find a new one. Once you find a new job take a holiday from your old job so you have income from both jobs for the 1st month. Also you should be sending a cv at least once every 3 months even if you don't plan on quitting your current job. If companies no longer value loyalty, why should you value them?
Americans don't do that. So don't speak for us. Furthermore, as a software engineer I'm in a financial position I don't have to be a slave to a shitty job. I'll take a few months off and find something better.
Americans only have 2 weeks of holidays a year. They should do the trade (Money days off) the other way around. Get a new job whilst having a job, but only start a month after you leave the current job. As to finally have a real vacation, after years.
I would say in North America it's moving down in complexity (from the absolutely ridiculous to more fair and reflecting real job) and in the rest of the world it going up.
Interviewing is a skill indeed. But I would never leave my job before I found another one first. Huge mistake from this guy. Especially if he’s older. Because then every interviewer will see two red flags: old + unemployed. And if you haven’t learned modern (web) development - weird he didn’t see this coming …
I think perhaps the difference ThePrimeagen felt could maybe be due to his advancement in levels. I think businesses are less likely to challenge his skills with his pedigree and tenure. In essence, just getting that first netflix job and keeping it for a while told other companies "hey, this guys not an idiot and we like not idiots. We should get him over here!
The university I went to didn't really teach C++ well enough, it was taught in the final year but it was for a computer graphics module so we weren't there to learn C++, we sped through it in order to learn OpenGL
I think the real problem is that a lot of people underestimate the skills that are required for working in the industry, and it's mostly because of shady practices by marketing agencies that promise a developer education in 6 months for the $500 in the bootcamp. But the reality is much different, before learning programming at least in my personal opinion a person must have a really solid background and natural drive of how the computer works, how the operating system works under the hood and to have that hacker mentality. Before even consider studying programming one must be comfortable with setting up his own operating system at least, sadly there are many junior developers that apply for jobs which have no common knowledge. Programming languages can be studied but the drive to innovate, and hack stuff can't be studied, you either have it or don't there is no middle ground and that's what distinguishes an employee than the rest that have applied for the position. And don't go to an interview, trying to display fake enthusiasm after reading this because it's really easy to spot when someone has a natural drive to create software and someone that's trying to get the job, it's something that goes on throughout the years, not the last app you hacked for week before applying to a company. Personally when i am interviewing someone the first thing i ask is tell me about the stuff that you're currently working on, i really don't care about the way the interfaces look like, for me the important thing is that there is a drive to create and push his own knowledge forward without spoon feeding or external motivators. If the answer is i don't have time, or i don't have any, the interview is already over, i would give him the next 10 minutes out of mutual respect to the other person but he already failed regardless the questions are 100% . And it's the right person for the job. And no, family, friends, children or other factors don't prevent you from spending 30-1 hour a day working on something personal, it's laziness that stops you not the time, your day job is from 9-5, you have 16 more hours during the day for the rest of the stuff.
what are your thoughts on a week or 2 week trial? Bring someone on the team and see how they do for the certain timeframe and then make your decision after seeing how the potential hire works with the team?
"You're making a one hour decision about how someone is going to preform on a million line code base." Isn't that the point? We don't dedicate the time necessary to find the right person relative to the gravity of the situation. We just rely on what they have said about themselves and what other people have said about them, and a few coding problems. I get that this its a pain in the ass to hire someone. I get that people just want "someone" to do the job. I really do, but if we're valuing the speed of replacing the person over and above the value of replacing a person, then I think it shouldn't be a surprise when there are a lot of bad hires and it ends up demoralizing competent people and then people wonder why "no one wants to work." Maybe I'm catastrophic a bit, I acknowledge that, but I'm not even saying that we do things differently. I'm just saying we acknowledge the flaws of what we value for what they are so that we're not feeling deficient when things aren't necessarily our fault. But you got to be careful not to use this reasoning (perhaps cognitive dissonance?) to fall into complacence.
I get the interviews thing. I spent the last 6-7 months looking for a new job because the previous job I had was pretty boring. I eventually landed a job in August. It was a three interview process. The first two were a breeze, and the last one I felt like I completely bungled. However I still got the job. After standing in on the interview process about 3 weeks into my position, I can see why interviewees would feel like I did. The other two colleagues/interviewers lamented the fact that couldn't provide any immediate feedback to the interviewee and that the tests we were giving seemed mismatched to what we were looking for. Ended up being they just wanted someone driven to do cool shit, so yay?
I was part of a cut this year without notice, I had just rejected a couple of opportunities with 2 great companies and now starting February I am left without job, I started looking and activated LinkedIn premium (big mistake) nothing nothing nothing for a while then got a couple of interviews at the end a couple of really horrible offers so I don’t take those, I had 3 more interviews and 2 offers from these I had to took one this time and it was weird I usually switch to better jobs without being fired these days things are quite complicated
Don't worry, scro. There are plenty of bad software engineers out there living really kick arse lives. My first wife was a bad software engineer, she writes software for Boeing now.
This is perhaps the most underrated comment of all time
I guess we now know why Boeing crashes alot
@@swattertroops-yaaa ok "woman drive bad" Boomer
@@swattertroops-yaaa xDDDDd
She might be a bad software engineer for sure she was better in interviews than this guy. And probably knew more about modern software too? And how old was she when she got her job. Because that is the thing. You need that foot in the door. From the sound of it: this guy will at any given time ALWAYS lose from your ex-wife when it comes to that. He does not know the things interviewers want to hear and he is unemployed and probably old too.. And he seems also like someone without a clear goal. He has no focus for instance on one particular stack or type of programming he wants to do…
Open Source software is MUCH harder than proprietary software. The reviews are SO much harder to get through.
dont even mention the enterprise jobs
I doubt an open source js library would be more difficult to contribute to then an adobe software
@@parlor3115 nah, hes talking about companies that have open source commercial products, like I don't know - Proxmox. Anyway, I would like to hear why he thinks it is that way.
I feel that Mohamed would do better applying for a dev job at large non-tech companies, like banks and insurance companies and medical institutions - places with smaller dev teams whose job is supporting the money-making side of the business (instead of it being responsible for making money like in tech companies). They seem to value personality and fit more than current skill because when they're so big things move slower and you get time to learn and develop. And they would also appreciate an established family man who would have an incentive to learn their systems and stay for 2 decades rather than a college grad that would leave after 2 years. Being pleasant and friendly and talkative is the key skill in intervewing with them (which also comes easier with age).
He says he's not a university graduate, so the jobs you're talking about they might be screened out for. Non-tech put a higher value on qualifications like that.
@@thmstbst He should be chasing referrals from the people he mentions that have hired him in the past and know his work quality then. Its super shitty that many companies still think a degree is requisite but on the other hand you can also read it as a red flag that the company doesn't know how to assess dev candidates at all and you probably don't want to work there.
@@sfulibarri But that's what interviews often test for, data structures, algorithms. Stuff that proves you took a computer science major. You could understand some other advanced mathematics, but that's not what the current field looks for. Referrals might not matter if you don't know binary trees inside and out. Interviewers will think they accept someone of any schooling, but then test them on whatever their school told them was most important. Making the test a proxy of if you went to the "right" school. I know I happened to end up in a job where my interviewer went to the same school as I did.
@@thmstbst Yes that is the crux of the issue isn't it? Many companies test for the wrong things, whether or not a candidate has a computer science degree has little bearing on their relevant skills as far as them being a productive software engineer or their capacity to learn and grow. A good foundational knowledge of data structures and algorithms, specifically algorithmic complexity, is surely important but it should be assessed in the realistic context of the actual job in question, not arbitrary leetcode style whiteboard challenges.
I believe the root cause is that companies like google/facebook/etc settled on using leetcode style interviews specifically to filter very large numbers of applicants believing that those who make it through *should* be good devs. I have worked with former FAANG devs and I know this is not always the case. But many companies who do not have the problems of too many applicants try to emulate the practice because if these large successful companies do it then it must be good and that is all the thought they give it. Unfortunately this is unlikely to change unless more applicants start refusing to play along and its particularly hard for new graduates or non graduates trying to break into the industry since they will likely not understand that the expectations in these kinds of interviews are wildly different from the actual job.
In my own case, all of my former colleagues that I would go to for referrals share my view of the toxic nature of FAANG interviews and asinine expectations of a CS degree. I can depend on them to not refer me for a position where my interview would include such things. I would hope the person who wrote the article in the video can depend his network of peers for the same.
I have also found jobs where my interviewer or other teammates went to the same school but if I ever felt that this coincidence actually weighed on their decision I would not have accepted the job. I do not wish to work for any company that would evaluate candidates in such a shallow manner and it should be viewed as a red flag that the quality of your colleagues and their potential to facilitate your own growth and learning will be minimal. Same with leetcode style interviews; any company that puts candidates through such nonsense are plainly admitting they are hiring by lottery, it only depends on if the candidate has seen similar questions in their preparation.
I work at one of those places and I've been repeatedly put on the backburner. Most of the time the teams are too small (profit squeezing) and a lot of the tech wings of banks, etc have a retail tech sector. So technically, you still are making a product to make them money. Honestly has killed coding for me, I can't even look at my IDE without feeling nauseous.
I come from a teaching background and ached at 13:46 because at a previous company I was specifically told that HR and the legal team wouldn't allow "leading" a candidate during the interview process. They claimed this was because if a candidate was not hired they could sue us for unfair hiring practices. I told them time and time again how interviews should work and eventually my manager took over hiring my team (I was also a manager) because I was "not following our internal documentation".
Additionally, we we're not allowed to be friendly with the candidate during the interview. A member from the HR team joined every call and wrote down how many times we smiled. Eventually I was taken off of interviews because I was being too open, friendly, and nice to candidates. I was officially reprimanded after and demoted because by smiling I was "not being a fair opportunity employer". This is not a joke but I am not allowed to publicly say the company name. If you're interested find me on another platform and I will tell you the store off the record.
Sadly, similar experience here.
As for what Primagean says... maybe the interviews are easyer at the big 4 or big companies.. but in my area, E EU, interviews have gotten harder and more time wasting unless you are over 7 years of exp.. after that treshold, they are indeed easier.. so maybe it also depends at what level they gotten easier..
@@voidspirit111 That is an interesting story and sorry to hear it. If interviews you're going on are difficult just know that you are probably not the issue and it is all corporate red tape.
The people I was interviewing were coming from RUclips and Google and had 15+ years of experience. They were going to be getting paid 1/2 of their Google salary and just wanted to join a fun startup. But the policies of this startup were so backwards that we couldn't hire anyone.
Just another example: internal document for interviewing candidate was 86 pages long and I was quizzed on it regularly. I had to do all of this while also working on code full time. So, again, just know that you're not the problem.
Why are you so afraid to say the company name? Don't worry we won't tell 😂
@@mattpryor216 "I am not allowed to publicly say the company name".
@@mattpryor216 maybe because they can (and will) sue him 😐.
Use your brain buddy.
Hearing you talking about how C++ isn’t taught anymore was a huge revelation. I’m in university and my school uses C++ as the starting point for teaching the core CS classes, particularly data structures and algorithms. I couldn’t even fathom starting with a different language, though I took a course on C# as well. I’m very grateful I’m starting with C++ and building my understanding of memory management, even more so now that I know everybody doesn’t necessarily learn that way
100% on that. Either C or C++ should be mandatory for any programming course/training
Data Structures are like dating; they look useful and well dressed, but when you get down to it, they are all the same, just array and hash sets.
You said it buddy
It's funny because saying array reminds me of that dude who makes the senior Dev meme videos and sounds like broken English lmfao
Square bracket or curly bracket 🤔
This is literally my realization.
everything is an array lol.
Hash sets have buckets which are arrays.
or at least that's how it was initially implemented in python
Unless they're linked lists, in which case it's just an array that's been thrown against the wall, shattered into a million pieces, and then reconstructed--not by gluing it back together, mind you, but by running a piece of string to each piece and just leaving it sitting all over the floor looking like a pile of crunchy spaghetti. It's "fast," because we can just snip strings and tie them back together again to reorder the list or add on new elements, but it's exactly as slow as you're thinking, because you have to fish through a pile of spaghetti to find anything.
I think the "passion and excitement" part is a bigger issue than many realize. Like, it's not actually good enough to just want learn some skills for a job to pay the bills, you have to LOVE it to grow and survive. I don't think that's clear at all to people considering this as a job. To some degree it's true for all jobs, but I can't recall any other job where your hobbies and whether you will spend a lot of your spare time educating yourself can be crucial to whether or not you are considered passionate enough. That's not just a job any more, that's a lifestyle. Not to mention that showing passion for something openly, is a very extroverted thing to do, and a lot of engineers are more introverted. Interviews is an inherently extroverted activity.
Just to mention, u can be declined specially cuz of true passion. Some heads in some companies are scared to pants, thinking that they will have to leave their places cuz of u, so passionate one.
@@DelgardAlvenDo you really want to be part of that company over another that appreciates passion?
@@ekanshsomani6162 I'm living a life on skirts for whatever reason, so have no idea what are you talking about.
The problem is that is so much to know to nowadays that we can be overwhelmed. Usually when I do interviews I tend to look more into the personality of an engineer. Someone who is smart and has a perpetual learning mindset can achieve anything, and for me that is the most important. One thing that I also like to see in interviews is how a person reacts to failure.
I also look for ppl who are not scared to say 'I don't know', I don't like to work with ppl who can't admit not knowing especially if they then start to guess with confidence. But if you say 'I don't know' then also show you understand what the question was and what the interviewer would like to hear, and maybe list related things you do know about, e.g. when asked about DNS and you don't know, maybe say you once learned about it (where and when) and explain what the purpose is, but forgot in the mean time, and maybe you know how internet routing works or something networking related and ask if the interviewer would like to talk about that.
Often the interviewer wants to get a discussion going about something relevant, and see how effective you can explain something, how you listen to them and adjust the way you talk to accommodate the circumstances.
@@frydac i say i don't know and i end up not being selected
Once I was so used to using the lodash library at work that I forgot how to structure a regular JavaScript for loop in an interview.
haha, it happens.
Happened to me as well. Very embarrassing situation 😑
Brutal!
Ahh man! The last paragraph hit really hard, I hope he recovers from this guilt but it's very hard once you are in that state.
I left the tech world for two years to have time off flexibility. When i tried to get back in, it took 7 months, over 400 applications, and dozens of interviews. Finally start this monday, and am actually pretty nervous. Last tech job I was there nearly a decade, and this is in an entirely different section of the tech world. We shall see.
may your fortunes be well!
if you ever stop by again, comment on how the yob is going
So, how's it going????? :)
@@Prod-23 It's a different world, culturally. I spent 20 years in hosting support where it's all about doing the most numbers possible. This place is.... not that. Very much a startup mentality, where support is just holding on for dear life. Pays the bills though
@@shabadabadoo4326 how are you holding up? doing better?
How's it going now?
I’m in year 12 of my career and I’ve done some interviews just to see what companies are paying and doing and they are still asking these stupid technical questions when 90% of what we do is UI/Rest/Database.
Rest?
@@yuricaptinprice3917 REST APIs
Also, I second this.They grill you in the interview and make you think you're going to be way out of your league, then you start the job and it's the basics
That really depends on where you apply, one REST api for simple crud actions is one thing but more often then not if you work in the IOT industry, those algorithms memory management, profiling and optimization are a part of your day job as embedded devices don't have 10 GB of ram available at your disposal.
So if you eat the same ice cream every day, it will taste the same, 1 day from now and 12 years from now.
But your point is still valid i still don't see a reason for a company that mostly does CMS stuff to be asking very technical questions, alas some people don't want to bother with their own question so might as well just use what works.
@@justanaveragebalkan u saying that like mem management is incredibly hard. Same shit, just different field. I mean, for me UI/REST and so on is much more harder then memory ops just because these two are not my field, and memory optimizations is what i am familiar with. Programming is stupid, in general. Just wide volume of details n a lot of diff fields.
I had some interviews where the requirements where: .net, c#, sql server, etc. And then they proceed to give me 4 practical exercises with 20 paragraphs each, some of them with things like geometrical equations to solve specific problems. All that in 40 minutes. Even solving the 50% I didn't qualify because it wasn't enough.
I'm not sure what's the point of these kind of interviews, but I feel it's a rule now, everyone has to prepare to solve incredible complex algorithms sometimes, and if you got the job, you have to create components to show text, fetch APIs, create landing pages in SASS and stuff like that.
Don't get me wrong, I love algorithms and I keep practicing just for the love of solving problems, but I feel sometimes the companies don't know how to test candidates.
They weren't trying to hire anyone but hire a Google engineer for an H1B price
I'd run from such a company
Interviewing is a skill, 100%. I am exceptional in interviews; I have, time and time again, ended up in positions I am grossly underqualified for.
That's not always a good thing. There are times where I have thrived and sped up my own development 10x, and times where I have faceplanted so hard I question what I'm even doing with my life.
The takeaway for me was that interviewing is not a one-way street; it's not just a tool to weed out people who can't do the job to the benefit of employers. It's also a tool to weed out the companies whose expectations of you will cause burn-out and unhappiness for YOU, the interviewee.
Unfortutately, that takeaway just made me come across as even more confident in interviews, which really fucking compounded the issue of ending up in bigger boots than the ones I should be wearing.
But man, it's really hard to say no to more money when it's on the table. I'm just so grateful to have a lift partner who's so supportive of my ridiculous all-nighters spent learning everything people assume I must already know. I'd be lost without her.
That is really cool man, and it makes a lot of sense - it is very difficult to say no to relentless confidence. This is great advice - almost like a secret cheat code.
My man, if you are the kind of person to then pull the all-nighter and learn what they expect, clearly they hired the right guy. Take a look at fucking impostor syndrome and don't be so hard on yourself
Some tips on exceptional interview skills?
Very interesting to learn that despite all the interview techniques and processes, they fundamentally rely on self confidence. I mean good for you to be self confident, more people should be like that. But the interviewers should try be objective and test skills and so on. Not be persuaded by the projection of your illusions about yourself.
But then again, people want to be conned and be captivated by the storyteller who promises a better world. We already knew that.
I would rather do an old school technical than a modern technical interview. The questions are just all over the place. And when it is my turn to ask about the code base, the answers are very opaque. People say "learn fundamentals", but who is going to actually ask them? How does DNS work is actually a fundamentals-related question, but I don't know how it works, nor do I need to.
You said many things and Also didn't.......they say to be good at Programming, you have to know every details like a Nerd. If that's the case, then I guess I have to take CS at uni, which is COSTLY AF.
That bit about your kids and loving them and jumping on the trampoline with them made me smile. That's exactly how to be a good dad.
The more I watch you the more I learn... You are a great person. It's so easy to see with this video. So happy for you and hope you retain happiness as long as you can.
I appreciate you and your work. It's nice to see someone with a significant audience trying to lift others up, while still conveying the value of hard work and persistence in spite of failure.
Agreed. This is good, new content. It’s a rational, empathetic approach to software
When I interview I never really care about the answers…it’s about how much understanding you show in what you’re doing, what happens when you come across a problem in your code, how well you can absorb new information in the form of suggestions and improve your code.
regarding interview questions, I'm usually just checking if someone would be the right fit for our team/project and if not then that guy can get hired by other teams in our org, so i'm not really deciding.
I usually let them just talk about their projects: what have they done? what was cool about those projects, what was bad, how do you prefer to work? and from there bounce off of what they tell and after that I usually have at least a basic idea if they did even know what they did on previous projects and have some basic grasp on how they like to organise their work. sometimes i learned stuff from it for myself, sometimes it felt like i talked to someone who couldn't care less.
then again, we never needed anything senior, just someone who shows interest in what they are doing and is willing to learn skills that aren't on his resume yet and its totally fine if they need some time to actually gid gud
Taking months off is the worst decision you can do in the tech sector . Companies don’t like that . Even if you plan to interview for a month .1 month can turn into many and soon you will out of the industry . Almost happened to me .
Why is that the case? I mean it certainly isn't something positive on your resume but why would taking a few months off take you out of the industry for good? It's not like tech world did a complete 180 in those few months and suddenly you're outdated.
@@markonikolic7957 Ask recruiters they say if your out for a couple of months companies don't like that . The tech world does move at the speed of light . If you are out more than 6 months its hard to justify without a very good reason .
@@ChristophVonBagel sure, new frameworks and techs are coming out everyday. But companies don't change how they do stuff with every trend.
I 'knew' merge, quick whatever sort, self balancing trees, graph traversal algs, etc. 13 years ago. "... should be able to do it today". If I took a book, read a description of an alg, I would be able to understand (most of) it, but no, I'm not savant, don't have photgraphic memory, and don't remember all past events and experiences from my life down to the smallest detail. Very few experienced devs I know would be willing to re-learn all this just for the sake of a random job interview, unless they're looking for a position where this type of know how is required and expected. OTOH salaries here are much lower, and I don't know anyone who's trying to get a job at Google, Netflix, Amazon...
i have a job at netflix and i interview 2 people a week...
@@ThePrimeTimeagen yeah I know lol. I mean I didn't know how many people per week you interview. What I was trying to say is there's one Netflix (and Google etc.) so I guess it's understandable you will want best of the best. At the same time vast majority of developers don't work for international Big Tech companies, it's understandable experiences vary.
@@denissorn by "Bug Tech" you mean Micro$oft?
@@changoviejo9575 It's a typo. Should have been Big Tech, so yeah MS and others.
@@ThePrimeTimeagen lol fr? Maybe the automated screening system filters out the resumes?
sounds like he can't let go of the dream life and is shooting for the stars. If you get rejected 10 times that should signal you are living in a competitive area. try moving somewhere less competitive or with lower standards. the rest of the world needs software too.
if he lives in the US he can work remote anywhere
@@ea_naseer Which makes it infinitely more competitive
What can you expect when we've been hearing all these recent years how everyone should learn to code, software developers earn millions and how there's a huge shortage of developers so everyone gets hired. Some countries like mine even went as far as started making teaching programming part of the curriculum for grade school kids.
Don't get me wrong, these avenues should be as open as possible for those kids who are interested, but if we are going to make programming like every other job on society, the rose-tinted talk about programming career needs to stop because the hard reality is that only the people who are super dedicated may earn this legendary success.
So often you hear this complaint: why do I have to do programming side projects on my free time to apply this job, it's not like doctors are doing medical experiments on their free time when they finish work day? The answer is because the market is now flooded with people applying for these jobs, and in the mix there are these programmers who DO NOT MIND working on their free time with "work related" projects.
Welcome to the world of programming, I hope you truly enjoy what you do, because if you don't, well, good luck.
Not true. Every company I talk too around my area at the moment is struggling to find competent developers.
@@Prod-23 Exactly, competent.
you're just getting less technical interviews because you're more senior. we ask new grads dynamic programming, graphs, caching, etc, but we ask seniors mostly system design
100% agree that there is no good process. I've tried so many variants and more often than not they've felt disappointing. Remote interviews definitely made it worse.
By far the worst was when the higher ups decided we needed a 3 stage process. Phone screen, technical test (hacker rank) and finally a gruelling 3 hour face to face.... nightmarish
Problem is that people don't have the drive for it, not the remote interviews, actually in person interviews are much more stressful than remote as you are most often judged by the people in the room based on many factors. While from a purely psychological point of view it's much more stressful in person than remote for most people.
But the big problem with hiring is that developers nowadays don't 10th of the drive of developers 20 years ago, students were innovating, they were creating their own programming languages, kernels, operating systems, soldering boards and writing firmware for cool robots.
Today, you have students that spend 5 years in university, 2 years in bootcamps and their greatest achievement is that they can lay out panels with react. 9/10 don't know git beyond commit/push, they don't even know that git and github are two different things. It's sad, actually at the competence level of a what passes as a junior developer today, it's actually quite easy to get a job.
@kristiformilchev6417
That avantages me big time.
Went from nothing to DevOps "engineer" and I can just about follow a tutorial.
Lovin iiit
Third time being out of work in the last 3 years and this time hits different 1000%. First two times I was less experienced and less prepared for technical interviews, but managed to land jobs with a strong amount of effort and applications.
This time it's taking monumental effort and already sent in hundreds of applications and been ghosted numerous times after interviews. Turned down one offer because it was a little low. But I had completely expected that having a few years under my belt and much stronger fundamentals I would crush it out there. Instead I was the one being crushed. Not gonna give up because I love the field more than any other, but I'm at the point where I've concluded grit is the only thing that's gonna allow me to last where others will fall.
One thing that I always wondered about applying for software engineer jobs is why the software engineers hiring can't solve the riddle of what's the best way to vet the best problem solver.
I have few thoughts on this.
1st - the author studies a lot without putting the theories into practice.
2nd - the salary expectations might be a little to high. A senior specialist gets his email bombarded with offers even without actively searching ones. 10 interviews in 4 months is just a little too few - you open up your Linked In, say you are open for work and you get your 10 interviews in less then a week. The only reason it could take that long is if the candidates expenses don't match his skills value.
3rd - the kids part - as Prime said, the kids should motivate you to do more, and the fear the author described is one of the strongest motivators
It seems he is very selective about which position he interviews for, that is fine if you can afford to, if not, then indeed, just play the numbers game, get some job, and keep looking for the next job you actually want. And maybe in the mean time you actually learn you can enjoy that job you didn't thing was worthy.
This guy made a huge mistake leaving his job for a sabbatical. No matter how bad things are and how much you want a break, things will only get worse if you quit without a backup option. Being unemployed isn't going to fix your mental state
i only apply to tiny companies and their interviews are a lot more business/product focused. everyone can produce basic technical answers, but fewer devs are self starters, confident in their work and willing to bear sole responsibility.
I've lost my "passion" to coding/programming so I shifted myself to something that was more contening myself and I guess my brain was likely towards it - Design. It's a little bit easier when you have that knowledge from front-end, but still... Design I guess are the challenges I like. But hey, don't you lose hope, people out there. You can also achieve some of your dreams.
Its nice you have found strengths to change your career path - a lot of people are afraid to do so!
I did it twice already - from developer to test-automation - to product manager. And every time it felt great - new skills, new tasks, new responsibilities ..
Are there good job opportunities for design?
@@dipanjanghosal1662 No, not currently. There are no good job opportunities at all.
i've seen people who were technically amazing be (justifiably) fired or ousted simply because they didn't "get along well with others" (meaning they disrupted others' work in the team, even though their own work was technically good); not saying this is the case here, but it's something to have in mind... don't only work on your technical skills
I agree, and a lot of high seniority specialists forget about soft skills which becomes more and more important the higher they are on the career ladder.
Tbh, I think he's having trouble getting a position because he writes tons of negative articles and they are the first thing that comes up when you google his name.
Makes sense. Maybe if he spent time actually coding. Likely a BS story then
Ombudsman, tech warrior, social justice energy
legit. he sounds like hes lying about things, sounds super pretentious and he has the wrong intentions.
if the things he said are true it should be easy for him to land an entry level job considering the stuff hes said hes done.
also if hes so good at math he should just try to be quant and not a SWE, although im sure those jobs require some sort of degree.
The question I always ask the interviewer (and they love it): "What does success in this position look like to you?"
I've had a job where what success looked like to me and what success looked like to my boss were different. Unfortunately, once that became apparent, we tried to align, but he wasn't an engineer and didn't realize that his expectations couldn't exist in reality.
I've been trying to come up with a fable and allegory to use in situations of "differing expectation." In my field (I'm an Interdisciplinary Liaison/"Broad level" Systems Engineer), there are times where two teams can't communicate effectively with each other. Systems Engineers generally operate at layers 3 and above, and usually don't even know what a "layer" is), but I've actually had issues that turned out to be at layer 2. Those are the kind of issues and problems that just ping pong back and forth between teams because neither quite understands eother what the problem is, or what could cause the problem, and it just goes nowhere.
And it could turn out to be something like "I expect to be able to move this back office PC from the back office to the front counter for X project. Why won't that work?! It's still plugged into the network!"
Well, your expectation is that a BOPC will work on the POS vlan. That's an unreasonable expectation considering we isolate those nets as part of our PCI compliance (this is a really contrived example with a cause that could be easily identified by someone with the respective knowledge, I just had to come up with something that was easier communicated on YT)
I had a time where I initially thought someone was bad because they couldn't figure out center a div, or make a navbar. Then they went ahead and wrote complex multithreaded backend logic for file downloads like it was nothing.
That final paragraph is rough. And I feel it totally and completely.
Being a parent changes your brain chemistry in a way that is fundamentally different from how any other life change can.
It breaks you in a way that is impossible to explain to anyone without kids. Children are the most soul crushing and life fulfilling thing in the world. It’s impossible to express. My son is my world. I too fear that I’m letting him down. I’m not good enough etc.
It’s a never ending journey to acceptance and love. But remember, just do your best, shower that child with love. And you’ll be fine.
Really sad story. The world is brutal and it can really beat people down.
On the flip side it can be a beacon of hope.
Part of this experience we have just read sounds like a viscous cycle. Rejections lead to doubt, low self esteem, etc etc, and these things are subtly picked up on in interviews.
Take everything as a learning experience and know your worth. This guy is CLEARLY extremely skilled and technical, which factually many many many companies NEED right now.
For anyone else doubting themselves right now. Don't. Push to be better. Take time to relax. You should look after yourself and nurture your growth like a plant. Grow strong so that others will look to you in their times of need and feel empowered. Trust yourself and trust your human spirit
Google rejected me and apparently they don't do feedback for interviews. I got a couple of the interviewers to give me some feedback at the end, but I still don't actually know why I ended up getting rejected. I understand why they don't do feedback but it sucks because I'm not sure where to focus improvement efforts.
As I understand it, the interviewers are not involved in the hiring decisions at Google. They have a separate board for that. It's a holdover from their academic roots.
@@-Jason-L yeah I know. They have plenty of reasons for not giving feedback, and I have to say the recruiter that I worked with was super awesome. But the black box hiring committee and 0 feedback took it out of me.
I hear, "For me it takes 3 interviews to get into the interview world."
And I'm sitting here after 237 applications finally getting a second interview thinking, "Oh no. I'm never getting a job."
I love this style of videos, please keep them coming!
I think the DNS server question I think maybe was quested a big wrong. Because what I would think they meant was asking about domains. I think of the DNS as the servers which look up/maps which IP a domain goes to. How DNS works in the back-end, that's completely another level of discussion.
Yeah I think so too. Maybe they ask for things like CNAME, A, NS
In my university they started us off with a python course and 3 mathematics courses. in the second one we did a c and c++ course along with dast.
firstly I found it really easy to learn c after learning all the programming basics in python, I could focus on actually understanding C and it became my favorite language.
as for c++ I haven't decided if I like it or not yet, I got pretty annoyed cuz there was so much stuff to remember like why the rule of 3 exists when you need memory allocations in a class but I hope that when I gain more experience I will come to like it too.
I really want to check out rust when I have more time though.
FYI since 'move semantics' the rule of 3 became the rule of 5 (adding move ctor and move assignment operator).
I learned C++ at uni before C++11 and became a professional C++ dev around C++11 and then evolved with it. I can imagine for ppl coming to the language now after cpp20 (which is not that much used yet in the professional world), it can feel very overwhelming, even before cpp11 it was.
But don't worry too much, nobody coming out of uni can write production level cpp without a lot of guidance, this is to be expected, it takes a few years of professional/full time experience to get to get to a place where you can feel confident in writing larger pieces of code on your own that are actually usable :). If you can enjoy learning about it, and feel proud when you can make something that works well/efficiently and is also relatively easy to understand and expressive, (which is imo the strength of C++ over C) then go for it. Rust is definitely something to look into, in many ways similar, but also quite different (imo rust and cpp are closer to eachother than cpp is to c, though I know many would argue different, I would then argue they don't know cpp very well ;p). atm there are many more C++ jobs out there, but if you really click with rust more, then just follow your passion. Which is probably the most important, you need to be able to keep at it for a long time, day in day out, and that is much easier if you enjoy it (at least to some extent).
become an acolyte, join the orthodox c++ cult
My intro to programming class in college was C++. I personally am glad that I learned that language first, between that and see it helped me really understand what was going on when I moved to higher-level languages like python.
I concur. Interviews now - are a bunch of random tech stuff. People bombard you with things that they themselves not completely understand. At least in Kotlin/Java world of backend development. You go in, they start asking Microservice patterns - CQRS, EventSourcing, Outbox pattern, most of the people having a different understanding of the topic somehow. Did you use
Kafka? Uh-uh, zombie fencing, uh-uh, transactional API? What? You don't know that and didn't use that? Did you even Kafka? Rabbit? We do AWS - SQS vs Rabbit? SQS vs Kafka? Do you Spring?
Reactive, reactive, webflux, oh-my-god-we-don't-fully-know-it-ourselves-but-here-is-a-bunch-of-questions-from-the-internet. What? You didn't do reactor but you did do coroutines? Oh my god, he is the chosen one!!!
Mongo, Dynamo, no, lets discuss Cassandra, do we use it? Oh no, we are just browsing. What do we use? Ah, Postgres - ofcourse.
Yes, they stopped asking doing the darn quicksort on a napkin, but writting down quicksort is easier then being up to date on dozens of made up words and pattern and techniques you don't even use.
I think the problem is that tooling has gotten way better in the last five years, there are more jobs and people coming into the market but every company thinks their code base is the backend to AWS, back in the day before so much was abstracted away with frameworks you did actually need more low level understanding. Obviously a junior is a junior but a major difference now is that even jobs that aren't at tech companies are doing system design and algorithms lol, like do you really need to implement bidirectional search and Know how to implement event driven microservices and scale to millions of users for a basic front end react job? I like leetcode as a method for filtering out people but more companies need to be more realistic with what they need.
agreed, that's true for most jobs. They always think the job they're offering is the most special out of any other. "Why are you excited to work for Wendy's?"
@@thmstbst That's just a social question. A Spongebob will enjoy making burgers more than a Squidward, even if the Squidward would just automate the heck out of it because he just doesn't care about putting much effort into every single burger.
In 3rd year at university at the moment, we're coding in C in nearly every subject and I'm loving it. On the other hand I still have java ptsd from 2nd year.
as someone who went to school and got a degree in Computer Science, i still feel like i have imposter syndrome. Like coding in uni was easy but coding in real life was so hard and i learned it all by my self, hopping from contract to contract. now that ive been in this bizz for 7 years and i have to code in 30 mins for senior devs. I ALWAYS FREEEEEZZZEEEE UPPP cause my anxiety always gets the better of me. cause in my head im always getting stuck thinking no wait i shouldnt do that they are watching me and think this lines are stupid do it this way instead.
I hate tech interviews it really makes me feel im shit. not like i think im the greatest.... ive been coding for 10 but only professionally for about 7 and i just recently admitted to myself that i am only intermediate. but ive been doing more interviews and getting better. but these days once i dont get everything clear i still FREEEEEZZZZZZEEE UPPPPP. and boy rejection sucks
but nobody can work better under pressure than me when i do get a job. i maintain multiple projects in multiple languages that maintain on my own.
and i manage but the pay is crap and wanna go back remote
It is "simple", if they give you 30 min, that means it is possible to solve it in 10 min. Set that as an internal goal for yourself and use the extra time to debug and beautify the solution.
It is a mental trick that works in two ways:
1. It cuts of any thought about "their" goals and reduces the subconscious attention your mind gives to their opinions. A sort of mental reduction on external dependencies.
2. It focuses your mind on quick solutions instead of perfect solutions. Thereby reducing the risk of wasting precious time going down a dead-ended path for to long.
I learned on C++, and it was a big struggle, but I feel so much better for learning it. My vague understanding if how computers work lets me kind of figure out where there are issue that im running into
At Penn State, at least as of 4 years ago, the starting point language for CS/SE was C++. I wouldn't be surprised if it's still the starting point for many colleges, but it does seem most students drop it in favor of other languages (typically JS, Java, C#, or Python) once they enter courses which do not require using a particular language.
Java still dominates academia in every aspect, I guess because every course written before follows its convention. In my CS degree I actually used Python (and even PHP) sometimes even on Java courses assignments, no problems (mostly). The advantage of a CS degree in my opinon is how focused it is on learning as opposed to anything else, BSTs are for us now childs play because of how many times we were "forced" to write essays or assignments on them. Yet unless you go into research or high tier fang, 99% they have 0 use in my work., foreach that shit boi and pay me, thanksbai.
@@elduderino7456 lol. We actually used a red-black tree for something a while back.
13:00 Most of the time, the problem is interviewer skills. Creating a plan for an interview to meaningfully differentiate bad developers from good developers is really hard. Leave that to HR department and you'll see failure with ~100% probability.
The hardest task I can imagine in an interview is a task where you're given some code (say 50-100 lines) without type definitions and ask the interviewee to explain the data structures used and to tell if the existing code uses problematic algoritms (e.g. poor cache locality, high memory usage or high CPU usage if data structures grow bigger) or contains security vulnerabilities.
If somebody is able to read code written by other people and understand it deeper than the surface, they must be a good developer already. No need to write any short fragments of code because for real work they could use Copilot to get baseline code that they can then fix.
20:14, this happened to me recently, interviewer asked me if react ships one single JS bundle or multiple for each page, I have been building all my apps with Next.JS that I thought it splits every page to different JS bundle. lmfao.
To be fair, react doesn't ship a thing. Webpack, etc. are what bundle things. Overall, terrible question to ask because it's fundamentally flawed.
Prime is 100% right about the last 3 mins of the video.
Ya'll REALLY need to ASK why. My parent's always said, if they gave you a interview they're interested. Keep them interested, do shit that you normally wouldn't do because if you don't have a job yet, that means you're doing something wrong. It's fine to trip but for the love of god ask questions.
I was inexperienced for my roles but I asked the hiring managers, recruiters
Is there anything that you're particularly worried about after our discussion?
is there anything on my resume that you see that might raise concerns or worries? I want to clear up any misunderstandings.
Do you have any recommendations after reviewing my resume on where I can improve? - I value constructive criticism involved in my professional growth.
What made you stay at this organization for your x tenure
What made you apply to this company?
What are the day-to-days like?
How fast can I ramp up?
Where do you see the company in 5 years? What expected growth?
How do you determine a qualified candidate? am I meeting your expectations
If you can't get them all answered it's fine, asking even 3-4 of these shows that you are actually interested in improving yourself and show enthusiasm. Literally everytime I asked these questions, the NEXT interview became a lot easier. Keep trying, revise your resume x100 if you have to cause your first boss battle is with that STUPID FUCKING ATS
Technical interviews now are wayyyyyy harder than they've ever been. I'm sorry but I really don't buy that they were harder 10 years ago, before the leetcode craze. I think your personal experience is due to you becoming more senior as an engineer, but new grad interviews are objectively the hardest they've ever been.
People were getting hired because they built weather apps and calculators, it's way harder.
its insanely easier, holy cow
this is my interview from 11 years ago
binary search, whiteboard
priority queue implementation, whiteboard, with mid tree reordering
min-max heap question (median with bajillions of elements)
a complicated movement function involving a display of numbers
atoi in c, specifically
iterator pattern
i haven't got nearly the technical challenge like that
hell, i haven't had more than 3 technical interviews (that was for FB in 2016) in one go since then.
@@ThePrimeTimeagen Were you a grad?
@@ThePrimeTimeagen I really think you hold the minority opinion on this matter, but I will not argue against your personal experience.
@@ThePrimeTimeagen What? I thought this was normal nowadays still.
"binary search, whiteboard
priority queue implementation, whiteboard, with mid tree reordering
min-max heap question (median with bajillions of elements)"
One thing I will say about leetcode, if you have been on a job for a long time and need to start brushing up on data structures, maybe you are about to start looking for a new job and want to start getting ahead. Leetcode is a nice place to start to begin solving various problems and thinking about the various challenges that could come up in interviewing. But I think at some point you need to evaluate what you're of position you are going to interview for and focus on the actual data structures you will need to know for that position. and learn them completely.
4:00 From what I've noticed, the problem with interviewing for programming jobs these days seems to be that they'll spend most of the time drilling you on devops work because everyone's expected to be a "full stack developer". It doesn't matter if the job is a pure back end role and doesn't include any server provisioning, database management, GUI design or whatever else, you'll still need to have at least a basic knowledge of all of those things just in case they decide to ask about it.
The questions may be easier individually, but the breadth of knowledge you need to answer them has been greatly expanded. You can't just be a great programmer anymore - you have to be a good everything regardless of whether those other skills are related to the position you're actually applying for.
In principle those are all good skills to have, and they're individually not even all that difficult to learn. In practice its just mind-numbing to try and gain more than passing knowledge in the aspects of app development that you're completely uninterested in.
Generally speaking its just the next evolution of the classic "tough interview question" from 20 years ago - not done so much to determine your ability to do the job as it is to test your ability to put up with bullshit and shortlist the people who don't care enough to research and memorize an acceptable answer.
Don't quit your job during a down turn
He learned he was unskilled, at a job he found unchallenging and uninteresting? This doesn't add up.
He also made the biggest mistake of all - taking some time off before beginning the job search.
It's true that if you're unemployed employers will look at you with suspicion. It's very rare people leave jobs without having another in the pipeline. My advice, get a job and just add another month on to your notice period. So if you've got 1 month notice, say 2 or 3 during the interview process. That way you can finish your job and get 1-2 months off before starting the new job.
We’ve never had a good process for interviewing technical people.
There are better and worse methods but nothing great. It’s a hard problem. I’d argue it’s an NP-complete issue. There is no solution that works efficiently at a consistent and repeatable level.
The closest is probably something like:
Casual chat, some probing questions to bring out discussion topics. Drill into their ideas and opinions. Some diagramming and discussion around that. Pairing in some idea. Either through TDD or whiteboarding. And am not talking about coding in a whiteboard, I’m talking diagrams and design and architecture discussion.
But, like you say, that’s only possible once people have at least a couple of years++ experience. You can’t do that with a grad/junior. They don’t have the experience or knowledge yet.
Maybe one day we’ll figure something out.
We did Python -> C -> C++ -> Java in my CS program and I think it was a decent structure looking back.
18:15 "sounds like [Claude] Shannon didn't do anything in life" Holy crap!!!
""I'm way out of my depth" You got that right!
I was a chef before I started working in tech. The "interview" process in chef work is just to bring you in for an hour or two (usually a lunch rush) and have you do the job ... In a kitchen if the person you're trying out fucks up, they can cost you a lot of money, lose you customers etc, whereas for a programming job , we have source control / virtual environments. As far as I can tell from my conversations with people the push back against this approach is the idea of "giving away" your labour .. I think the big issue with this line of thinking is you're devaluing time and over valuing skills... why is it better to give a company 2 hours of data structures on a whiteboard compared to 2 hours of actual programming work? Also If it streamlines the hiring process, then there's a good chance skilled developers wouldn't have to go to 50 interviews before they land a job, they could just prove their worth at the first one.... I dunno.. maybe I have no idea.. I've never hired someone for a tech job , but I've hired / been hired by a shitload of restaurants, bars and hotels and I've never employed a bad worker or let a good one slip through the cracks... that feels like something...
I'm actually all for this approach, as long as the candidate is paid a fair hourly wage for the work they've done. The cons of doing actual work as interview is that it's a slippery slope. Any bad companies out there can use this loophole to gain hours of free labors instead of ethically hiring a dev.
By paying the hourly wage, both sides come out gaining something. The candidate won't feel that they wasted their time working for those hours, because they get paid, and the user gets a far better picture of the candidate in action, compared to any other interview methods.
how comparing binary trees was crazy hard 1 month ago but now so easy is crazy.
At my uni we studied c++. Had to build string, linked list etc from scratch. Really good foundation
This is the confidence booster I needed to keep applying for jobs. I think that compare binary trees question is a simple question too. But I always hear the horror stories of the really hard questions.
Since the first week in January (2023) I have put in more than 200 applications. I have had 3 interviews... they all went bad. I have been programming professionally since 1999.
It doesn’t matter if you are a skilled developer. The world needs 10x more software engineers than currently available. All due to the fact that 99.99% of humans can’t even string together a print statement. So if you think you suck at software engineering: Don’t stress it. This planet needs you anyway. And the next worse person too. 🤛
huge news for me
Call it copium all you want but the interviewing process is in general not that great. Actual software and architectural understanding (like what to abstract) is way more important than being good at leetcode problems, and I say that as someone who did a leetcode hard in 25 minutes without ever trying any other problem on that site.
Actually it does. Either you're 10X or a -5X offshore dev.
@@Anteksanteri weird flex
@@Anteksanteri Not so bitter. ASK any profession: All of them tell you, that the interview for them is “a dance” that has hardly anything todo with the reality at the job. Consultants have weird Case Interviews, what University they went to and Aptitude Tests; Doctors are judged on length in the field not number of people healed; Biologists if they got into a great lab early in their career; a chef on the reputation of the complete Restaurant he previously worked at (which is something he has only maybe 5% control over); the list goes on. It’s like dating - imagine a Date would test if you are emptying the dish washer instead of having a candle light dinner.
Humans are emotional creatures and they want to be and work with people that they _trust_. Trust signals are hard to achieve quickly and often don’t correlate with “best performer on the job”. The interview process is - for everyone on earth - a quick tango to build trust in match and reliability. And for all industries and employers it’s a funky 💩 show because its something really weird. For both sides.
Also - why leaving a job makes it difficult to come back is that when you have a job, you are more chill and confident and it affects your performance during interview. It is crucial that if you have to leave a job you need at least a year worth of savings so that you can have this "do not give a f*ck" attitude which really helps during an interview
could not agree more. I got my current job 100% because I thought I wouldn't get it, so I didn't try to impress them during the interview.
Well said I know i would feel really stressed out looking for a job... needing one. Vs confident having one already and looking for something better!
Good points, 4-5 months of savings isn't much.
I could have written that piece myself... I'm in that exact desperation point right now. Anyway, love your content, thanks!
May favorite technical interviews are semi-complete apps that closely resemble the kind of code the company has. You get some instructions and features you have to implement.
When i was interviewing people, we used our own api (with fake data ofc), and an app with the same stack, file structure, code style, etc as what we were hiring for.
Candidates would be dumb when we were watching them do some general problem in person, but would bring back some excellent code with the take home. We has some of the inverse, excel in person with an algorithm problem or something like that but have some terrible code when doing it for real. We hired the people that did well in our environment
Test for what you're doing. Idc if you know what a linked list is, or can articulate how some obscure thing works with all the right jargon.
Ive seen candidates fumble some concept in words, but then execute it perfectly in their work- without knowing what its called or that it even has a name.
I will say that in regard to technical interviews, with things like binary search and data structures, algorithms, yada yada - If you know how to do those things, then you know how to do them, and that's all it takes. And depending on the company, if there are things that come up in an interview that you don't know, like comparing binary trees or whatever, if you can articulate that you are generally intelligent, and not necessarily privy to that one thing, but willing and able to easily learn it, you can often times still do well in the interview. That happened in my last interview. Not binary tree comparison, but other technical things that I flat out didn't know. I was familiar with the terminology, and knew what I didn't know so to speak, I was still able to get an offer.
I'm 21 and I'm fresher and I dig cpp and its intricacies. It makes me feels smart among my peers. I think the best way to learn it for entry level is by reading a book called cpp for everyone
Back in the day, I read "Masters of Doom" - it motivated me to learn C\C++ so bad that I actually took an offer from a local radio-factory where I was the only C++ developer - it was super fun and I still remember the day I stopped the production line for 4 hours straight because of some wrong GRANTs in the database :D
was just like you when i was in college, keep grinding man! also learn about the architecture you are actually running ur code on it will help you tremendously.
@@anis1930 u mean application architecture like mvc, mvp, mvvp or what?!
@@owaiseltijani2579 i meant ur cpu (x86-64 most probably)
@@owaiseltijani2579 hardware architecture
Usually now companies gives you a code challenge, focused on the tech stack you would use, some of them will pay you during the process
i mean passionate devs are nice, but there just could be some devs that are much more skilled but their incentive is just money, and im not sure which one would be better, maybe both extremes are ready to burn out easily
in my experience, the one with passion rarely burns out, its the one striving after money, of which its dividends half life pretty hard
Love this guy. He's such a huge inspiration.
I have MSc and have been writing code professionally for a couple of decades and still I had to look up with sentential database is. From cursory look it seems to be generic form of relational database where the relations also include recursion and collation. Seems to be closer to pure mathematics than practical programming. However, if you can understand sentential database you're easily smart enough to figure out big-O notation.
Stealing this take from a tweet i saw, but it is absolutely insane that 'Doing your job' and 'Interviewing for your job' are two completely separate skills, especially in the tech industry
sort of correct, depends on the company, task, and people interviewing, but yes, they are largely distinct
At the end of the day you have to follow your passion. I think a lot of people go into the field only because it pays well. I really believe you must have that passion flowing through your veins. If you consume it like a drug - if you have an insatiable desire to create products and solutions - then I truly believe the jobs will come to you. I am still in school so I have much to learn. Communication, drive, and perseverance are key. The man in the post sounds defeated, and they probably could see that during the interviews. I'd imagine a truly skilled engineer could also freelance. He might just have burnout, that is totally understandable - I get burnout just from studying and practicing.
I remember in an interview some yesrs ago, the guy asked me to make a bloom filter to solve some data stresming problem, had never even heard of the data structure. Thst was fun
The uni that I went to a few years ago teached C and C++ as first language. Studied embedded systems.
C++ is in high demand in the compiler and silicon space.
I wasn't taught C++ I was taught Data Structures and Algos with C.
then went into Java for OOP and PHP 🤣 for WebDev crap.
I never felt the need to learn C++ at least here there aren't many jobs.
You're supposed to apply for a new job whilst you have a job. I don't know why Americans first quit and then apply for a new job. Imagine moving house by first leaving your old house and being homeless for a few months until you find a new one. Once you find a new job take a holiday from your old job so you have income from both jobs for the 1st month.
Also you should be sending a cv at least once every 3 months even if you don't plan on quitting your current job. If companies no longer value loyalty, why should you value them?
Americans don't do that. So don't speak for us. Furthermore, as a software engineer I'm in a financial position I don't have to be a slave to a shitty job. I'll take a few months off and find something better.
Americans only have 2 weeks of holidays a year. They should do the trade (Money days off) the other way around. Get a new job whilst having a job, but only start a month after you leave the current job. As to finally have a real vacation, after years.
I would say in North America it's moving down in complexity (from the absolutely ridiculous to more fair and reflecting real job) and in the rest of the world it going up.
Didn't realize that Prime would roast me, am 5.7" 😂
Even I can tell he is a bad dev... he didn't write "I have been focusing on discovery(self)->self "
Interviewing is a skill indeed. But I would never leave my job before I found another one first. Huge mistake from this guy. Especially if he’s older. Because then every interviewer will see two red flags: old + unemployed. And if you haven’t learned modern (web) development - weird he didn’t see this coming …
Love this video, Love the insights, Thank you @ThePrimeTime
The issue is that there are some internal rules that do not allow you to provide that kind of feedback at the end, which I think is quite unfortunate.
I will be a good software engineer
I think perhaps the difference ThePrimeagen felt could maybe be due to his advancement in levels.
I think businesses are less likely to challenge his skills with his pedigree and tenure. In essence, just getting that first netflix job and keeping it for a while told other companies "hey, this guys not an idiot and we like not idiots. We should get him over here!
The university I went to didn't really teach C++ well enough, it was taught in the final year but it was for a computer graphics module so we weren't there to learn C++, we sped through it in order to learn OpenGL
I think the real problem is that a lot of people underestimate the skills that are required for working in the industry, and it's mostly because of shady practices by marketing agencies that promise a developer education in 6 months for the $500 in the bootcamp.
But the reality is much different, before learning programming at least in my personal opinion a person must have a really solid background and natural drive of how the computer works, how the operating system works under the hood and to have that hacker mentality.
Before even consider studying programming one must be comfortable with setting up his own operating system at least, sadly there are many junior developers that apply for jobs which have no common knowledge.
Programming languages can be studied but the drive to innovate, and hack stuff can't be studied, you either have it or don't there is no middle ground and that's what distinguishes an employee than the rest that have applied for the position.
And don't go to an interview, trying to display fake enthusiasm after reading this because it's really easy to spot when someone has a natural drive to create software and someone that's trying to get the job, it's something that goes on throughout the years, not the last app you hacked for week before applying to a company.
Personally when i am interviewing someone the first thing i ask is tell me about the stuff that you're currently working on, i really don't care about the way the interfaces look like, for me the important thing is that there is a drive to create and push his own knowledge forward without spoon feeding or external motivators. If the answer is i don't have time, or i don't have any, the interview is already over, i would give him the next 10 minutes out of mutual respect to the other person but he already failed regardless the questions are 100% . And it's the right person for the job.
And no, family, friends, children or other factors don't prevent you from spending 30-1 hour a day working on something personal, it's laziness that stops you not the time, your day job is from 9-5, you have 16 more hours during the day for the rest of the stuff.
what are your thoughts on a week or 2 week trial? Bring someone on the team and see how they do for the certain timeframe and then make your decision after seeing how the potential hire works with the team?
"You're making a one hour decision about how someone is going to preform on a million line code base."
Isn't that the point? We don't dedicate the time necessary to find the right person relative to the gravity of the situation. We just rely on what they have said about themselves and what other people have said about them, and a few coding problems.
I get that this its a pain in the ass to hire someone. I get that people just want "someone" to do the job. I really do, but if we're valuing the speed of replacing the person over and above the value of replacing a person, then I think it shouldn't be a surprise when there are a lot of bad hires and it ends up demoralizing competent people and then people wonder why "no one wants to work."
Maybe I'm catastrophic a bit, I acknowledge that, but I'm not even saying that we do things differently. I'm just saying we acknowledge the flaws of what we value for what they are so that we're not feeling deficient when things aren't necessarily our fault. But you got to be careful not to use this reasoning (perhaps cognitive dissonance?) to fall into complacence.
Truth is that we never had a good interview system. We need to have two lines of studies, one for interviews and another for the real job.
I get the interviews thing. I spent the last 6-7 months looking for a new job because the previous job I had was pretty boring. I eventually landed a job in August. It was a three interview process. The first two were a breeze, and the last one I felt like I completely bungled. However I still got the job. After standing in on the interview process about 3 weeks into my position, I can see why interviewees would feel like I did. The other two colleagues/interviewers lamented the fact that couldn't provide any immediate feedback to the interviewee and that the tests we were giving seemed mismatched to what we were looking for. Ended up being they just wanted someone driven to do cool shit, so yay?
I was part of a cut this year without notice, I had just rejected a couple of opportunities with 2 great companies and now starting February I am left without job, I started looking and activated LinkedIn premium (big mistake) nothing nothing nothing for a while then got a couple of interviews at the end a couple of really horrible offers so I don’t take those, I had 3 more interviews and 2 offers from these I had to took one this time and it was weird I usually switch to better jobs without being fired these days things are quite complicated
Crazy how I learned how binary trees work in