• 0 Posts
  • 9 Comments
Joined 2 years ago
cake
Cake day: June 18th, 2023

help-circle

  • This is already said, but it cannot be too emphasized: This is not your fault. This is entirely on them. Three months is far too short to evaluate someone even if they were secretly unhappy with your performance. It might be worth talking to an employment lawyer, but likely you’ll have to take this on the chin. In the immortal words of the great Captain Picard: “It is possible to commit no mistakes and still lose. That is not a weakness; that is life.”

    As everyone has said, you can expect to get questions about it, and I would definitely have a prepared, rehearsed statement. Some recruiters and hiring managers make a big deal about these sort of things, some won’t even care. Again: this is not your fault and do not be apologetic about it.

    Five weeks is not a lot of time to get a new software job, even in a hot market. This is the unfortunate reality and I would start making contingency plans. If living in NYC remains a goal, then this is a setback but a far smaller one than it may seem right now. You don’t have a mortgage or a family hanging over your head. Moving back to NYC will be in play, likely sooner than you think.

    Spending time on career development is a good idea. Something with a firm outcome like AWS Solutions Architect is also good. I have the associate certification which I started working on while at Amazon. It hasn’t really done much for me, but I’m not seeking positions where it would hold much weight.


  • Could be. Anonymize your resume and post it on programming.dev’s cscareerquestions or something if you want someone to review it. Assuming you are US based, the market is still cool so you might have to keep treading water or find something that just keeps the lights on for now.

    However, I would never assume things make any sense on the hiring side. There’s a lot of bad recruiters but there are even more bad hiring managers. Years ago as I sat on the other side of the table for the first time for a presentation and Q&A for intern candidates. When I followed up asking if any had been any offers, I was told none of them performed well enough but it was okay because turns out there wasn’t room in the budget for an intern anyway. What a colossal waste of everyone’s time.


  • I’m a similar boat. Diagnosed with ADHD recently but later in life, and it’s likely why I never settled into a single domain. I consider myself a strong software engineer but tend to fall apart in interviews, particularly with unstructured things like being asked to “tell me about yourself.” I am also planning a shift into a management role.

    My main regret in life is spending a lot of time trying to apply advice that seemed reasonable and how Other People did things. Only adopt things that work for you.

    • I highly recommend at least trying stimulants. I inadvertently self medicated with caffeine for years, which might work in a pinch. My secret sauce is frankly 90% Concerta and 10% behavior modification things like carrying a notebook around.

    • I would not mention that you have ADHD to interviewers since you can’t count on anyone to properly understand it. Showing weakness is just blood in the water. Hopefully this won’t be an issue for future generations. Yes, I am extremely bitter about this.

    • Approach this as doing whatever you have to do to get yourself over the finish line, and know that trying harder at a failed strategy never works. Don’t limit yourself to how things are supposed to be done.

    • Security requires a flexible mindset and attracts square pegs. Data centers are where all the real weirdos hang out so devops might be worth considering. I’m confident most scientists I’ve worked with have ADHD, and prototype R&D work is definitely more ADHD friendly.

    • Insist on knowing the structure and expectations of each round of an interview. I pitch this as “I need to know how I’m being evaluated so I can properly prepare and demonstrate my abilities.”

    • I’ll be honest: the interview process is mostly nonsense and should be treated as such. Anything that puts a thumb on the scale in your favor is fair game, short of unethical behavior like lying. Telling people what they want to hear is a great way to counter dumb questions.

    • I’ve built up an Obsidian ‘database’ of bullets to help during interviews, including a prepared statement of why I have it and need to have it available.

      • “Tell me about yourself”, “what type of role are you looking for”, “why do you want to shift into management” open ended questions. The key thing is respond in a coherent, organized way without showing any negativity or weakness. Yes this is ridiculous, but it’s how it is.

        • Turn your generalist background into the strength it is. I use: software engineering is a problem solving role, everything else is a means to that end. Solving problems is what I do; I’ve done so in a wide range of fields and domains and always drive them to completion. What I’m looking for is a great team to join, which is independent of industry or tech stack.
      • “Tell me about a time” behavior questions. I like the STAR format. I do well on these but need an outline to work with. Make sure it’s polished into a coherent narrative. Put an emphasis on what you did, but also how you enabled your team. Numerical data points are great if you have them

        • If the company posts their values or principles then that’s likely want they want to see out of these. Match your scenarios to the values beforehand. The idea is previous behaviors indicate future ones.
      • System design questions. I have my own checklist of questions I go through since I don’t like the popular format. I expect this is where you shine, maybe just need a bit of scaffolding to help organize your thoughts.

      • Leetcode programming tests. Like it or not, it’s part of the game.

    • If you are serious about going into management, you’ll need a prepared philosophy of how you see the role and will approach it.

      • This is also a great question to ask hiring managers. The best indicator of what the job will actually be like and you can’t wiggle out without raising red flags.
      • The two books I like are The Manager’s Path by Camille Fournier and the classic First, Break All the Rules by the Gallop folks. Again, not all advice is good so only take away what you think will work for you. Worth reading if only to understand what you should expect out of a manager.
      • Do not make the mistake of feeling like you need to go into a people management position. Shifting into project management is perfectly fine. Topping out at a senior or staff software engineer role is also perfectly fine. Frankly, topping out at a mid level engineer is fine, just watch out for ageism.
    • I also have check lists for all sorts of random things. Even dumb things like how to respond to a question I didn’t prepare for: repeat the question, write it down, jot down what I think they want to hear, write down points, and give them an order.



  • I see them as a flawed indicator of the ceiling of someone’s theoretical computer science abilities. Having worked with some brilliant people that career shifted via bootcamps, I will contend there’s value in having that foundation. I also prefer Leetcode problems over having to memorize search algorithms. But yeah, it’s not very reflective of day to day tasks even in R&D heavy projects. The most algorithm heavy thing I’ve ever done was implement Ramer–Douglas–Peucker to convert points from mouse polling into a simplified line.

    (There’s clearly a “it’s what everyone else is doing” aspect to Leetcode, on top of being very practical to run, hence I why don’t see them going anywhere. They’re also as objective as anything in an interview will ever be, so as I always say: it can be so much worse.)

    I intend to make the hacker “dive into an icky codebase armed with a stack trace and fix a bug” aspect of software development a part of my interview process; plus lean more heavily on system design questions which is where non-entry level engineers really ought to shine. The parts that worry me are the ability to create new tests as they inevitably leak, plus whether I can truly objectively evaluate someone’s performance.

    I’m curious what you include and how well it works.


  • Yeah, they kinda suck and they are brutal to go into cold. Having to grind a bunch of leetcode problems is a burden, particularly if you currently have a job and god forbid a family.

    I would still take them over the puzzle questions that used to be popular, or the personality test nonsense that dominates most fields. At least Leetcode problems are reasonably reflective of programming skill. I’ll also take them over vague open ended questions - ain’t nothing more fun than trying to ramble my way into whatever answer the interviewer is secretly looking for.

    Personally, when the day comes when I’m In Charge, I plan on experimenting with more day to day type evaluations. I think there’s potential for things like performing a mock code review or having someone plan out a sprint based on a very detailed design document. “Here’s an icky piece of code, tell me what it does and what you would do to improve it” seems to have fallen out of style, though it’s not clear to me why.

    That said, like it or not it’s how the game is played and not changing anytime soon. Get on the Grind75 train, or don’t and keep failing tech screens.


  • I’m extremely open to tech stacks and specific industries, though I would die happy if I never had to touch another line of TCL. Go to hell TCL, and take your upvar nonsense with you.

    I’m currently between jobs and planning a career shift into a software engineer manager role, so I have been thinking about this quite a bit. A job I would leave - which is really leaving a manager/team, not a company - would rate poorly on these, which I’m polishing into a new “what type of position are you looking for?” answer:

    • A team that works cooperatively, as we accomplish more together than in competition. Everyone should strive to be world class at their roles, as being around that is critical for learning from each other.
    • An environment where clear and open communication is encouraged, including whatever anyone is struggling with.
    • Work that takes on difficult problems and strives to work through them with the highest standards.
    • A position that enables me to grow down my desired career path, which as of this writing means reporting to a software manager who is willing to delegate project management tasks and eventually people management as well.

    Something I wouldn’t reveal during an interview, though critically important, is a work environment that I can arrange such that it best enables me, and not be boxed in by someone else’s conceived ideas of how software engineers should act or work. I’ve felt like a square peg in a round hole my entire life. Turns out it’s a concrete objective fact (ADHD). I am so goddamn tired of feeling bad or apologizing for things that are actually just the scaffolding that I need to survive.


  • I think you are broadly correct in that we can’t snap our fingers and simply change the amount of money flowing back to the coffee bean growers. However, I’m highly skeptical there’s any inherent reason why markets should spread the profits this unevenly. If no one was growing coffee beans there wouldn’t be any coffee shops either.

    The questions you should be thinking about is why are the profits so unevenly distributed? Market forces, of course, but how much are these forces inherent or created? If they were created, what caused it to be the way it is? Would a system born out of powerful countries trying to advance their own interests (cheaper materials) and willing to exploit power imbalances to do so be an explanation?