×
all 143 comments

[–]art-solopov 226 points227 points  (20 children)

I would totally be passive aggressive and send them solution in Python.

After all, we all must be flexible on tools...

[–]armahillo 38 points39 points  (0 children)

rewrite their PHP test app in rails just to flex 😅

[–]vincentlinden 21 points22 points  (1 child)

Haskell. Make them work for it.

[–]art-solopov 2 points3 points  (0 children)

I was pondering OCaml (I did poke around it a little) but I’m not sure I can spin a web app in 4 hours. 😂

[–]jurajmasar -2 points-1 points  (16 children)

Hey Reddit 👋

I’m Juraj, Co-Founder & CEO of Better Stack — I designed this interview process so let me share why I think a PHP project is a good idea when interviewing for a full-stack position where you work mostly in Rails.

First, please understand how we operate.

We’re a small group of full-stack engineers. By ‘full-stack’ I mean that our engineers build products from the ground up end-to-end. There’s no artificial boundary between ‘backend engineers’ and ‘frontend engineers’, ‘database engineers’, and ‘SREs’, etc.

This means we move very fast. There are almost no meetings. No ‘sprint planning sessions’. No brainstorming. No need to ask for a permission from a different team to agree on a common API before you start implementing. You can get to flow, play your favorite music, write code and deploy the feature the same day.

We typically work with very senior people, many ex CTOs and VPs of Engineering. The idea is to have tiny teams of super experienced people.

If you love hacking on side-projects and writing software, you’d typically like it here.

Now, why do we ask you to implement a feature into a terrible PHP code from 10 years as a part of our interviews?

Multiple reasons.

A) To test your pain threshold.

Is 4 hours of PHP too painful? Then it’s probably better if you don’t continue in the interview process as you probably wouldn’t enjoy working here.

If 4 hours of PHP is too painful, you’d resign from the job the moment I’d ask you to implement a Terraform provider; or a data transformation function in VRL; or a wasm-compiled function in AssemblyScript or debug a conntrack issue at 3am during a downtime.

I had a Rails engineer refusing to write a Dockerfile, “because it’s some else’s job to deploy the code”. That approach unfortunately doesn’t work with us. And if you do only want to write JavaScript and touch no other technology, that’s ok! Please just find a different company that works like that.

B) I consider PHP + JavaScript general knowledge.

One half of our engineers didn’t work with Rails before starting at Better Stack.

We don’t screen for Rails. We don’t screen for any single technology, in fact. We screen for general knowledge about developing software. The best engineers can pick up any reasonable technology quickly.

I want to work with you if you’re able to implement the test project and deploy it in an afternoon even with a technology you never worked with.

Great engineers who never worked with PHP successfully did this years ago. These days it’s even easier since we have Claude, Cursor, GPT o1.

C) Can you write software without modern frameworks?

Do you understand how stuff works under the hood? The task itself is so simple yet so many people mess up very basic things. I obviously can’t share our evaluation check list, but I can tell you that 50% of submitted projects are vulnerable to XSS, for example.

Do you blindly rely on the latest frameworks, hosted databases and PaaS to build your applications; do you rely on your teammates to catch your mistakes in a PR review and a different team of SREs to deploy your code to production? Or do you truly understand how things work under the hood? Are you going to actually test the page’s mobile responsiveness when you implement a UI? Would you implement the very basic best practices of UI usability or you don’t care about usability at all as long as the data gets saved in the database?

D) We test your personality.

Startups are typically a high-pressure environment.

How will you act if you disagree with me/your colleagues? We treasure the atmosphere at the company. We don’t work with brilliant jerks.

Some candidates simply politely reply: “Would it be ok if I implement it in Rails and Tailwind from scratch instead?” We say ‘Sure!’ and if the project is good we extend them an offer.

Some people start attacking us with aggressive responses. That’s a self-selection.

E) When do you consider the project being ‘done’?

What does production-ready mean to you? Some folks never shipped a production software on their own.

There’s no other person checking your work at Better Stack before it goes live. You can design, develop and deploy to production on your own. Will you ship good stuff or half-baked products? Will you ship secure features or introduce a security vulnerability?

The project is intentionally vaguely defined so that we see what you consider being ‘done’.

F) This is a paid project.

I don’t expect you to work for free. We kindly ask you to name your rate and issue us an invoice and we pay what you ask for even when we reject you. That sounds fair to me.

A good interview process is a glimpse into what the actual work is like. Interview process is not supposed to be pleasurable to all candidates.

So if you don’t like the process, the tasks or the interviewers — that’s alright! I want to sincerely thank you for investing your time into the process and giving it a shot, but it’d be better if you worked somewhere else. That’s what a good interview process does.

We do our best to be nice. To run a fast process. To explain why we do things the way we do them. To pay you for the assignment we ask you to implement at home. In F2F, if you don’t know an answer to a question we aim to educate and explain. We always ask for feedback.

