Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I'm 48, on the West Coast, and recently finished interviewing, receiving multiple offers.

I did 250 Leetcode problems, practiced System Design, and Behavioral. In the end, I found doing 250 Leetcode was probably overkill, but it definitely helped.

This will probably get me severely down-voted, and I do understand the antipathy toward having to Leetcode, but the way I see it is that I'm really lucky. I get to sit on my butt, do what I love, and I get paid really well to do it. If interviewing is extremely hard and I have to study, yet again, at 48 so be it. There are plenty of people in the world who are so less fortunate than I am.

[Edit] s/250 Leetcode/250 Leetcode problems/



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’m in North Atlanta. My email address is in my profile.


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.


I love this. I think evaluating/interviewing is hard, should be much more about experience and past projects but so what if the industry has got it wrong, so what you have to study a little to get the job? The world is what it is. I think criticizing this from a ‘we could do better as an industry’ perspective is productive but from a personal perspective — today — what is going to get you hired is playing the game as it is.


"I have almost reached the regrettable conclusion that the software engineer's great stumbling block in his stride toward hiring fairness is not the Genius Asshole or the Bullshitter Who Can't Code, but the anonymous internet commenter, who is more devoted to 'pragmatism' than to justice; who prefers a negative peace which is the absence of reform to a positive peace which is the presence of fairness..."


Nobody is striving toward ‘hiring fairness’ ... don’t believe any person who says that’s what they are after.

Better outcomes, better industry productivity, sure. But ‘hiring fairness’?


Hiring fairness sounds to me like the same as hiring for better outcomes and industry productivity.


I agree. Fairness in the sense of “equal ability to do the job results in the same outcome” would, indeed, get us there. The problem is that interviews don’t actually represent ability to do the job, not in this industry, at least.


They must to a significant degree or businesses would tank.

The (open) question is, can we do better?


I’m on a team with 8 other people right now. All 9 of us are quite capable at our jobs. We all got through some sort of interview process to get there, of course, but that just means we weren’t weeded out. We weren’t false positives, in other words.

But, why did we get through? Maybe the process really is capable of separating wheat from the chaff. Maybe the process works 85% of the time, and the 1 time it didn’t work in recent memory is someone who has already left the company. Maybe only capable people self select into the process for some reason. Maybe we’ve been phenomenally lucky.

The point is, just because a filter allows the right people through doesn’t mean it’s necessarily any good.


> The point is, just because a filter allows the right people through doesn’t mean it’s necessarily any good.

I define “good” and “right people” to be that which produces efficiency, quality, innovation in the business. So a good filter to me is good wrt these outcomes.

The industry is starving for ‘good people’ and ‘good outcomes’ and we should work to optimize this imo.

Any other measure divorced from outcome to me seems... weird.


I wish I could talk about our recruiting funnel numbers. It is the farthest thing from efficient.

