AI (ChatGPT and Many Others) Has Ruined My Chances of Passing Technical Interviews as Software Engineers

To give a little bit of context, I'm a senior software engineer with 8+ years of experience and have worked at four different companies. I have to admit that I'm not a genius developer, but I always get the job done and have consistently received great performance reviews throughout my career. I've been looking for a new role since early this year because I haven't had a pay rise in the past two years, and some of my colleagues who have been working here for many years have confirmed that there is no career progression in this company.

I'd say it's not difficult for me to land an interview; about 70% of the resumes I send out result in an invitation for a technical interview. However, I have noticed that all the jobs I've landed so far were through take-home assignment tests. There are some live interviews focused on concepts and system design, but they never involve coding tests or problem solving questions. There are a couple of reasons why I don't do well in live coding interviews:

  1. I'm the type of person who can only focus and think when I'm by myself. I never do pair programming, and if my colleagues ask me questions that require analysis, I always tell them that I will get back to them once I've found the solution.

  2. I don't remember most programming syntax if I need to write code from scratch. Throughout my career, I have always used tools, do lots of Googling and tend to copy/paste a lot from existing solutions, then improve from there.

  3. I experience high anxiety when I'm put on the spot, which brings me back to point 1.

Now here's the problem: with ChatGPT and many other AI tools on the rise, I don't see any companies offering take-home assignments anymore. It kind of makes sense since all the take-home assignment tests I did could probably be done in minutes with ChatGPT.

I really flunk all of my live coding interviews because I basically go blank whenever I'm asked to code on the spot. I don't think I'm capable of passing interviews even for mid-level positions at this point. I think I'm not the only one, and I'm wondering what people in similar situations do to land a job nowadays.

Another note: I know that FAANG and most other tech companies test heavily on LeetCode problems and always ask further questions to evaluate your problem solving skills. I have given up on applying to these types of companies since my first role. I'm just aiming to progress my career and salary at whatever company I can land a job with.