And we do make many mistakes along the way, too — the company is growing fast and “when you chop wood, splinters fly.” So I apologize if you interviewed with us and had a bad experience.

Interviews are an approximation game: we try to guess if you’d enjoy working with us in a very limited amount of time.

I can’t win a popular vote here as we give offers to <1% of candidates. But I’m always delighted when a rejected candidate replies to our feedback email saying they learned a lot during the process and/or re-apply after a year.

The truth is that many software engineers would probably never enjoy working at a startup. Big tech and a fast growing startup is a very different environment. And that’s completely ok! Everyone is not meant to be working at startups. But self-awareness is key.

I wrote more about how we work here: https://betterstack.com/careers/engineering

Thanks for reading and all the best!

Juraj

P.S. Use Better Stack for your next project!

[–]art-solopov 16 points17 points  (0 children)

To summarize:

🚩🚩🚩🚩🚩$

P. S. I feel like I could've written entire paragraphs on this... post. I wanted to but honestly, right now, I have neither time nor energy for it.

I hope you compensate your employees well at least.

And if I were considering your company for employment, I'd take nothing but hard hard cash, because to me it looks like your stock has about 75% chance of becoming worthless in a couple years.

[–]Obvious-Jacket-3770 16 points17 points  (0 children)

Because of this post... I will never allow betterstack to be used in any org I am ever in.

[–][deleted] 13 points14 points  (0 children)

cringe take, take the L brother

[–][deleted] 5 points6 points  (0 children)

Why advertise for the position as Ruby in the first place? Advertise for polyglot engineers with the salary to match.

Also I will never recommend Better Stack to anyone I know now either. Good work.

[–]wbsgrepit 8 points9 points  (0 children)

Yeah, there is not enough lipstick for that pig. Sorry bud. That interview process and reasoning is a hard nope from me. It is also such a bad take it has converted be from a neutral to slightly positive view of better stack to a fairly negative one.

[–]billy_nelson 5 points6 points  (0 children)

I was trying to leave some constructive feedback, but I don't know where to begin, to be honest. Sometimes success just makes you think you're right.

[–]HootenannyNinja 2 points3 points  (1 child)

How is this not a r/LinkedInLunatics top post.

[–]sneakpeekbot 0 points1 point  (0 children)

Here's a sneak peek of /r/LinkedInLunatics using the top posts of the year!

#1: Taking new clients today! | 269 comments
#2: I think I'm done with Linkedin | 688 comments
#3: Peak satire linkedin needs more of | 96 comments


I'm a bot, beep boop | Downvote to remove | Contact | Info | Opt-out | GitHub

[–]tarellel 9 points10 points  (0 children)

This is one of the sleeziest explanations I have ever read.

You have Ruby/rails developers applying for these positions and you’re treating them like fools because of your moronic ideology on a developer. Obviously being a developer requires a broad set of skills and knowledge. But an interview is already stressful enough, (especially in the current environment and this compounds the stress so much more) and really makes you look like a fool.

If you want a polygot developer just say it and quit making applicants stress their balls off and feel like fools. Because obviously the only people who stick around after shit like this is someone who’s absolutely desperate for a job and willing to put up with this kind of treatment.

[–]killabeezio 4 points5 points  (0 children)

Ooooooooohhhhh fuck off already. I'm an SRE and I will definitely stay away from your product. I've looked at your product before and it looked promising for some upcoming projects, but no thanks. If you think treating people like this is ok, then youre fucked up in the head. This type of stuff makes me so angry.

[–][deleted] 1 point2 points  (0 children)

I'm sorry to say that ...

By ‘full-stack’ I mean that our engineers build products from the ground up end-to-end. There’s no artificial boundary between ‘backend engineers’ and ‘frontend engineers’, ‘database engineers’, and ‘SREs’, etc.

+

There’s no other person checking your work at Better Stack before it goes live. You can design, develop and deploy to production on your own. Will you ship good stuff or half-baked products? Will you ship secure features or introduce a security vulnerability?

... sounds to me like insanity. Isn't this just a machine for creating technical debt?

[–]halfercode 1 point2 points  (1 child)

I am rather late to this post. This is a superb and thoughtful answer, and I am surprised to see the level of vitriol it has stirred up. Interviewing for polyglots is pretty normal in tech companies, and I'd have thought folks in this sub would know that, even if they don't personally agree with it.

What did I miss?

[–]twocafelatte 1 point2 points  (0 children)

Yea I was wondering the same thing. But I noticed there's some good feedback here underneath the negativity actually.

> Why advertise for the position as Ruby in the first place? Advertise for polyglot engineers with the salary to match.

The feedback here is basically: calling someone a full-stack developer is a bit vague as it could only mean front-end and back-end. So be more clear and ask for a polyglot engineer.

> sounds to me like insanity. Isn't this just a machine for creating technical debt?