Triplebyte claims the industry average onsite pass rate is in the neighborhood of 30% (https://triplebyte.com/blog/12-000-engineers-evaluated). I suspect that the huge majority of those who fail onsites get jobs. Is that efficient?


I’m advocating for improving that efficiency if it is indeed improvable (my intuition says it is by a large margin.)

What I’m saying is that the notion of ‘fairness’ should have little relevance to improving this side of things.


So anonymous internet comments are inhibiting the fair hiring practices of software engineers? Is there a study establishing the causal link between these two, because it sounds like spurious BS.


I think he's quoted MLK and substituted some phrases.


"Anonymous internet commenter" serves as exemplar for all those who say that "we just have to play the game".


Dude, really?


Yes


Amen.


Love your attitude. I'm of the opinion that grinding through leetcode/hacker rank type exercises does improve your coding skills so I have no issue brushing up every time I'm on the market.

To that end, I'm 43 and last on the market a few months back, accepted an offer within a week of looking, had 3 pending final/onsites (including Amazon Seattle) and at least another half dozen in earlier stages that I shut down.

I do nothing to hide my age on my resume. Since turning 40 I've been on the market 3 times now, each time interviewing w/ 10-20 companies, and only once did I get the sense that agism was at play.


Oh, I agree that Leetcode can improve certain coding skills. But, are they the ones that matter for doing most software engineering jobs? The ability to write down algorithms on a whiteboard from memory alone is not a skill I’ve ever seen anyone use at any workplace outside of an interview room.


They absolutely do IMO, in 2 ways

- Whenever I need to hop into a code share w/ a co-worker (I'm remote FWIW) the ability to quickly suss out an idea has greatly improved from having a decent aptitude with those types of exercises.

- Any non-trivial PR usually has at least a few portions that could be extricated to challenges like these. Being able to slice through issues like these in 15-30 minutes vs. say hours helps w/ my cadence. It lets me focus on the issues that are unique to the business.

The 30 minute pairing challenge we give during our interview (which I took myself) was something that was pulled and simplified from our source. I ended up having to implement something very similar just weeks after I started.

Of course being good are things like this isn't necessary to being an effective sr. developer, nor is it sufficient (even for an entry-level). But I do very much see it as a skill that is helpful and worth getting good at.


I am very skeptical. Can you give a more specific example?


3 times in 3 years with 10 to 20 companies each time plus cramming on top of that! Sounds exhausting.


It was a bit, but only about 1/3 ended up with an onsite.

Part of the reason is because I hadn't spent as much effort on this earlier in my career; now with the concern of agism, every time I'm on the market I try to level up my skillset.


The leetcode angle at least makes interviews much more predictable and easier to prep for. The Google-style interview is well studied and documented by this point, like an SAT with an answer key you can study beforehand.


New graduates are even more out of touch. In what other industry can you graduate with a bachelors (or have no degree at all) and obtain a six figure job in return for a few weeks of studying?


I really like studying. Like, my list of things to learn more about in CS/software engineering/Math alone is probably longer than I'm going to get to before retirement... which, if I'm lucky, will consist in no small part of studying things and working on personal projects. I don't understand people who say they don't want to be immortal, they'd get bored. I can sortof imagine my psyche eventually crushing itself under the weight of its own history but... boredom? Nope. Too much interesting stuff to learn/try, even at the scale of challenge available to us now.

So, trust me when I say I don't object in the slightest to being asked to study and learn things. LeetCode-style problems look like one form of recreation to me.

And yet, I still think this comment is shortsighted because:

* I'd guess a lot of what's on LeetCode isn't exactly untrodden territory for any developer that got their start before 1995.

* Distinguishing oneself can work in the individual case, but it generalizes poorly. Imagine employers and would-be job-seekers alike internalize LeetCode knowledge as a standard distinguishing mark. Like college degrees, distinguishing points often over time become standard expectations. The likely outcome is that about as many devs in their 20s & 30s can brandish the same "distinction" that devs 40+ can and the incentives to prefer youth perform about the same.

Individual efforts to improve ones lot are a good place to start, but they rarely solve systemic problems.


I can guarantee you that someone knowing leetCode and algorithms would be absolutely useless where I work.

Most developers are doing CRUD apps or at most apps where the complexity is in the business rules and process.


>Business rules & process:

Absolutely. Unless you're working on a greenfield project or refactoring code for extreme performance, understanding the operational side of the business will get you more points towards the mythical 10x programmer status than algorithms.

I can't count the times I've seen scope creep and deadline slippage because the developer didn't really understand the need & use case and built something other than what was required.


One of the most valuable skills is recognizing an XY Problem and digging deeper.


This is curious to me, and it's not just in your comment that I've seen this.

But why is there this assumption that if someone studies Leetcode and algorithms then it means that they can't do anything else? Why is there this all or nothing mentality?

If someone studies Leetcode and algorithms, wouldn't one assume they know other things as well in the software engineering realm? I have plenty of friends in the Bay Area who are thriving at FAANG who studied algorithms and Leetcode intensely.


> I have plenty of friends in the Bay Area who are thriving at FAANG who studied algorithms and Leetcode intensely.

And I've seen developers come from doing Node green field APIs at Netflix to waist deep in a 15 year old Java application with Spring MVC and some underlying Struts yet to be removed and don't understand why debugger stopped going any deeper and they lost where they start 10 classes ago from shared modules.

Then they don't understand how refactoring a core message for alerting customer across the sight has tight coupling, wanted to something fancy and broke the key business features, try to argue it's better but a business unit just list functionality of it's product. Instead of researching, and coming up a plan with a team to refactor using TTD and Strangle Vine method from the legacy tightly coupled code, to a separate module with better testing and following SOLID principles.

Welcome to multiple Fortune 500 companies.


How much time have they spent using the standard frameworks that most companies use everyday? Could they even model a standard relational schema? Do they know anything about automated testing?

If they were told a web page was slow would they know enough architecturally to know how to find the bottleneck and no the solution for solving it? No the answer is not based on finding the o(n) complexity of reversing a binary tree.


>No the answer is not based on finding the o(n) complexity of reversing a binary tree.

Of course not, the main purpose of the leetcode is to ace the interview.

Doesn't mean they do not know any of those questions you mentioned above.

I, for example, did all you mentioned above and also practicing leetcode.


I'm not 48, I'm younger, but in my 30's. I only started the LeetCode study grind about a year or so go, but not consistently. I just got back from my onsite at a Big-N and pretty much bombed it. I gut nervous and forgot the easiest of questions. I lost my confidence. My mind went blank, my hands, nerves shaking. Couldn't write complete code or even sentences I think at times. It was bad. I was intimidated for no reason.

I am having very difficult time getting the offers (duh, when performing like this). Did you always get to receiving offers? I seem to always get the, we decided to go with another candidate... line after my onsite.

I've only had 2 company's fly me out so far and the only companies that I have gotten offers at don't do LeetCode. It's extremely frustrating or maybe I'm just not prepared well enough yet and need to be more consistent with my study and practice (and don't pay as much either) or maybe I'm just not smart enough. I feel stuck.

Will it ever end or am I stuck grinding for the rest of my career (life)? Will I ever be able just breathe and relax again? I'm not on the West coast, but interviewing on the West Coast. I'll rent out my condo or keep it around as a home away from home if I ever get an opportunity.


> I gut nervous and forgot the easiest of questions. I lost my confidence. My mind went blank, my hands, nerves shaking. Couldn't write complete code or even sentences I think at times. It was bad. I was intimidated for no reason.

This happens to me too.

> Will it ever end or am I stuck grinding for the rest of my career (life)? Will I ever be able just breathe and relax again? I'm not on the West coast, but interviewing on the West Coast. I'll rent out my condo or keep it around as a home away from home if I ever get an opportunity.

Dude just try for companies on the west coast. Why is this the end all be all? Atlanta, Chicago, Dallas, Austin, Houston, Charlotte, Raleigh, Colorado Springs. . . So many cities with low CoL and six figure salaries for Developers, Security Engineers, Linux Admins, Infrastructure Engineers.

You even have Denver, DC, NYC, Charlotte, Arlington, Seattle, Tampa, Minneapolis, so many options. Stop limiting yourself San Francisco when there are so many great cities, with awesome opportunities.


I'm currently in Minneapolis, downtown proper. I even own a condo in the middle of downtown. I don't even need a car and buses galore and multiple trains as well as a skyway for bad weather all within a block or less. I have Target, Whole Foods, Trader Joe's and Mall of America at my access. Oh, I'm also making 6 figures already.

That said, doubling my salary a Big-N for a few years and getting experience at a larger tech company is what I'm mostly chasing at the moment. I want the experience, I want to see what it's like for myself. I can just rent out the condo I have now easily, pack a bag of clothes and go.


I'm glad you have at the very least seen live is good outside of Big-N.


I feel for you. If you'd like we can chat offline. You can reach me at mycoweb2000-comm at yahoo dot com.


What do you mean by "I did 250 Leetcode"? You solved 250 problems there?


Yes, I'll update my original comment to clarify.


Geez, that's insane to me. Very exhausting, and probably idk 140 - 180 hours?


Assuming your profile is anonymous, can you tell us what industry you're in and what your offers were paying? Just trying to get a comparison for what myself (and others) can expect.


I've been in several different industries, but what I do in particular is backend software engineering.

I don't feel comfortable saying here, but the Blind app is an excellent resource for finding what total compensation (TC) you can expect for different companies and years of experience (YOE).


I know what tthe leetcode website is, but what is 250 leetcode?


How did you practice System Design questions?


Based on your profile it looks like you have a lot of experience, so I would first rely on your experience.

That said, there are plenty of resources that have been helpful to me:

1) http://highscalability.com/