Comments

  • +5

    When I worked for a marketing agency as the Tech Director, overseeing all web development and technical aspects of the business, we had a unique approach to evaluating potential hires. We administered a 3-hour development test, scheduling it at a convenient time for the candidate, even during evenings or weekends. The task involved completing a WordPress design project with specific criteria within the 3-hour window. This test wasn't a strict pass or fail but rather a way to gauge their skills and what they could achieve under time constraints.

    The results were telling; some candidates clearly lacked the necessary skills, while others demonstrated a strong aptitude and effort. We hired those who showed a good understanding and capability, even if they didn't produce a perfect result.

    I went through the same test myself and secured the job. Looking back, I'm quite surprised at my approach. I didn't use Bootstrap (I wasn't familiar with it at the time) and instead did everything manually without any coding libraries. Today, I would approach the test very differently with the knowledge and tools I've since acquired.

    If you're concerned about the capabilities of AI like ChatGPT, look out for Devin. It can, for instance, create WordPress plugins with impressive ease. This could put developers out of a job for sure. 1 person could just use Devin and act like 2 to 3 DEVs.

    I completely agree that performing a code test on the spot can be challenging, and I failed those types of tests myself. However, demonstrating a portfolio can be incredibly helpful. Having something on GitHub or a similar platform that you can include on your resume is invaluable. This is the approach I use in my current role, where all our workers are remote, both onshore and offshore.

    However, you can also frame it as leveraging AI tools to enhance your work efficiency and code quality. In my view, it's essential to have the coding/development knowledge and understanding to effectively utilize AI with the write commands. In addition, you need the knowledge on how to implement it and use any functions it might give you.

    For instance, I used ChatGPT to optimize a piece of code I wrote from scratch, reducing it from 210 lines to 113. This optimization made the code run more efficiently plus I learnt how I could maybe change my code in the future.

    Yes, I use ChatGPT to help me phrase the above better, because why not

    • Did you watch that Devin video? I didn't either. But the comments indicate it took several hours and failed. Devin's devs also sort of faked their results. But yes, what you say could be a possibility in the future.

      • Did you watch that Devin video? I didn't either. But the comments indicate it took several hours and failed.

        Yes I did, whilst it wasn't perfect just in the demo and did take 2 ish hours to make, it worked. I trialed it on a scenrio for my current role and it did a good job in about an hour. It did things in a different way than I would've, but it would effecient and something I had not considered during my through process. Just the cost of OpenAI API was a bit, it was like $5 for the hour, so it could add up cost wise.

        Devin's devs also sort of faked their results(linkedin.com). But yes, what you say could be a possibility in the future.

        I think it all comes down to the prompts. If you give it good prompts then it can do the work, plus, you kinda need to have the developer mindset to know what prompt to give it. No Admin Office lady would be able to use Devin to help her update the company website or add new functionality.

    • So much drama in the WordPress plugin world 😔

  • +3

    Someone put this problem into ChatGPT and see what the solution is.

    • Sure! Here you go:

      —————————————————————————————————————————

      It's understandable that live coding interviews can be challenging, especially if you're not comfortable coding under pressure. Here are some strategies you can adopt to improve your performance in live coding interviews and increase your chances of landing a new role:

      1. Practice Under Realistic Conditions
      • Simulate Interview Conditions: Use platforms like Pramp, Interviewing.io, or LeetCode's interview simulator to practice coding problems with a live interviewer. This can help you get accustomed to the pressure of live coding interviews.
      • Mock Interviews: Arrange mock interviews with friends, colleagues, or mentors who can give you feedback and help you improve.
      2. Enhance Problem-Solving Skills
      • Structured Learning: Follow structured courses on platforms like Coursera, Udemy, or Pluralsight focused on data structures and algorithms. These can provide a solid foundation and improve your confidence.
      • Regular Practice: Dedicate time each day to solving coding problems on LeetCode, HackerRank, or CodeSignal. Start with easy problems and gradually move to harder ones.
      3. Develop a Problem-Solving Framework
      • Clarify the Problem: Always start by clarifying the problem statement and understanding the requirements. Ask questions if needed.
      • Plan Before Coding: Take a few minutes to plan your approach and outline the steps before you start coding. This can help reduce anxiety and make the coding process smoother.
      • Think Aloud: Practice thinking aloud while coding. This demonstrates your thought process to the interviewer and can also help you stay focused.
      4. Improve Syntax Familiarity
      • Frequent Coding: Write code regularly without relying on tools or Google. This can help you become more familiar with the syntax of your preferred programming language.
      • Language-Specific Practice: Focus on coding problems in the language you are most comfortable with, and make sure you know the common libraries and functions.
      5. Manage Anxiety
      • Relaxation Techniques: Practice relaxation techniques like deep breathing, meditation, or mindfulness to manage anxiety before and during interviews.
      • Positive Visualization: Visualize yourself succeeding in the interview to build confidence and reduce stress.
      6. Focus on Your Strengths
      • Showcase Your Experience: Highlight your extensive experience and successful projects during interviews. Emphasize your ability to get the job done and your consistent performance reviews.
      • Discuss Past Work: Be prepared to discuss your past work, the challenges you faced, and how you overcame them. This can demonstrate your problem-solving skills and experience effectively.
      7. Leverage Networking
      • Professional Network: Use your professional network to find job opportunities. Referrals from colleagues or friends can sometimes bypass the need for rigorous technical interviews.
      • Industry Events: Attend industry events, meetups, and conferences to connect with potential employers and learn about job openings.
      8. Target Companies with Aligning Interview Processes
      • Research Companies: Look for companies that align their interview processes with your strengths. Some companies may still use take-home assignments or focus more on project-based assessments.
      • Smaller Companies: Smaller or mid-sized companies might have less rigorous interview processes compared to large tech firms.
      9. Prepare for Behavioral Interviews
      • STAR Method: Use the STAR (Situation, Task, Action, Result) method to prepare for behavioral interview questions. This can help you clearly articulate your past experiences and achievements.
      10. Seek Feedback
      • Post-Interview Feedback: Ask for feedback after interviews to understand where you need to improve. Use this feedback to guide your preparation.

      By incorporating these strategies, you can gradually build your confidence and improve your performance in live coding interviews. Remember, persistence and consistent practice are key to overcoming these challenges.

      —————————————————————————————————————————
  • +5

    Hiding our own inabilities/shortcomings and blaming it on chatgpt is new trend….

    basically you want to give coding exam sitting alone without pressure , scanning thru stack overflow and google and chatgpt?

    • +7

      Not to be glib, but what do you think the 10x coders are doing to get high performance? I don’t mind if my cabinet maker uses a router instead of doing everything with a chisel, why would I mind if a dev saves time by using resources?

      • +1

        Absolutely. There's so much to know (and moreso every day) that it's only reasonable to expect to use such resources. That's what they are, resources, not a replacement for solid fundamentals. A router can help do a good or bad job, it's still up to the operator.

      • I have no problem using resources. But if you want to do exam sitting in your own corner without anyone watching you then what's point of exam or interview.

        Why doesn't AWS, Microsoft allow certification exam to be done without Procter …..

        And blaming chatgpt is just ridiculous to me. Ill be out of job 1 week down the line but I won't blame chatgpt instead I use it to build my skills…

        There are huge competition in market so it's struggle and companies will search for best candidate by testing and examining them as much as possible.

        • I've never had issue with taking exams. I've done AWS certification with no issue. Taking exams is completely different than interview in my opinion. I'm still able to think on my own without any interruption during exam.

          I'm not trying to be a victim but I'd like to get some opinion of others who are similar like me on how they are preparing for interviews. Also I'm not in a rush to find a job, as I still have a stable job at the moment. I'm just wanting to further progress my career.

  • +6

    Don't blame ChatGPD for "ruining" your career. Take hold of your agency and do something about your situation.

    Solving interview questions is a skill that you develop. Get onto LeetCode and keep practicing every day until you get better at it. When you are solving Medium difficulty questions with ease, you are ready to interview. Good luck.

  • +5

    Tell the company up front that you struggle in X scenario. If you're going to fail anyway, you might as well try and see if they will change their interview technique to assist someone who suffers from anxiety. At the end of the day, they should want the best candidate, not the best person at a certain type of interview.

  • -5

    do lots of Googling and tend to copy/paste a lot from existing solutions

    Lol… That would be like me, as a mechanic, getting a customers car in… running it down town and getting another mechanic to fix it, then just checking the torque on all the bolts when I get it back.

    • +2

      Sorry, not even close. It's more like you getting service manuals or watching instructional videos.

    • +3

      I've got bad news about every piece of software written in the last 20 years then.

      • 've got bad news about every piece of software written in the last 20 years then.

        You mean all of that software that needs continual patches and updates because they got it nowhere near ready for use before they released it?
        Software development has become so rushed and deadline driven that it's totally acceptable to release knowing the first patches are already being worked on.

        • I don’t know much about software scheduling before the 1990s, but for the last 30 years at least it has been extremely ’death march’.
          I am prepared to believe there was a period in the late 80s, early 90s where boxed software on the shelves made updates more predictable, but I am positive the deadline to get the program off to the disk duplicator/packaging people was just as tight.
          We might like the idea of carefully crafted, ship when ready software, but apart from a few open source or vanity projects, it doesn’t happen (which is not to say it shouldn’t).

          But I don’t think picking sample CP/M scripts from Dr Dobbs Journal, or a SAMS learn Perl in 24 hours book is functionally that different from Stackoverflow, or probably ChatGPT (though I reserve judgement on whether ChatGPT ends up being a positive).

  • +3

    Improve your interview skills

  • It's pretty hard to get rid of a bad hire, so the interview process tends to minimise the possibility of one at the cost of potentially missing out of talent that aren't up to scratch on the current interview practices.

    Something I came across recently: http://steve-yegge.blogspot.com/2008/03/get-that-job-at-goog…

    I'm probably not unlike OP. I'm no good at whiteboarding or expressing my thinking process in an interview setting. But it's really just a skill like anything else. Practice it by yourself. Practice it to a rubber duck. Practice it to a friend.

    The blog above is ancient but it's a good reference point to the skills and knowledge you need. Technology and frameworks have moved on but the core skills aren't really different.

    I'm mentally gearing up to study for a side jump from consulting into a tech job and I'll have to prepare similarly to what the blog is suggesting.

    Final personal note: I was a quiet shy back end guy for my first job. Until I was forced to make sales pitches to very senior people. It didn't take long until I was speaking confidently to C-suite. Just practice.

  • +3

    with 8+ years of experience

    8+ years of Googling and Stack Overflow forum scrolling experience you mean.

    • daymnnnnnnn

    • Sure, you could say that, and that's how I progress my career

  • +1

    First, there are other ways to land a job, like words of mouth and personal references.
    Second, there are other ways to showcase your skills, for example having a portfolio of open source projects, either personal or otherwise.
    Third, if you really want to, I am sure you can practice a lot to be able to perform well in the live coding interview, and find a solution to the anxiety issue.

  • -2

    I'm not sure why you worried about ChatGPT, before that there was Google. I don't see any issues with take-home assignments. Questions they usually ask; how did you come to the solution and why did you pick that solution, they don't care if you use ChatGPT or Google.

    • I spoke to a potential employer once and they said their take-home assignment/test was found on StackOverflow.

      I'm not sure why you worried about ChatGPT

      Because it actually can do the code for you. Yes, there has been Google for a long time, but you had to find a solution that someone else had written and either use it or modify it. ChatGPT can make it, modify it and give you a solution in no time at all. ChatGPT is powerful and can solve a problem without you knowing the answer. So it can kinda falsify your knowledge and experience.

      • Okie, then create a server app and client web app, in java with the following frameworks angular/spring mvc; which can validate a CC number (validation must be done in sever app), and use eclipse to create as a git project. The client-server transaction must be encrypted. Since you using ChatGPT, I give you 6 hours to do it so, challenge accepted?
        I had 24 hours to do this, in my case I did use Google. And then they ask questions regards your solution during the interview.

        • ChatGPT gave in instructions with code in a few mins and whilst basic, it would probably work. If it didn't, back to ChatGPT with some debugging further questions.

          24 hours doing it manually, sure, use Google. But ChatGPT could help you do it quicker. 6 hours probably isn't a bad timeframe and would possibly be achievable. Do I have 6 hours to try it, no.

          I am not saying ChatGPT will do the whole lot without you having to put in some effort, but sure as hell make it efficient and probably quicker. It would solve reading Google and StackOverflow threads and trying to debug other peoples responses.

          • @geekcohen: What I'm trying to say is that you need a bit more skill than ChatGPT to do actual coding for a problem, and the post-interview question regards your solution usually screws things up.

            Coding isn't like writing a 2000-word essay. I have seen people go WOW for ChatGPT when it's coming up with solutions for small coding functions, but that is just a small piece of the puzzle.

            Just wondering if OP can solve the above even with ChatGPT/Google within a day, that's a typical take-home question for a developer with 5y experience in the private sector these days.

      • +1

        Totally agree with your statement, which is why I said that it makes sense for most companies not wanting to do take home assignment anymore as people would just cheat using ChatGPT or other AI tools.

  • +2

    re points
    1.
    - we dont do pair programming, but complicated codebases do require a level of cooperation, and "getting back to them once you found the solution" isnt always appropriate. People want to discuss and be heard, sometimes you're just 'the rubber duck' and solving it for them is not always what they require. You have to consider the way they work so that you can best help them. Esp when you get to doing a lot of mentoring.

    1. This is not good. yes we all use google/bing/ai on ocassion, but in general, whatever is in the autocomplete of the IDE is and should be enough, esp after 8yrs of xp. a software dev is a creator type job. You cant always copy paste.

    2. Complex codebases, will require you to fight for your pov (if it is your belief it is good), you have to discuss , you have to argue (politely) and you have to know when to back down - politely also. If you want to excel, you have to take ownership of what you do and be responsible, and yes, you will be in the spot.

    took me MANY interviews to practice and fail enough to actually be able to pass them.
    prior to my last job, i failed 3x interviews at the "lets have a chat to the boss/team and see"

    • Tbh I've never had any issue with not wanting to do pair programming. All codes are still going for reviews before going into any environment by multiple developers. If there's an improvement or suggestion can be made, then a discussion might be necessary which I love to do as well. I'm just not the type of person who you could ask on the spot then expect to come with a solution straight away, if they want a discussion regarding the problem then sure but I will always need time(even a couple of minutes) by myself to focus and think.

  • Thats pretty interesting because I also use Google/ChatGPT for all of my programming needs but I would never consider myself employable as a programmer because my skills are in figuring out other people's code and making it my own, not making something new and innovative.

    Either way if you aren't able to present yourself in a way that differentiates yourself from google/ChatGPT, it might be time to find a new career as AI is already starting to cut jobs in that area.

    • I don't think you understand my struggle. I've only used ChatGPT and other AI tools since last year, so most of my career I only have Google and stackoverflow to help me. I personally think AI is just another tools that most engineers need to dive deep into in the next couple of years, just like how AWS, Azure, or GCP was said to replace devops but in the end its just another tools for them.

      My struggle is that because of AI, no companies are willing to do take home technical test anymore. They only do live interviews either in person or online to make sure people not cheat using AI. I won't even be surprised once AI tools has evolved further I think most interviews will only be done in person to make sure people don't cheat. Now even if I change career, the same problem will still exist.

Login or Join to leave a comment