14 ms·
It’s been really stressful. I know python, but not really any other languages. I’m able to get work done. But I’m really nearly the same as a fresh grad. But re
by logicslave12 6y ago
It’s been really stressful. I know python, but not really any other languages. I’m able to get work done. But I’m really nearly the same as a fresh grad. But really, I was just bumming around, then studied for four months and destroyed their algorithms questions, so much so that expectations for me are really high. But all I know is leetcode, literally nothing else...
- thewarrior 6y agoTake the same energy and apply it to learning to build testable and understandable code. If you can go from nothing to smoking an algo interview in months you’re a fast learner. You’ll be fine.
- deleted 6y ago[deleted]
- TheMblabla 6y agoI think that's what these leetcode type questions are good at. You're either naturally adept enough to do well, or internally motivated enough to memorize/learn them. Either way, it's a decent signal for a company that needs someone to learn their internal, proprietary techstack
- thewarrior 6y agoI partially agree but this point of view has become very polarizing and controversial and I get the other side of it too. People who have spent ages getting better at their craft feel undervalued. However the two need not be mutually exclusive. One needs to learn to do their job while also navigating the system. That is part of the job just like selling your work is also work. But having worked at both FANG and non FANG you can see the rigor of the interview process reflected in the quality of your colleagues. That’s something that is hard to deny having experienced it.
- kudokatz 6y ago> You're either naturally adept enough to do well, or ... I'm personally very wary of using algorithms questions as a proxy for how "adept" someone is at software engineering. If I were running a business, I'd personally want to make sure people could manage technical debt and build decoupled systems. I have had multiple positions at FAANG companies, and despite being "adept" according to these algorithms questions the systems built by these highly-paid (and, around me, generally experienced) people are pretty awful in terms of quality and maintenance. Learning a proprietary stack also hampers effectiveness in future positions if wanting to opt-out of FAANG later on.
- cik2e 6y agoWhy do you suppose these hires aren’t good at learning engineering best practices? I see comments like yours here all the time. Is it some kind of arrogance, perhaps amplified by a false signal sent by getting hired off leet code questions in the first place?
- thewarrior 6y agoIt’s false based on what I’ve seen. Plenty of people passionate about good engineering where I am. But they are sometimes trapped in a system which doesn’t always incentivize it.
- kudokatz 6y ago> Why do you suppose these hires aren’t good at learning engineering best practices? I guess what I was trying to convey is different: being good at algorithms doesn't give much of a signal (positive or negative) about other things I think really matter more on the whole. (Of course, having enough people being aware of algorithms subtleties is important ... everyone, not so much)
- thewarrior 6y agoI have observed this problem and usually it’s not because the people are incapable but that the incentives are to ship things that move the needle to quickly get promoted. The financial rewards at these companies from promotions are huge. Where the managers have incentivized quality and stability my team mates have moved mountains and I’ve seen some really good stuff but otherwise not.
- sieabahlpark 6y agoYou think you're alone?
- nnd 6y agoWhat was your prep strategy?
- _wldu 6y agoYou know algorithms (not leetcode). Most people struggle a lot with algorithms. It's the reason a lot of people flunk out of CS programs. That's why they hired you. If you can solve these problems on a white board, you can write the code in a programming language.
- manquer 6y agoBeing on other side of the interviews like this , trust me most interviewers know that . The logic being if you can pick up leetcode in few months you can pick up most things on the job fast. Understand that interviewers are first and foremost are looking for ability to learn and understand complex topics , it is not all that important which specific topic it is. nobody really knows what you will be working on by the time you join or 6months later , even if the interviewer wanted to it he is not able to ask the right questions beyond the basgics. Also university education in IT is woefully behind the industry. Functional programming, or dev tooling is barely covered in most places . Maybe they teach MVC a bit , I don’t expect most kids to understand CQRS or event programming . Similarly I would be pleasantly surprised if you have setup a simple app, I wouldn’t expect you to know nuances between different cloud vendors , or have experience with zipkin,istio, helm , grafana or similar tools or be able to grok a explain analyse and fine tune a 500GB dB. it is unlikely a fresh grad has production experience at best they may already know some frameworks and maybe developed a few small apps of their own, however working in large project with 1m+ lines and complex tooling is a skill that takes time to learn , there is a lot of gotchas in every area you will learn only when you see it . So all I am left with is, does this candidate know the basics , can he understand and learn fast . That is why these questions make sense for junior developers and never for senior devs.
- melvinroest 6y agoN = 1 but here we go. Let's look at the CS bachelor/master offered at the Vrije Universiteit Amsterdam [0]. The truth is probably somewhere in the middle and I understand that university programs are heterogeneous. So let's look at my university experience and use your post as a checklist, for funzies! :D Functional programming: covered Dev tooling: covered to some extent through electives where you'd teach it yourself (I also call it the Magical Course) [1] MVC: Magical Course event programming: never heard of it :) Reading the wikipedia page, the following courses will probably help in aiding understanding: + Hardware interrupts: kernel programming, binary and malware analysis and hardware security + User events (e.g. via JavaScript): The Magical Course and Computer Graphics CQRS: never heard of it :D And while I get the need when reading the article from Martin Fowler, I do not have a backlog of knowledge where I've encountered this before. Simple app: computer graphics, the Magical Course, Distributed Multimedia Systems (the practical assignments were in HTML5/JS). Cloud vendors: nope, I learned about that when I started teaching for a coding school zipkin, istio, helm, grafana: never heard of it :D be able to grok a explain analyse and fine tune a 500GB dB: No. We did learn SQL though and how to model relationships with UML and entity diagrams. it is unlikely a fresh grad has production experience: I do, because my thesis was harder than whatever production experience I was acquiring. Going to work as a web dev and web dev instructor was my form of fleeing for my much more difficult thesis. Also, computer graphics taught me volume as my OpenGL engine was 10K lines of code. The Magical Course allowed me to produce an app that I sold for 2000 euro's. Diving into a 1 million line codebase: We did that way too briefly (the Linux OS) for just 15 minutes, unfortunately. The startups I've been at had about 100K lines of code for their complete product. In other words, a lot of companies don't have a 1M+ codebase. Anyways, when you have someone from the Vrije Universiteit Amsterdam, you can have some idea of what they do learn ;-) [0] My knowledge of the curriculum is a bit stale, so it could've changed. [1] Whenever I use this sentence, I happen to refer to one course where the teacher decided not to really teach but coach and the goal was to teach yourself whatever you wanted. I happen to have learned a lot of practical stuff that otherwise wouldn't be covered. So did many others. What did I specifically do? I created an iOS app by following Hegarthy's Stanford-based iOS course online ( https://www.youtube.com/watch?v=gI3pz7eFgfo https://www.youtube.com/watch?v=gI3pz7eFgfo ).