To some the way of working simply sounds unbelievable. Having worked both at corporates and startups and having seen engineers that think like the quote above (very good engineers actually), it makes sense that most people don't believe this to be possible. In practice, they'd be right, it generally isn't. But I wonder if they know the culture and environment BetterStack portrays to have (I don't know them either, hence "portrays"). If working like this is possible then I wouldn't be surprised that it is possible at BetterStack.

> But an interview is already stressful enough, (especially in the current environment and this compounds the stress so much more) 

This feedback is basically that putting people on the spot with technologies is too stressful. That might be intentional. If it isn't, they could consider reducing it by mentioning that the interview process is in part about being able to work with technologies you've never worked with before.

> But will write only one thing, nobody paid me anything for that project so please either you don’t know what is happening on your interview process or you are just plainly lying.

And this is also feedback. Sure, we're all on here on Reddit so what's true? But assuming it's true, that's strong feedback. Could've been a slip up, could've been intentional, could also be a Redditor saying stuff.

Honestly though, this beats Miro. That take home project took me a week, unpaid. Or what about the endless weeks of leetcode that I had to do for big tech? I don't know man, this interview doesn't seem to bad. My current data analyst position also gave me a 4 hour project unpaid. I was never a data analyst before, so I didn't even know what tools they used, I just randomly grabbed Jupyter/Python/pandas 😅😂

But yea, I'm biased. I'm raised programming language agnostic at my uni (programmed in x86-64, C, Python, JS and Java) and am starkly on the other side of this. All jobs I did, I learned the language as I wasn't experienced in it. I still don't fully get why you need to be an expert at something when you know software engineering. In the cases where I do get it (1) certain bugs happen in a particular language and (2) when you switch programming paradigms (e.g. you go from Java to Haskell).

[–][deleted] 2 points3 points  (1 child)

I want to write so many things about this. The fact that you consider JQuery not a framework speaks a lot as well

But will write only one thing, nobody paid me anything for that project so please either you don’t know what is happening on your interview process or you are just plainly lying.

[–]LikeDislike 2 points3 points  (0 children)

jquery is not a framework; it's basically a wrapper over `querySelector` with extra crap.

[–]broisatse[S] 94 points95 points  (6 children)

Worth adding, the Company isn't using either PHP, nor jQuery and Bootstrap. It's a relatively well known SaaS company, running on ruby.

[–]dagbrown 82 points83 points  (1 child)

They’re totally running a bunch of PHP shit. They’ve already lied to you once, what makes you think they’re not lying to you again?

I mean, if you really want to work with them, you should probably brush up on your Perl because I guarantee you there’s an unreasonable amount of that floating around the back-end too.

[–]boutrosboutrosgnarly 33 points34 points  (1 child)

This is not a group of smart people and they are trying to find more people with a great cultural fit to join them.

[–]wepudsax 6 points7 points  (0 children)

“Great culture fit” === “pushover desperate bootlickers”

[–][deleted]  (4 children)

[deleted]

    [–]broisatse[S] 29 points30 points  (3 children)

    It's an employer market, monkey has to dance. I've already cut my rate by 35%, there are like 3 companies offering the salary i won't bancrupt on...

    [–]Dangerous_Repair_404 1 point2 points  (0 children)

    u/broisatse Btw, how much are they offering if you don't mind sharing? I wonder whether they offer at least a market price... (and US market or EU market or Eastern Europe market ;))

    [–]imajes -2 points-1 points  (1 child)

    Gotta ask, where are looking for rails gigs? I’m not seeing much of any.

    [–]anykeyh 30 points31 points  (4 children)

    Complete reverse of how I deal with candidate. I look for ruby dev but is willing to take python or php developers and teach them. So I use a platform where I have multiple test set so I can give the test set the most comfortable for the candidate.

    [–]salamisam 10 points11 points  (2 children)

    Ruby is a easy to pick up if you have a foundation in other languages. We used to do the same thing with dev hiring, here are 5 questions that are thinking questions, you can solve them in any language. Then just upskill them on Ruby. Most of Ruby and Rails is pretty much baked in, meaning that you don't need to think too much about the environment, going the other way is a little more difficult say Ruby to JS with the multitude of frameworks.

    [–]otishotpie 0 points1 point  (1 child)

    I’m not sure I agree that ruby is easy to pick up coming from another language. Picking up dynamic typing, metaprogramming, and having everything be globally available can be a pretty daunting shift coming from a different programming paradigm.

    On top of picking up the language, most Ruby jobs also require learning Rails and RSpec. The RSpec DSL alone is complex enough to essentially be asking a dev to pick up a new language in addition to learning Ruby.

    TLDR; I agree that in the long term it’s probably easier to learn Ruby and Rails than a bunch of flavor of the week JS frameworks. I don’t agree that transitioning to Ruby/Rails from another programming paradigm is easy.

    [–]salamisam 1 point2 points  (0 children)

    I think most of those things are just small learning hurdles in Ruby (& Rails). If you are working in web you are either coming from a strongly typed language which duck typing is more of an annoyance than having to learn something new. Or similarly if you are coming from untyped language then those paradigms are already understood. Something like update<T extends string | number>(record: Record<string, T>) is a lot different from update(record) mind you the first one is more understandable. The shaped typing of say TS is easier to understand but hard to think through. So I do understand somewhat in regards to that concern, but it isn't a difficult concept to understand, I think it is problematic to ensure the objects respond the same.

    As far as metaprogramming goes, honestly, with 8+ years of Ruby/Rails dev experience, there are very few times I have used it, may be a dozen times though others may have different experience. I also prefer Rspec over Jest (currently working on a JS project). I think if you know Jest then transitioning to Rspec is more easier to grasp.

    I do understand what you are saying, learning any language takes some effort. Most people working with Ruby are likely to be Rails devs (not all), at least they just need to learning the same foundations, ActiveRecord, ActiveMailer, ActiveStorage and most of these are very well established, well thought through and the paradigms are very developer friendly.

    These are very generalized statements, but I used to be a Technical Manager of a small team of about 40 people. About 50% of those came from other languages and environments, and almost all were up an going within a week and working efficiently within a month, with very little training. This is mainly due to the Rails framework, and the ease of Ruby. But I do understand we might have different perspectives.

    [–]Kandiak 2 points3 points  (0 children)

    Same

    [–]kallebo1337 50 points51 points  (0 children)

    Name and shame !!!

    I’m not kidding. Do it!

    [–]dopeydeveloper 67 points68 points  (2 children)

    For this electrician's job, we just wanna see you lay tiles on a roof ... Tools are just tools !!!

    [–]h0rst_ 8 points9 points  (0 children)

    That are different jobs. This is more like trying to get a job at a bakery, and to prove that you know how to operate an oven you have to bake a bread over an open fire.

    [–]yyyyaaa 2 points3 points  (0 children)

    more like for this cooking job, we just wanna see you make some sushis while we're an italian restaurant

    [–]tarellel 29 points30 points  (1 child)

    Honestly you should name and shame, because this is some douche bag level crap they’re trying to pull on developers candidates.

    [–]Obvious-Jacket-3770 2 points3 points  (0 children)

    No need, the CEO outed themselves.

    [–]j-mar 14 points15 points  (0 children)

    Chat gpt can whip that up for you real quick, which is fine because languages are just tools, right?

    [–]TunaFishManwich 11 points12 points  (0 children)

    Yeah you don’t want that job.

    [–][deleted] 26 points27 points  (5 children)

    Look, this is really a bad idea from them. But let's say it wasn't, tell me HOW is PHP in any way a good choice?

    What probably happened here is that some manager or something doesn't know anything about coding except for some surface level PHP he did years ago so he wants to feel like he can have an opinion.

    [–][deleted] 0 points1 point  (0 children)

    Don't get me wrong, but I think you're outdate by a margin of 10 years or so - I highly recommend you to try different tools and ecosystems, including PHP

    [–][deleted] 0 points1 point  (2 children)

    Don't get me wrong, but I think you're outdated by a margin of 10 years or so - I highly recommend you to try different tools and ecosystems, including PHP

    [–][deleted] 1 point2 points  (1 child)

    You’re actually correct yeah. I see it’s not the same language it used to be

    [–][deleted] 0 points1 point  (0 children)

    There's Laracasts (equivalent of GoRails for Laravel), look up on YouTube their tutorial on PHP (and even Laravel, if you feel like it), they also have a website and Discord community PHP is quite nice these days, and Laravel actually has a pretty big ecosystem, bigger than Rails' I'd say (I still think RoR feels a lot more productive though, Laravel may require some tweaking, it's not as out of the box as Rails) - the only weird thing about PHP these days is weird/different naming conventions for some functions, they wanted to change them, but it'd break lots of existing codebases

    [–]mikkolukas 0 points1 point  (0 children)

    HOW is PHP in any way a good choice?

    It must have been a long time since you last saw any PHP code.

    Nowadays it is actually nice to work in (albeit with some weird naming quirks from old times).

    [–]stejzyy23 26 points27 points  (0 children)

    I hope this make sense.

    No it does not.

    Have a nice day, bye.

    [–]maloik 19 points20 points  (7 children)

    Which company is this? Is its shorthand “BS”?

    [–]maloik 28 points29 points  (3 children)

    I saw a response on my phone confirming I have the right company here, at least it was OP who wrote it before deleting again. Goes to show... picking out the right small startup from the description of a hiring process? That just doesn't happen, unless it's so ridiculous.

    So on top of what OP has already mentioned, here's my experience with them from a few months ago, and some observations:

    * they have a lot of job postings up and keep posting the same ones on various job boards. Either their process is so bad that they can't find anyone, or they are fishing for unicorns and wasting a lot of people's time when they're not truly hiring as many people as their careers page suggests
    * the initial contact after applying, assuming you don't flat out get rejected, is an automated message directing you to an app where you essentially record yourself answering a few questions. No humans involved for the first contact, classy!
    * after realizing I had been sent an automated email, I replied asking some basic questions to make sure we're aligned, such as whether they hire in my location and asking about the salary range. The recruiter was off, so it took a week to get a response
    * I don't remember if I spoke to a human after this, but I'll give them the benefit of the doubt (although I don't think so).
    * first code interview was a simple function... easy enough, if it weren't for the fact that I was being told to write it in JavaScript even though I was applying for a backend ruby position. Like OP I asked about it and was given the whole "language is just a tool" excuse. I typically agree with that sentiment, but not when it comes to showing off your skill and experience. It was simple enough that I proceeded anyway
    * the feedback from their CTO was a one liner saying my little algorithm was wrong. Not entirely unsurprising, I wasn't using my typical tools so I couldn't do more extensive testing than just trying it out a few times in my browser's console

    Had I gotten as far as OP did, I'd have declined on the spot if they asked me to work in PHP for a Ruby position. There were already too many red flags, like putting technology and raw technical skill above humans, the hands-off automated approach, the many (mostly vague) evergreen job postings (again: this is a small startup... not FAANG) etc.

    It's not my place to name the company, not on someone else's post. But I'd name them right here otherwise.

    If BS reads this, you know who you are. Do better. Your hiring practices are shitty.

    [–]gooblero 19 points20 points  (0 children)

    Name and shame

    [–]taelor 17 points18 points  (0 children)

    Just say who the company is, I have no clue what BS means.

    [–]monstaber 14 points15 points  (0 children)

    Sounds like BETTERSTACK there i said it lol

    [–]DonPaulie 4 points5 points  (2 children)

    Been there (BS). done that. Understand why. Inside it’s very demanding and I believe very rewarding. But I am already too old for that shit (33)…

    [–]taelor 7 points8 points  (1 child)

    Who is BS?

    [–]clearlynotmee 0 points1 point  (0 children)

    Better Stack

    [–][deleted] 18 points19 points  (4 children)

    BetterStack? :D Dude there interview is bonkers just wait until you get to f2f

    [–]Tolexx 13 points14 points  (2 children)

    I came here to say I guess it's likely them. Terrible interview process and folks that can't even speak clearly especially in English.

    I have a job already and I just wanted to see what the market is like.

    First interview was a JS task which I had to record a video of myself doing it. I honestly regretted doing this.

    Second interview was an intro call with their "Talent Manager“. He asked me what my salary expectations were and how much I'm currently earning. I told him that he should tell me what range they were willing to offer. Dude literally told me he doesn't know. That was was the first red flag.

    Third interview which happened to be my last is another interview with a guy which can't communicate clearly. Initially asked me questions about web security which I answered correctly. He then went to ask garbage technical brain teaser questions that didn't go well.

    Overall a terrible company. Just avoid them.

    [–][deleted] 6 points7 points  (1 child)

    The moment interviewer told me he is gonna interrupt me, due to the agenda I knew, even if I pass I would not continue with them. Absolutely, ridiculous security questions especially with SQL injection. When I asked how many times has he used SQL injection in his career he said never, logically I continued then why do you require a specific knowledge how to implement SQL injection in certain dialect, answer was it is a core security knowledge 😀😀 But when actually he asked me about indexes and whether or not compound index makes any difference and I said yes his response was not really 😀😀 that was the point I quit

    [–]MasinaDeCalcul 2 points3 points  (0 children)

    Similar experience. I can confirm Juraj’s knowledge is not so solid as he wants others to think.

    [–]little_tonxyx 4 points5 points  (0 children)

    If we are talking about Betterstack, I’m glad I quit the async coding test after I saw it’s JS task… I have some better place to spend my time on 🍻

    [–]BridgeAdventurous416 7 points8 points  (2 children)

    [–]h0rst_ 4 points5 points  (0 children)

    One half of our engineers didn’t work with Rails before starting at Better Stack.

    Maybe that's because this hiring process is biased towards PHP programmers and an articial hurdle for people who have not used PHP in forever, like probably most Rails programmers.

    The whole reply is just full of this kind of backwards logic.

    [–][deleted] 1 point2 points  (0 children)

    super cringe, quite usual with startup CEOs though

    [–]OkDas 4 points5 points  (0 children)

    Name and shame. And run.

    [–]BlueEyesWhiteSliver 4 points5 points  (1 child)

    I hate people who do this. While they are tools, this completely invalidates the difficulty and mastery of such tool. Imagine telling a pianist to go play a classical guitar. Surely, they’re just “tools” that have underlying theory so we should be able to interchange musicians between instruments at ease.

    [–]twocafelatte 0 points1 point  (0 children)

    I find programming languages more similar to each other than piano and guitar. I play a bit of guitar and a bit of keyboard, it feels really different. I remember one time I had to make a game in Unity3D as homework. Picking up C# was like "ah this feels like Java" and then for the rest you use the documentation.

    I understand that different languages have their own quirks and some of that requires expertise but I don't get why people can code in different languages even if they don't know them at a basic level at this. Most languages all have: variable assignment, functions, loops and branching. They're also mostly implemented at the same level, unless it's Smalltalk because then even branching is an object (most of the time of Type Boolean where False and True are implemented as objects that respond to IfTrue and ifFalse if I remember correctly). So the basics are the same. Frameworks make things work differently and so does culture. But honestly, the most mindbending part of learning to program was the beginning for me. Once I got a strong intuitive understanding of that everything else just felt like normal content.

    [–]YourAverageBrownDude 2 points3 points  (0 children)

    What a ChatGPT ass response

    [–]RebeccaBlue 2 points3 points  (0 children)

    "We're a Java shop, but we'd like you to show how to invert a binary tree using Intel 4004 assembly language."

    [–]Right-History-4773 2 points3 points  (0 children)

    I know this takes me out of the game for many places, but I won’t honor these processes anymore. I stopped years ago. Things are way more relaxing for me now. Whenever I get outreach, I ask what the full hiring processes is. If I see a test, I tell them I am no longer interested, and why.

    [–]vizvamitra 2 points3 points  (0 children)

    I also applied to their position and went through the same process. Initially, I thought the PHP + JS task was meant to test my estimation skills rather than being a coding challenge. I estimated the task would take about 7 ± 5 days, given many unknowns, and proposed several strategies to handle this: deploying as soon as possible and iterating, cutting corners to ship faster, extending the deadline, or postponing the feature. However, it turned out they wanted the actual code, even if it took “slightly more than 4 hours.” I capped my time at 10 hours and showed them what I was able to achieve within that limit, which, unfortunately, was not enough.

    In their defense:

    During our first call, they explained that they had these positions open because some candidates may have skills in multiple areas (e.g., both backend and frontend) but may be hesitant to call themselves full-stack. They don’t want to miss out on such candidates. They also mentioned that they recently secured an investment round, so with no urgent need for additional hands, they have the time and resources to search for the best people. I believe they are ultimately looking for a really strong full-stack developer with a frontend focus. They also compensated me for the time I spent on this task. And they gave me a detailed and fair feedback on my solution

    Overall, I can say that this interview process was fun and challenging for me

    [–]EmptyPond 4 points5 points  (0 children)

    Sounds like they just want to hide the fact they use PHP

    [–]jcat4 4 points5 points  (0 children)

    I had something similar happen lol. Applied for a ruby position, and the coding tests they sent only supported JS/python. Was not informed this would be a limitation. Fortunately I had worked in those before, but I was far from proficient in them.

    They’re misusing the “tools are tools” quip IMO. That means if you’re applying for a ruby position, but you’re only proficient in Java, you should be able to demonstrate proficiency in Java and still be considered for the role. Not “we’re gonna surprise you with a test using a language you may not have experience with that we allegedly don’t use, good luck!”. I don’t see a lot of benefit in that.

    [–]Infinite-Club4374 4 points5 points  (0 children)

    lol the company I work for has an entire suite of interview problems with every major language we could find cuz we want to expand the potential talent pool not restrict it

    [–]boxpretty[🍰] 3 points4 points  (1 child)

    The hiring manager only knows PHP

    [–]qbantek 2 points3 points  (0 children)

    This is probably the reason. And it is not even uncommon.

    [–]beatoperator 4 points5 points  (1 child)

    They don’t know how to test for what they’re actually interested in: how well a candidate can solve a problem with tools they’re familiar with and/or with tools they’ll be expected to use on the job (per the job description).

    Forcing a candidate to use an unfamiliar set of tools for this test adds too many confounding variables (research variables, not computing variables) to yield meaningful results.

    [–]qbantek 2 points3 points  (0 children)

    "I hope this makes sense."

    It does not. Zero sense.

    [–]theincredibleharsh 1 point2 points  (0 children)

    I built a whole landing page using only html and tailwind for a take home assignment, I applied for a rails fullstack role

    [–]sailorsail 1 point2 points  (0 children)

    LOL, I’ve had the opposite, which made way more sense. They asked me to pick the language I wanted and it’s only after 2 or 3 interviews that I asked “what tech are you using?” To which they replied “Perl”. Too bad, the term sounded interesting but I wasn’t interested in going down that path.

    [–]evbruno 1 point2 points  (0 children)

    Are these emails coming from a real person? or just AI generated stuff?

    [–]bananatron 1 point2 points  (0 children)

    I'd be willing to bet they're just too lazy to write/rewrite up another interview challenge and use this "languages don't matter" nonsense to justify it, I've seen this internally a thousand times.

    [–]saw_wave_dave 1 point2 points  (0 children)

    If tools are tools then anyone with a driver’s license should also be allowed to fly an F-16.

    [–]motiondetector 1 point2 points  (0 children)

    The worst part IMHO of the take home is that they tell you to "not spend more than 4 hours" completing the tasks which is already kind of tight because it's not your language and then they grade you on things that you were not asked to do.

    [–]flatfisher 2 points3 points  (0 children)

    My guess is their recruiting company uses generic challenges.

    [–]narnach 3 points4 points  (0 children)

    The only Ruby thing about this is how Ruby red colored the warning flags are. Sounds like a company to avoid.

    [–]ankole_watusi 0 points1 point  (3 children)

    My first Ruby job involved replacing a PhP app with a Ruby one. A very common transition at the time, and probably still now.

    My only previous php experience was working with the very first crude php implementation which I had to get by emailing the author. We’d made a shopping basket. Quite the advanced thing for ~1995, lol. I’d imagine this was on my resume.

    But I wasn’t tested on php. That was just sprung on me after I started the job. And I only had to be able to read php.

    I think it reasonable that an experienced software engineer should be able to complete a small project in any language on an open-book basis, given sufficient time. It’s a frequent actual need.

    [–]broisatse[S] -1 points0 points  (2 children)

    I wouldn't mind working with another language, and I did quite a few times. Clojure, Elixir, Go, Elm, Node, even C family - yes, please!

    But don't try to assess my technical abilities by testing my in a language i don't know. I can only read documentation at limited speed - quite fast, but limited. And it's not just the language, it's its whole environment - libraries, tools, best practices, common caveats, configuration... At least give me a day or two - but then it's too long for a coding exercise!

    [–]ankole_watusi -1 points0 points  (1 child)

    But you misinterpreted this as a skills test. It wasn’t.

    [–]broisatse[S] 2 points3 points  (0 children)

    What was it then? Keeping in mind I've completed the assignment and was rejected due to visible lack of experience in jQuery.

    [–]xutopia 0 points1 point  (0 children)

    At some point people have to name names.

    [–]Money_Ad_5385 0 points1 point  (0 children)

    Chat GPT - im in the hot-seat and have no clue, eject me from this candidate, bail&boolshit me out of here..

    [–]Money_Ad_5385 0 points1 point  (0 children)

    Up next: Battle Royal in code mode. One shoots a puzzle on solves a puzzle, he who is last man standing shall get a chance to apply for the job

    [–]el_cordoba 0 points1 point  (0 children)

    That's a hiring manager who doesn't know what they are doing.

    You should do the assignment in Brainfuck and say they need to be more flexible with technology.

    [–]kimjongun-69 0 points1 point  (0 children)

    lol.. these companies

    [–]ridershow 0 points1 point  (0 children)

    Do it in ruby. As GPT to convert it in php

    [–]TessTrella 1 point2 points  (0 children)

    The real test is how much bullshit you'll put up with

    [–]paranoid_panda_bored 0 points1 point  (2 children)

    To be fair… full-stack means what she says: to be able to work with vast set of langs (or be able to quickly learn that).

    However the PHP surprise should’ve been mentioned in the first round, not like “you have 4 hours, good luck”

    [–]Lost-Adhesiveness-14 1 point2 points  (1 child)

    Fullstack does not mean that, never did and never will.

    [–]paranoid_panda_bored 0 points1 point  (0 children)

    Well not according to some employees as you see.

    Besides, fullstack is a made-up buzzword.

    It can mean whatever anyone wants, just like much of programming buzzwords.

    My meaning is derived empirically.

    [–]Lost-Adhesiveness-14 0 points1 point  (0 children)

    So I just completed a JS test and I was googling for BetterStack salaries. Guess were I ended up. I think I'll pass on this one.

    [–]elfenars 0 points1 point  (0 children)

    Huge red flag

    [–]headdertz 0 points1 point  (0 children)

    I always reject doing coding tasks and problem solved.

    They are good for juniors without any experience.

    [–]shinji -1 points0 points  (0 children)

    In other words, this company is planning to migrate from Ruby to PHP in the next year or so.

    [–]gorliggs -1 points0 points  (0 children)

    No. It does not make sense. Bye.

    [–]crmne -1 points0 points  (0 children)

    Looks written by an LLM. Also, run.

    [–]jurajmasar -3 points-2 points  (2 children)

    Hey Reddit 👋

    I’m Juraj, Co-Founder & CEO of Better Stack — I designed this interview process so let me share why I think a PHP project is a good idea when interviewing for a full-stack position where you work mostly in Rails.

    First, please understand how we operate.

    We’re a small group of full-stack engineers. By ‘full-stack’ I mean that our engineers build products from the ground up end-to-end. There’s no artificial boundary between ‘backend engineers’ and ‘frontend engineers’, ‘database engineers’, and ‘SREs’, etc.

    This means we move very fast. There are almost no meetings. No ‘sprint planning sessions’. No brainstorming. No need to ask for a permission from a different team to agree on a common API before you start implementing. You can get to flow, play your favorite music, write code and deploy the feature the same day.

    We typically work with very senior people, many ex CTOs and VPs of Engineering. The idea is to have tiny teams of super experienced people.

    If you love hacking on side-projects and writing software, you’d typically like it here.

    Now, why do we ask you to implement a feature into a terrible PHP code from 10 years as a part of our interviews?

    Multiple reasons.

    A) To test your pain threshold.

    Is 4 hours of PHP too painful? Then it’s probably better if you don’t continue in the interview process as you probably wouldn’t enjoy working here.

    If 4 hours of PHP is too painful, you’d resign from the job the moment I’d ask you to implement a Terraform provider; or a data transformation function in VRL; or a wasm-compiled function in AssemblyScript or debug a conntrack issue at 3am during a downtime.

    I had a Rails engineer refusing to write a Dockerfile, “because it’s some else’s job to deploy the code”. That approach unfortunately doesn’t work with us. And if you do only want to write JavaScript and touch no other technology, that’s ok! Please just find a different company that works like that.

    B) I consider PHP + JavaScript general knowledge.

    One half of our engineers didn’t work with Rails before starting at Better Stack.

    We don’t screen for Rails. We don’t screen for any single technology, in fact. We screen for general knowledge about developing software. The best engineers can pick up any reasonable technology quickly.

    I want to work with you if you’re able to implement the test project and deploy it in an afternoon even with a technology you never worked with.

    Great engineers who never worked with PHP successfully did this years ago. These days it’s even easier since we have Claude, Cursor, GPT o1.

    C) Can you write software without modern frameworks?

    Do you understand how stuff works under the hood? The task itself is so simple yet so many people mess up very basic things. I obviously can’t share our evaluation check list, but I can tell you that 50% of submitted projects are vulnerable to XSS, for example.

    Do you blindly rely on the latest frameworks, hosted databases and PaaS to build your applications; do you rely on your teammates to catch your mistakes in a PR review and a different team of SREs to deploy your code to production? Or do you truly understand how things work under the hood? Are you going to actually test the page’s mobile responsiveness when you implement a UI? Would you implement the very basic best practices of UI usability or you don’t care about usability at all as long as the data gets saved in the database?

    D) We test your personality.

    Startups are typically a high-pressure environment.

    How will you act if you disagree with me/your colleagues? We treasure the atmosphere at the company. We don’t work with brilliant jerks.

    Some candidates simply politely reply: “Would it be ok if I implement it in Rails and Tailwind from scratch instead?” We say ‘Sure!’ and if the project is good we extend them an offer.

    Some people start attacking us with aggressive responses. That’s a self-selection.

    E) When do you consider the project being ‘done’?

    What does production-ready mean to you? Some folks never shipped a production software on their own.

    There’s no other person checking your work at Better Stack before it goes live. You can design, develop and deploy to production on your own. Will you ship good stuff or half-baked products? Will you ship secure features or introduce a security vulnerability?

    The project is intentionally vaguely defined so that we see what you consider being ‘done’.

    F) This is a paid project.

    I don’t expect you to work for free. We kindly ask you to name your rate and issue us an invoice and we pay what you ask for even when we reject you. That sounds fair to me.

    A good interview process is a glimpse into what the actual work is like. Interview process is not supposed to be pleasurable to all candidates.

    So if you don’t like the process, the tasks or the interviewers — that’s alright! I want to sincerely thank you for investing your time into the process and giving it a shot, but it’d be better if you worked somewhere else. That’s what a good interview process does.

    We do our best to be nice. To run a fast process. To explain why we do things the way we do them. To pay you for the assignment we ask you to implement at home. In F2F, if you don’t know an answer to a question we aim to educate and explain. We always ask for feedback.

    And we do make many mistakes along the way, too — the company is growing fast and “when you chop wood, splinters fly.” So I apologize if you interviewed with us and had a bad experience.

    Interviews are an approximation game: we try to guess if you’d enjoy working with us in a very limited amount of time.

    I can’t win a popular vote here as we give offers to <1% of candidates. But I’m always delighted when a rejected candidate replies to our feedback email saying they learned a lot during the process and/or re-apply after a year.

    The truth is that many software engineers would probably never enjoy working at a startup. Big tech and a fast growing startup is a very different environment. And that’s completely ok! Everyone is not meant to be working at startups. But self-awareness is key.

    I wrote more about how we work here: https://betterstack.com/careers/engineering

    Thanks for reading and all the best!

    Juraj

    P.S. Apologies if I won’t reply in the comments, I need to focus on work — I’m debugging Redpanda. P.S. Use Better Stack for your next project!

    [–]clearlynotmee 2 points3 points  (0 children)

    Completely bonkers and detached from reality, thanks for showing your red flags publicly so everyone can avoid Better Stack

    [–]SnooCupcakes3855 -1 points0 points  (0 children)

    100% you’re going to be writing PHP.

    [–]grimmwerks 0 points1 point  (0 children)

    I mean it makes sense. I went for a job interview as a vet and had to perform brain surgery on a human.