7

I have been working for slightly over 4 years as a Java developer at a small company.

This was my first job after getting my CS degree as some transitioning into the field later in life ( late 30's).

I had been dragging my feet on moving on to get a better job but have been recently trying to make the jump.

I've scored some interviews, one with a FAANG level company, but I think a real weakness in in all these interviews with even "smaller" companies is that they are looking for people who understand distributed systems, and that is not something I am getting in my day job. I am almost certain one of the interviews went down the drain when they started asking questions about how to optimize queries within a distributed system.

These are topics I am not learning at work. This became very clear to me as I needed to prep for a system design interview and most of the basic concepts in interview prep materials are things that are things that we a tripping over at work. A great example is how to share a SQL data base. This idea came up at work and no one (not even department heads with 10+ years of experience) was aware the limitations and considerations even at a surface level.

I'm doing Leet code problems (which is how I pass screening rounds) but I am concerned with how to bridge my distributed systems knowledge from what I am getting at work vs what the market place expects. My worry is the longer I stay here the harder this jump will get.

I have been debating doing some projects with mini cube or other cluster systems in my free time to at least try and get some hands on experience and try and see how well the systems I make perform or fail. I suppose open source would be another possibility but that seems like a substantial time investment.

8
  • "they started asking questions about how to optimize queries within a distributed system." how did you respond to that?
    – Aida Paul
    Commented Mar 17 at 21:09
  • 4
    So why not just say "I don't know"?
    – Aida Paul
    Commented Mar 17 at 21:25
  • 3
    It's fair to say "that isn't an area where I have expertise, but I'd be interested in learning." Might be a better answer than guessing.
    – keshlam
    Commented Mar 18 at 1:19
  • 2
    Nobody expects you to have all the answers (they invited you after looking at your CV, so they clearly saw value in spending time with you), but they probably want to see how you respond, and see if you have a grasp of the general area (and if you know what you don't know, so to speak). It's not really true that companies "hire for attitude" instead of skills, but it is not completely wrong either if there is enough of a foundation to build on. One way or the other, there is no point in overanalyzing reactions in interviews. Commented Mar 20 at 12:31
  • 1
    It's an aside, but 'small shop' vs 'modern job' seems a false dichotomy to me. You could consider going for jobs where the expertise you build over the last 4 years is useful. You should do you, but I think small shops are great.
    – AVee
    Commented Mar 25 at 14:20

3 Answers 3

16

I hired few dozen people in last few years, all technical/tech management positions. Not a single of those candidates was perfect, magical fit that answered all the questions and fit all the boxes. This just doesn't happen, ever, if you think someone is 100% perfect then you are not paying enough attention.

Seeking perfection is asking the wrong question, what recruiters seek is the best option available, same as job seekers don't look for a perfect job, but the best one they can get.

With that prelude, let's answer the real question in your question.

I am almost certain one of the interviews went down the tank when they started asking questions about how to optimize queries within a distributed system.

With clarification from the comment, thank you for that:

I said I would go look at the hibernate logs ( they were talking about a spring-boot server), look at the raw query it generated, run that directly on the data base and try to look for ways to optimize that then propagate those changes back to my HQL query. They kinda just sat there after that.

You likely didn't tank that interview with that answer. You likely did tank it with not simply saying "I don't know" when you didn't know. I won't get into technical side of the wrong here, it doesn't matter; what matters is that you've demonstrated that when you don't know you won't admit it, you won't ask for help, instead you will guess and hope to luck the right answer.

That's not who they want to hire, rightfully. As someone who would rather pretend to look smart, than show the humility to show admit not knowing is dangerous.

What you could've done instead is: "Well, I don't really know, but I will take my best guess", and then ask for feedback, highlighting how you don't know jack about distributed DB issues and now would love to learn now more, how to approach that problem as it fascinates you.

Do you see the difference? It doesn't matter here if your guess is right, or wrong, you've shown all the great traits that many people want to hire: humility, willingness to learn, but still willing to venture into the unknown, but with clear caveat that you are guessing here. No hubris in sight.

Yes, getting familiar with what market wants will help, a lot. But working on your personal and interview skills is as much, if not more, important.

4
  • 2
    Thank you for the feed back its very clear. I'll have to think about how I approach interviews moving forward. Commented Mar 17 at 21:50
  • 2
    This is really a constructive and great reply Commented Mar 19 at 14:35
  • 1
    I was asked in for an interview once and basically the first question was to tell them what I knew about network programming (this was about 35 years ago and I was just out of college). My resume and letter had said nothing about network programming. I said I hadn't studied that specifically in college so I didn't have particular programming knowledge. Maybe they thought that Unix=network expertise? The interviewer was stymied at that point and couldn't think what else to talk with me about. Too bad they had wasted the money flying me out there and paying for a hotel and rental car. Commented Mar 21 at 0:16
  • A few years later I created a DOS TSR to share modems over a Novell network. I wrote my own streaming method on IPX, with send credits and sliding window, and the interrupt service code for the 16550 UART, with its 16 byte buffer. A few years after that I created a multi-threaded and multiprocess database transaction server, using HTTP. So, I could do it, but at the time of the interview honestly said I didn't yet know how. When the company was bought and everyone let go, I ran a small business, then taught programming. Eventually I went back to programming, creating ASP.Net web apps. Commented Mar 22 at 13:15
5

Frame challenge:

You are going to have a tough time jumping from a shop where you are working at small scale on homegrown software to the world-class operations of a global company. You might be more successful moving to a mid-size company where the skills that you already have are valuable, but you can learn additional skills that are bridges to the future. (This is especially true because you are going to be running into age discrimination, though most people know how to hide it behind other things.)

P.S. I suspect that I got my current job in part because I answered a question with "I don't know, but this is how I would look it up."

Added: The original question said, in part:

I've scored some interviews, one with a FAANG level company,

It's not impossible that the FAANG recruiter invited you, an older applicant, to an interview to meet a diversity target with no clear expectation that you are actually suitable for the position. (Source: (1) I strongly believe that at least one of my interviews at a certain large company over a span of years was a diversity pick, as I had already been unsuccessfully considered for that position in the past and was actually applying for a lower position. (2) At another company the recruiting team are specifically directed to ensure that the panel of candidates they select for interviews meets diversity goals.)

2
  • I have to downvote for the purely... speculative and just completely unnecessary edit. Statistically all the times you got rejected it is because the others were better. It's that simple. Grand conspiracy theory may make you feel better, but it's just almost never going to be true.
    – Aida Paul
    Commented Mar 20 at 16:57
  • Around age 40 is 'older'? I thought companies were having trouble finding enough applicants. Don't people tend to learn over time? Commented Mar 21 at 0:41
2

Remember one thing: The job description, namely the requirements, are more of a wish list.

As others said: Don't guess, admit you don't know. There is nothing wrong about that. Be honest.

Big companies depend a lot on teamwork - in fact, I would dare to say it is the most important skill you can have.

So next time don't be afraid to say "I don't know". Add "I would ask my colleagues for help and work with them". If they follow up with question "What if nobody knows or nobody is available", go with "I would look up a course on that and take it", "I would ask my (project manager/manger/lead/...) to help me with finding a resource to help me (in big companies probably an internal one)";

If they are focused on technical solution, talk about profiling or another way of identifying the problematic parts first, then speak about technical details (like indexing, caching, query-optimization, ...). Show you approach problems systematically.

My opinion: The advantage of working for big company is that they usually have experts on everything - if they do not, they probably want one; and that can be you - show the will.

Don't be afraid to ask more questions. Those questions don't have only one solution, they are focused on the way you are thinking, your approach.


My note: What earned me some positive points was when I added a time-frame, like "I will investigate the problem and if I don't make progress after 2-4 hours, I will take a step back (and a short break from the issue); if I don't make progress by end of the day, I will ask for help from the team." Then I added a note about priority (drastically) changing this.

1
  • Humans are good at making wishlists, I guess. And they love talking to people with the same interests. You probably won't be hired for knowing Physics, but for being a Stamp Collector. Commented Mar 22 at 14:21

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .