Portfolios are a common requirement in other fields where creating a portfolio is even part of the educational process.
Hiring Without Whiteboards
221–230 of 471 posts
Re: Hiring Without Whiteboards
#222No one enjoys whiteboard interviews but it's not clear that these companies have better alternatives. Many of them do take home projects which are time consuming. I'd prefer the employer look at my GitHub profile as there's plenty of code there already. Furthermore, I'm not a fan of "interviews" in general, I find that more information is transmitted by eating lunch with the team and talking like normal people.
As an interviewer, how do I know that you wrote that code in your GitHub profile?
Re: Hiring Without Whiteboards
#223Earlier quoted context omitted.
I would argue the problem is it's not a one-time cost. You pay the cost almost every time you want to change jobs, because leetcode/algorithmic interview questions are so fundamentally different to what we actually do day-to-day as developers. It is very easy to completely forget all about graph algorithms in, say, 3 - 5 years during which time you've been a productive, valuable member of a software development team…
>because leetcode/algorithmic interview questions are so fundamentally different to what we actually do day-to-day as developers. I mean, maybe hard or esoteric easy questions but I don't think that's true for basic things like 'find the first duplicate' or '-traverse- this graph'. When people rail on whiteboard coding, I think they mean obscure algorithmic questions and not fundamental data structure questions. I do…
"Find the first duplicate": In my actual SW roles, this was trivial: Use a hash/map/dictionary/set. However, this isn't a typical Leetcode question - often it will be with additional constraints (cannot use a set, need O(1) space, etc). I don't doubt there are domains where this is important, but I've never had to do this in my professional work.
"Traverse this graph": Probably had to do it a few times. Less than once a year.
BFS: Never for my job.
Linked lists: Never for my job.
Yes, it is good to know what a linked list is and know if your library's data structure is using one, but again: That's not your typical Leetcode question. You'll be expected to write a linked list to solve some problem.
I do get what you're saying: Stuff like linked lists and BFS are fundamental, even if most SW jobs almost never require them. It would be a red flag if a candidate didn't know the basics about them. It's another thing to ask them to code it on the fly.
Going back to my electrical engineering experience: We have to take and use a ton of calculus to get the degree - much more than a CS grad will take algorithms. Yet it's a common trope that most electrical engineers will never use calculus on the job (literally not hard to find one who had a whole career in EE without using calculus). If you're doing research or are at the forefront of a discipline - sure, you'll need calculus. Or if you're doing electromagnetics, etc. The theory is built on calculus, but you don't need to know it to apply the results of the theory.
Would it be a red flag if a candidate clearly didn't understand the basics of differentiation (i.e. rate of change) and integrals (i.e. summing quantities)? Perhaps.
But should I ask someone to do a tricky integral for an EE role that will not require the person to do any calculus? I would be criticized by my peers, and if I kept doing that I would be excluded from interviewing. In fact, even if I ask them to do non-tricky integrals I would be criticized.
Asking people to figure out a trick to solve a linked list problem is equivalent to asking EE candidates to do tricky integrals or differential equations.
Re: Hiring Without Whiteboards
#224We use a 3 step process, sans whiteboard: 1. First interview, the candidate interviews us. What market we serve, what our development processes are, what our technology stack is. If they express interest by being prepared and asking good questions, we send them home with 2. a programming task. Choose 1 of 5 tasks. The tasks are not abstract problems or puzzles, but come out of the designs we've implemented. We ask fo…
Damn, can I do one just for fun and then let's code review together? :p I recently had a humiliating experience. Just was approached on LinkedIn and at first they sent me a take home. I learned the front-end tech which was required for it, and then coded it. They just wanted me to fill out a doc but I put it all up on stackblitz. Another portion was back-end which I also put up on another online env so they could see…
If they're not placating you at all than I doubt that'd be a great environment to work in. Or they'd already selected someone.
Re: Hiring Without Whiteboards
#225Another tech interview thread. For the side that supports these types of interviews, I've never gotten a good answer to a simple question: in the year 2020, why are we expecting people to write compilable code on a whiteboard? It's just stupid at this point. Even a laptop that boots into some micro linux distro and has nothing but nano open would be better. Or just a fresh install windows laptop with nothing but note…
As somebody that gives both phone interviews with a shared typing environment and whiteboard interviews, there are some problems I can only use with a whiteboard, but no problems that I can only use with a typing environment. In particular, whiteboards are significantly better at letting candidates describe what they're thinking about the structure of a problem before (or instead of) actually writing correct syntax.…
Now while you may be aware of this and not give the candidate a hard time for not leaving enough space, I read a Medium post once written by a Google employee with tips on doing well on the interview. He explicitly highlighted this problem, and literally encouraged candidates to learn to think and write linearly and not leave these kinds of blank spaces.
Re: Hiring Without Whiteboards
#226Unfortunately, most companies fail to honestly estimate the cost of the tasks they assign for these processes. Many of them because they just don't take into account numerous small tasks that the candidate will need to deal with.
I've seen a lot of these tasks ask for setup instructions, good unit tests, explaining any decisions you make, etc. In case there's any visual user interface (e.g. some web component) they also ask for it to be nice, as in "we don't want a designer but we need you to make it somewhat nice". And then they'll say it should take just a couple of hours.
I've also seen a fair number of others casually say their task should only take about 8 hours. And I can do that on my free time on five consecutive days, after having worked already 8 hours each day. Sure thing.
Re: Hiring Without Whiteboards
#227This is yet another tech interview discussion, so I'd like to highlight a subthread from the one earlier this month: > I'm actually a little scared to leave my current FAANG gig for that exact reason tbh. I'm fairly certain I wouldn't make it back in the door without more leetcode grinding + repeated loops than I'm willing to do at this point in my career. >> I'm in a similar position - a tech lead role at a Big N -…
There's no rule that says you can't apply for more than one role at a given FAANG. It's not like they blacklist you for not getting hired in one role. They know they have an intentionally high false negative rate, you get to try again.
Re: Hiring Without Whiteboards
#228Earlier quoted context omitted.
How do you avoid awarding candidates who violate your request of no more than two hours and spend considerable time coming up with something amazing? They may still produce 100 lines of code — but those 100 lines may end up being unusually elegant, beautiful code that stumps 40 year veterans. How do you avoid punishing someone who took your requested time constraint seriously (or otherwise didn’t have enough free tim…
I reject entire the premise of this question. Anyone spending huge amounts of time is either going to produce way too much or they just took too long. There is nothing magical about programming where taking 8 hours to solve a 2 hour problem is going to stump 40 year veterans or be unusually beautiful. That's just unrealistic.
Re: Hiring Without Whiteboards
#229Earlier quoted context omitted.
How do you feel about paying candidates for the time they spend on the assignment?
I once applied at a company that started with a programming test before any human communication. I think I did a pretty good job on the test. After that I was rejected when I assume they saw my resume. They gave me $50 store credit on their website (custom sticker printing). I assume it cost them a lot less than $50 but it was still pretty cool.
Whilst the challenges were not particularly complex, you also had to ensure that the person who was going to run your code could stand up your environment, so part of the second challenge was "thoroughly document how to run your code, the environment needed, etc, etc."
Life is too short to deal with this kind of stonewalling.