2) http://shop.oreilly.com/product/0636920032175.do

3) https://github.com/donnemartin/system-design-primer

Hope this helps!


Thanks, you've provided some great insights here - and appreciated those links. Will buy that O'Reilly book!

Mid 40s myself, stayed in one tech stack for too long but have been redeeming myself in the past few years with .net core, AWS, Docker and trying to get into React.

I find myself struggling most with the front end bits, but it's just a question of staying with it.

Have always loved tech, and highly passionate about it. Having a family with a kid on the ASD has really restricted available hours to tinker though, that's my main challenge.

Anyway I found what you and others here wrote quite motivational, so thanks again.


My pleasure!

One thing that I'd like to mention that I didn't before is that the interview process can be taxing, draining, and it can be an emotional roller-coaster. Try to stay positive and keep at it. Good things will come!


Cheers. I'm a FTE presently, but have always got to look forward so whilst no immediate pressure I've learned that there's really no resting on one's laurels.

And yes can confirm that when I had to go through the process, and was less prepared, it was certainly very draining. So spending time learning/staying on top of things in peace time will certainly help during "war". :)

Staying physically healthy, lifting weights etc is another thing that hasn't been raised so far, so would just like to put that in. Can always adjust perception through that, and also it is something we truly need to be doing now that we're getting older. It also helps for mental health.


