If leetCode is what you have to do to compete in your market so be it. In the grand scheme of things, it would be hypocritical for me to criticize someone for spending hours upon hours on leetCode considering the amount of time I’ve spent on books about architecture, spent a year learning the ends and out of AWS, and the time I spent networking.
Not to mention the fact that I will spend the next two year learning front end frameworks and Docker ecosystem. I’m 45
I bet you have fun learning, right? I actually find doing algorithms problems fun. If I didn't find them fun I don't think I would've done 250. I'm also spending a lot of time reading architecture books and learning AWS. React is probably next on my list.
That said, it sounds like you and I are both "cultivating" and "tending to" our profession. I think that's what it takes to stay competitive and have longevity imo.
I started out as a typical 12 year old computer geek. But, by the time I turned 35, I became much more cynical. Computers became a way to put food on my table. I don’t “have fun” with technology. I don’t hate my career by any means, but, I do what’s necessary to stay buzzword compliant.
I got into vicious codependent cycle with my job by the time I was 35. I didn’t know enough to be competitive and leave, I was bitter about my pay and they just kept me around because I knew where the bodies were buried. Since then, it’s all about optionality. If I go more than a month not enjoying my environment it’s time to leave.
I'm in the same boat as you were, I think. I like my company, but as the lead dev of a team in a big company I make a lot of technical decisions/reviews/collaborations... but others implement because I'm spending most of my time talking to the business, support, planning...etc. Not as much hands on.
Considering swinging the pendulum the other way to hands on technical again and let others do the BS work. Do you know anything about the north Atlanta market? Companies, salary range, culture? Or maybe ones to avoid...Thanks!
I think as our sector matures its more about emotional intelligence, and less about technical aptitude. I can’t help but think leetcode is a echo chamber. I personally disagree with this approach, I’ve met a few folks who think the CLI is useless and can be learned in a few days. But they score really well in algorithms.
With today’s data privacy concerns and tough European regulations I don’t think this attitude is acceptable.
I hope the field makes a return to appreciating fundamentals.
I get why companies want to use Leetcode for evaluation. It basically quantifies an applicant down to a number which makes hiring easier and more scalable. There's a lot less room for bias if every candidate can be boiled down to pass or fail by a single test.
That being said, I was on the hiring committee at my last job and personally, I found the best way to hire engineers is to just chat with them about previous projects. I'd usually run through one or two, "just confirming you can code" whiteboard questions and then ask them to tell me about a project they are proud of that they had a large part in. If you ask questions that dig into the project ("How did you do X?", "Why did you do Y?", "Now that it's over, what would you change?") you can usually get a pretty good idea of their skill level and knowledge as a developer as well as some great insights into their personality.
Obviously, that's much harder to scale and more subject to bias, but it worked for me.
In addition to being hard to scale and subject to bias, it's hard to know, even for you, if it was actually a good system or not. The best you can hope for is to have decent confidence it had a low false positive rate.
Short of industry wide collaboration with some kind of longitudinal study, getting an idea of what does and doesn't work in terms of false negatives is nearly impossible.
I think you can tell if it's a good system for your company. As an individual employer all I care about are:
1. are my false positives low?
2. is the time it takes to fill a position low?
If the answer to both of those questions is "yes" then the system is great for me (and I've seen the system described above provide affirmative answers to both these questions in a startup setting).
Determining whether a hiring system is locally good is significantly easier than determining if it's good in general.
You can say if it's acceptable ... but not necessarily good
The problem is that you don't know the cost of the false negatives; you don't know whether the people you didn't hire would have greatly improved your processes / code / business
Software is a collaboration. Almost by definition, all the stuff I don’t know how to do well is at least as important as the stuff I do, even as full stack person.
It’s probably not the stuff you know how to do that makes or breaks your company. Either someone else does it, or you “figure it out” and hopefully you know if you did it right before it’s too late.
How do you hire someone to be good at stuff you aren’t already good at? There’s gonna be a lot of those in the false negatives pile.
LeetCode is one path and it should be supported, but it shouldn't be the only path.
Realistically if a dev gets a leetcode interview they don't want to do, most of them can just cancel and likely get an interview with someone else next week if they're actively applying to jobs.
Not to mention the fact that I will spend the next two year learning front end frameworks and Docker ecosystem. I’m 45