Warning. This is going to be a very long post. Feel free to ignore most of it and just scroll down for offers if that's all you care to see. I've fudged the numbers slightly for the sake of anonymity but they are more or less accurate. A few months ago I made this post and promised to follow up if I ever became successful: https://www.teamblind.com/post/I-love-blind-4Q7mai2y Well it's time to share my success (it came a lot sooner than expected), share some offers I received and hopefully motivate others in similar situations. I worked at a few Canadian companies previously. 4.5 YOE. Previous TC: 110K CAD I learned about Blind a few years ago from Reddit posts and that and levels.fyi really opened my eyes. At the time I was terrible at DS and Algo style questions, I could not even solve any LC easies or if I did, it would take literally 2+ hours and probably still wouldn't be the optimal solution. I ended up reading and doing most problems from Cracking the Coding interview to improve my fundamentals. After that I started to be able to do some easies but still struggled a lot on mediums. So for a 1-2 years I kind of gave up. I decided I was simply not smart enough and would never get good enough at that stuff to pass technical interviews. But about 4-6 months ago I realized the a gap between Canadian company TC and American company TC had widened even further and the market was ridiculously hot. I also changed my mindset and started to think other human beings could pass those technical interviews, so why couldn't I? Also my anger at these corporations taking advantage of SWEs and not paying them their fair market worth despite us generating millions for them kept me motivated. So I made a promise to myself. I was going to keep trying no matter how long it took. I doubled down on study time and really tried to not only do LC mediums but truly understand the optimal solutions inside out often redoing the problem days later for the ones I couldn't get at all. I'd look at the given LC solutions but also noticed the discussion tab also typically had a ton of solutions and sometimes these would actually be a bit cleaner than the official solutions. I began really trying to notice the patterns and watched a lot of youtube videos (from various channels) on the patterns I didn't understand. II tried to focus on the most commonly asked patterns and avoided DP questions on purpose since I knew most companies wouldn't ask them. I ended up doing ~250 LC mediums in total. For system design I read through all of Grokking + watched Gaurev Sen, the System Design Interview channel and a few others. I tried to think about follow-up questions for the various topics and dove deep into concepts I didn't understand. I also did a mock System design interview as prep. As for the interviews I'll talk about both my rejections and offers. I won't give exact time frames for the sake of anonymity and these aren't necessarily in order unless specified but you can assume this all happened within the last 6 months or so. ------------------------------------------------------------------------------------------------------------------------ Here were my rejections: Radancy: Was given an online asssessment. They asked some C# specific domain knowledge which I did know for the most part. I answered their 2 coding problems (1 LC easy level I'd say, the other more web service parsing based). I got rejected because I think they wanted me to use some specific web APIs or something for the parser question (I just brute forced it, possible it failed on some hidden edge cases). ----------------------------- Goldman Sachs: I was open to moving to NYC so applied to non-remote NYC companies as well. Once again I was given an online assessment. 2 questions in a few hours, medium level. One I was able to solve, the other I later learned was medium DP problem. Again this was the one category I had avoided and my brute force way timed out so I got rejected. I also found it funny GS of all places would ask DP questions (no offense but I doubt most people that can solve DP questions would work at GS considering their TC isn't top of the line). Edit: Turns out I didn't get rejected and passed to the next round. They just go back to me like 2 months later lol, obviously politely declined now. ------------------------------- Keep Trucking Interview: Passed initial screening rounds and technical phone screen (another LC easy - medium I'd say). Onsite: 2 Coding rounds. I did well on one of them, first time I ever solved a LC medium level question in a live interview setting! It was at this point I knew my time was approaching even if I failed this interview loop. The other was also a very fair LC medium level question, just a pattern I failed to recognize until the end where I more or less explained the optimal approach in words. 1 System Design: Completely bombed this as this was early on when I hadn't studied much System design yet. Later learned it was a variation of a common Grokking question. 1 Behavioral round: Common behavioral questions, strengths, weaknesses etc. But they also asked previous managers names which I did not like, maybe as an intimidation/lie detector tactic. But I was doing all these interviews for practice so I didn't care much. 1 Real World problem solving. This question was very fair, basically wanted you to call an API and filter the results and obtain some result but I was a bit mentally tired after a few other rounds in a row so I struggled through it. Plus I didn't know the syntax to do a curl like call in the language I was doing the interview in (I switched to Java from C# since I knew interviewers were more familiar with it and it had built in stuff like Priority Queues, C# does not). ------------------------------- Amazon: OA: Did hilariously bad. 1 question seemed legit hard or a pattern I hadn't seen before it seems. Might even have been a DP question. The other was definitely a more common pattern but I didn't get all of that one either. Truth be told I took the OA during week of several onsites in a row + a full time job. I was mentally exhausted so probably performed much worse than usual due to that. But I took a screenshot of the questions and want to try them on my own to see where I went wrong later. I've heard others get only LC easies and lower end mediums (that's what the recruiter implied too) so possible I just got very unlucky here and got harder than normal questions. ------------------------------- VmWare: Hiring Manger screen: Think I did well, had an interesting project to talk about. Phone coding screen: 1 LC medium level question. A pretty common one I think. Onsite: 1 Coding round, 2 design rounds. I did really well in the coding round I think. 1 LC easy and 1 medium and was able to optimally answer both well within the time frame. Interviewer was very friendly and enthusiastic so we just chatted about their day to day for the next 20 mins. One design round I thought went okay. The other was awful on my end, hadn't seen a design question with certain considerations on Grokking like that and it was a product I had never used before so it was hard to come up with requirements on the fly. I still thought I had the chance due to my other strong rounds but alas I got rejected likely due to that round. The recruiter said had they more junior roles, maybe they could get me an offer but the team wanted a senior. ------------------------------------------------------------------------------------------------------------------ Now for the offers: Cvent Interview: Phone screen: 1 LC medium. Fairly common pattern I think. Was able to easily solve in around 20 mins and we chatted about the company and role for most of the time after. Interviewer was pleasant. Onsite: 2 coding rounds. Both LC easy - medium level. I did perfect on one round I think and the others I needed hints but at the end was more or less able to come up with a solution they wanted. Also got asked a small design question, thought my answer could have been better but it was okay I guess. 2 behavioral rounds, think I did well on those as well. Cvent Offer: ~145k CAD base + ~10k yearly bonus. ------------------------------- Yelp Interview: OA - LC medium level that could be solved using sets and maps. You are given 45 mins. I completed it fully. Onsite: 2 coding rounds. One was a DFS/BFS problem and I think I did well on that. Started off as LC easy and ended up being medium with final requirements. Second coding round was also LC medium level but with a hard followup I think (I wasn't able to solve). Then was asked a design question and I think I mostly got that. 1 System design round on some part of Yelp's app. Don't think I did crazy well here but was able to more or less come up with okay answers I'd say to their questions . 2 behavioral rounds. Think I did really well here, interviewer was very pleasant and she mentioned I actually answered a lot of the questions she had prepared in my stories before she had a chance to ask them. We were laughing and joking a lot of the time. It was mostly about how you work with others and past projects/planning. The other behavioral round focused more on solo career goals and how you work. Yelp Offer: Technically I rejected Yelp before they gave an offer (they were taking ages to give me one) but the recruiter said they were possibly considering me for an IC2 role. He said the offer would likely be in the 150-170K CAD range and was wondering if I was still interested. But at this point I got much better offers so I asked them to not waste their time and I would not be moving forward due to a much better offer presented. ------------------------------- Wayfair Interview: Did 2 Karat interviews. People complain about these but I enjoyed both. I got 2 good interviewers that made me feel comfortable. They ask 5-6 scenario based system design questions and then a LC easy-medium to be solved in 20-30 mins (they ask a followup if there is time). I felt my first Karat round didn't go well on the coding part so I asked for a second (they allow this). The second one was definitely better coding wise, I was able to fully solve problem 1 (LC easy level) and and then nearly got the LC medium follow-up. At this point there were only like 10-15 mins left so I didn't code up a fully working solution for all test cases but think I was very close for the second problem. Wayfair Onsite: 1 coding round with up to 3 coding questions: Did really well this round I think and probably the reason I got an offer. First question was a LC medium and then 2 easy follow-ups. I got all of it within the 1 hour time period and the interviewer seemed very satisfied. She did give me minor hints here and there and gave me time to refactor the code and stuff since I solved the first biggest part of the question extremely fast (it was a common pattern I had practiced several times before). 1 System Design round: I'm still not great at System design but the interviewer was pleasant and made the conversation more open ended. He said I was asking a lot of interesting questions/requirements he wasn't even sure about and seemed happy with a lot of my responses. So I most likely passed this round as well but maybe not with flying colours. 1 Object oriented design round: I bombed this and knew I probably would. I knew Wayfair had a OOD round and while I tried to study a bit from it from Grokking and youtube videos but every source seemed to suggest approaching these problems a bit differently. More importantly, I prioritized LC and system design in my studying over OOD since I know most companies don't have OOD rounds. If I had infinite time I would have studied that as well but did not. 1 Behavioral round: Typical behavioral/working with other questions. Went well overall I think but some questions I could have definitely had better stories for. I was not expecting to get an offer at all due to the OOD round. The recruiter did give good feedback on the that round going poorly and why but gave me an offer anyway! It was a down level offer. I was applying for L3 I think (Senior software engineer) and they gave me the high end entry level offer which was still very good for Canadians. L2 Wayfair Offer ~210K CAD including bonuses. At this point I couldn't believe it. All these offers were fantastic given what I was coming from and the Wayfair one was already a 90% raise considering my current 110K CAD TC, I was all but ready to take it. What happened next I could never have imagined. ------------------------------- Bloomberg Interview: Phone coding screen: 1 LC easy level question, then 1 LC medium level question I think. Was able to answer both and answer some follow-up questions on the medium (wasn't asked to code those). Interviewer was pleasant and attentive, answering my company questions well. He knew a lot about finance stuff and funnily enough said he doesn't even like finance, just learned a lot about it on the job. Onsite: 1 coding round was a mixture of coding and design/data modelling and the question was nothing like I had seen on LC yet. It was something a bit domain specific that they do in their day to day, it took them 10-15 mins just to explain it. I bombed this round I think (or so I thought). Although I think they said they said I was headed in the right direction but could not come up with a working solution in time. The second coding round asked a LC medium. I didn't get all of it I think even after hints in time but most of it and was able to explain my approach on the stuff I was missing. Interviewers seemed mostly satisfied but definitely could have done much better. The third round was some typical behavioral and day-day questions I think (what makes good quality code, what are your career goals etc). The latter half was another question and this one I'd say was LC medium level or so. We worked through the problem together and I came up with a completely working solution I think with some hints (basically I forgot what the output was actually asking and the interviewer reminded me). This round went pretty well I think, he even said I eventually came up with a more efficient solution that most don't think of. I was not expecting an offer due the one poor coding/design round even if the other rounds went okay. But alas I received one anyway albeit for a different role (more front-end focused). I think Bloomberg might be struggling to fill spots currently due to no wfh policy and the pandemic situation so probably lucked out hard here. Bloomberg Offer: Senior Software Engineer: ~190K USD base + 20-30% year end bonus so about ~230K USD in total (~290K CAD). ------------------------------- Bolt Interview: I had no idea what this company was and only heard about it from lurking on Blind so often. But their goals seemed interesting and I heard a lot of good things about the culture so decided to apply with a referral from someone on Blind (only reason I think I got an interview I think, so can't thank them enough). Phone technical screen: My best coding round ever. Interviewer after 5 mins said we should start the coding question so I have enough time. I think I was only expected to solve one LC medium in 30-40 mins. I solved that one in maybe 10 mins and the related follow-up in another 10-15 mins while explaining my thought process and reasoning well, then proved both with various test cases. I could tell the interviewer was impressed and all but admitted I'd be moving forward to the onsite. I did this well because I had seen the exact kind of patterns the problem needed (just got very lucky, again had they asked me even an easy DP I'd be screwed). Bolt Onsite: 1 coding round: Started a bit late due to zoom meeting link mix up (honest mistake, it happens). Interviewer accidentally asked the same question as the Bolt phone screen, I was honest and told them so. So they asked another problem LC medium level but maybe a bit longer than average and I only was able to solve the first half of it in time (but it did fully work). They then asked me to test it with several cases and it passed all of them. I more or less explained the rest in words. I was kind of kicking myself for being honest here and possibly costing myself an offer as I knew I would have aced the previous question again but if anything I think I might have gotten points for honesty here. 1 Design round: This round went quite well I think because it touched on various concepts I'd read about on Grokking and other sources. I was able to come up with a decent design and answered most followup questions well I think. 1 Bolt Overview round: This round is mainly there for you to ask questions/show interest in the company I think. Well I had researched the company quite well at this point so I had some decent questions prepared. He laughed during one of my questions stating it was fair but he had never seen anyone ask it before. 1 Behavioral round: Typical behavioral questions and again more company questions. Once again I had some decent questions prepared. 1 Deep Dive/Past project round I think this one went well because I did have a chance to work on one fairly complex project with tradeoffs in my career thus far. Expect to answer follow-up questions and what you could have done differently. I actually didn't need to prepare much for this round. I could talk about that project for hours on end if I needed to because it was all real, didn't have to exaggerate at all. So in that sense I got lucky this round was that and not another say System design round which can go either way for me pending on topic. After doing the onsite I still thought maybe that one somewhat weak coding round cost me a job here but it turns out it didn't. Possibly due to the other extremely strong coding round and my honesty. Got an offer. Bolt Offer: L4 ~310k CAD TC ~220K CAD base + shares vested over 4 years. Hard to gauge exactly how much the private equity is worth but based off my calculations it's about 80-120K CAD per year after I subtract the potential strike/purchase price. Which means for year 1 the TC should be around 310K CAD if you count the equity, possibly much more if Bolt's stock continues to do so well. ------------------------------------------------------------------------------------------------------------------------- Which one I chose: It ultimately came down to Bloomberg vs Bolt as the offers were similar in value so one of the most difficult decisions of my life. On one hand Bloomberg is a huge brand to have on a resume (I'm coming from no-name companies) and it's all cash, no need to worry about an IPO. But everyone on Blind + friends/family seemed to think the Bolt offer was better due to being fully remote and being a "rocket ship" when it comes to growth. I'm still fairly early on in my career and I do want to make a big impact at a hyper growth company so this was very appealing to me. And while NYC seems cool to live in for a bit, with the pandemic situation and potentially more lockdowns, I decided it was not the best time. So I decided Bolt at the end of it all. -------------------------------------------------------------------------------------------------------------------------- Last pieces of advice: -Never give up no matter how much you fail. Every failure makes you stronger. I've never been quick thinking or special. Concepts people can understand in minutes might take me hours to fully grasp. But what's much more important is having the mindset and determination to learn and grow. When a person is failing to climb a mountain, that mountain won't get any bigger. But the person can improve themselves. -Soft skills matter. As you can tell from above I received several offers despite not giving ANY fully perfect interview loops. But I researched the companies well and asked good follow-up questions showing interest and tried to be kind to my interviewers making them feel comfortable. I always ended interviews saying things like "Thanks for the insight and this great learning experience either way". At the end of the day I think most people would rather pass and work with a 7/10 engineer willing to learn than a 10/10 know-it-all asshole that would be difficult to mold and train. -Luck matters a A LOT in interviews and many won't admit this but it's the truth. Every interview I passed, had they added rounds full of questions with patterns I had not seen before, I'd likely fail all of them. The more LC and System Design you do the greater your chances of having seen similar problems. But there's never any guarantee. So take every failure no matter how much you've studied as a learning experience. Even after 250 LC mediums there is so much I still don't know and questions still stump me on LC at times. It's something I want to continue to try to get better at. -Know your worth and don't settle. If you are working for non-profits and genuinely believe the work you are doing is meaningful and are happy by all means stick to low paying jobs. But otherwise if you are interested in being paid fair market value the opportunities are better for engineers than ever before. Don't let these corporations take advantage of you, good engineers bring incredible value to orgs and are only within the last few years actually being greatly rewarded for it instead of only the higher up executives truly benefitting. I'm nothing special and I more or less tripled my TC. There's no reason others can't do it too. ______________________________________________ tldr: 4.5 yoe Previous TC: 110k cad (Canadian Company) New TC: Roughly 320k cad (Bolt L4, 220k base + private equity)
Thanks for sharing, it's great to hear a Canadian perspective. I always thought those 300k+ salaries would be out of reach for Canadians.
They were for the most part prior to the pandemic and remote work boom I think. Most Canadian companies still pay engineers poorly, this is only due to US tech companies aggressively hiring Canadians now.
Doesn't canada prevent you from using the word engineer if you don't pay the yearly cartel fee?
Lol. I did hear about that but most don't care and no American company will obviously care about Canadian customs.
Whatās cartel fee?
What was bolt offer? Also congrats! Drop some tips and tricks what worked for you for system design please
Around 310k cad in total. Base is 220k cad. L4 offer.
As for system design tips keep in mind I'm no expert. But generally I mostly used Grokking the System design interview (all of it) + youtube channels like Gaurev and others to prepare. I also tried to think about followup questions I could be asked as sometimes Grokking might not cover all major aspects. So it's always good to use other sources as well and do your own research in general. Make sure you understand why designing something a certain way is a good idea, not just that you should do it that way. You can follow the same structure as Grokking (ie. define requirements first, then talk about Api design, db design and then component design). But make sure you always pause and ask clarifying questions to make sure you are on the right path. Also make sure to talk about tradeoffs. If there are multiple ways to do something each with their pros and cons and there almost always is, it's good to let the interviewer knows you are aware of this. Make sure you have very clearly defined components in your design and can justify them.
Who actually read this? Can I get the tl;dr version?
Went from 110k cad (Canadian company) to around 310k cad (Bolt l4)..
Thanks. Congrats man!! That's really good and impressive. Sorry I'm lazy
Let's just say I can't say exactly for now. But I'll just say valuation wise, Bolt is in a good spot :)
Did you avoid/ignore the backtracking questions as well?
No those are important I'd say and come up a decent amount. Definitely make sure you understand that concept well and how to apply it. Imo it's one of the easier concepts to learn too.
I struggle with backtracking problems. Any tips/resources, please?
Cars
Yesterday
1672
Electric cars depreciate 10 times faster than gasoline cars
Personal Finance
Yesterday
2800
Should I marry a lazy girl?
Tech Industry
Yesterday
763
East Asian Men donāt talk to me bc Iām Vietnamese
Fitness
Yesterday
3096
Very thin yoga pants
India
Yesterday
616
Any Indians Think Kashmir Should be Independent?
Thanks for sharing. Which company did you end up choosing?
Was a very tough decision between Bloomberg vs Bolt but went with the Bolt L4 offer.
Congrats! Bolt tc?