Sweet, thanks! The part I struggle with in interviews is more on playing the game. If someone asks "how would you build a parking lot?" or "how would you design a CI system for a team of 8 developers?", I struggle to keep it simple. Making something usable is actually way easier when working with someone who has thought about what they want and/or are participating. It's like "I don't want a parking lot, you do, so tell me about why you want one". Basically I want to avoid wasting the "client's" resources until I have more information, but system design interviews are not in initial kick off meetings where you go away and come back with a few ideas that don't suck. They are accepting that someone wants proof you can design a contrived system neither of you truly care about while they out you on the spot.

The part that is missing from nearly all interviews are an opportunity for the company to sell itself to the interviewee. So as the interviewee, I'd like to say that if you make me jump thru some hoops because you feel like I should go through the same hazing process you went thru when interviewing, I am going to think that you are only focused on what I can do for you.

How about this, as an interviewer, say something like... "This design question is gonna suck because I don't know how to ask it better, but if you can just hang in there long enough to help me understand you can think about something non-trivial, that'd be fabulous. We both know you're smart, and I just need to imagine working with you in something complex."


how would you design a CI system for a team of 8 developers?"

My last three jobs I was hired as the “adult supervision” as either an individual contributor who was more equal than others or as an official dev lead. I was specifically asked by the director those types of questions and how would I rewrite a 20 year old PowerBuilder app that had been maintained by two “developers” who had been their for 20 and 13 years.

I went through the training process they would go through, setting up source control, setting up development, QA environments, automated testing, and CI/CD.

Then he was shocked when I said that I wouldn’t rewrite it from the ground up. I would upgrade to a newer version of PowerBuilder that supported COM, concert the whole app to a COM object, put a C#/WebAPI wrapper around it, write some automated integration reads and contract out some front end developers to put a web interface on it.

Then slowly move the PB logic to C# and keep the stored procedures after upgrading to the latest version of sql server.

Finally move the stored procs to code.

All this to say, that’s what’s wrong with some “senior developers”. They’ve spent their entire career at large companies where they haven’t had a chance to work up and down the entire stack. If you spent your entire career “coding” at a large company, you’re not that much more valuable to most companies than someone with 5 years of experience b

At that job we had to hire some overpriced/clueless “AWS consultants” since I didn’t know AWS at the time. Now I could manage that. I still wouldn’t try doing anything on the front end. There are people much better than me.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: