7 ms·
Cucumber maintainer has been laid off
- config_yml 4y ago13 years ago when I started with Rails, we had a cucumber suite for one of the products we maintained. It was eventually abandoned, as developers didn't want to maintain it and the PM was not interesting in applying it either. I had never seen it on a project since, but still knew one or two people who were religious about it. Fast forward to yesterday, we were formatting product specification using ChatGPT and I thought hmm, ChatGPT would be perfect to take something vaguely structured and return it as a Cucumber spec. And here I am today, Cucumber pops up again in my HN feed. It feels like law of attraction, butn not quite :)
- sverhagen 4y agoIsn't that often the fate of Cucumber(-like) projects: you start with the promise of high abstractions that the whole company can work with or reason about, you invest a bunch of time to bridge the gap to the underlying implementation, then it turns out that those business folks aren't really interested in it, so developers hold the bag, and bridging the abstraction gap becomes a cost with little benefit?
- MonkeyMalarky 4y agoThe same thing happens with BI platforms. Everyone asks for a tool that business folks can use, developers go through all the effort in creating data integrations, then they turn around and ask the developers to just make the reports they wanted anyways. If that's how it was going to be, there's a lot of simpler solutions than a full blown BI platform...
- denimnerd42 4y agoI have seen this repeated a lot here on HN. Since my industry is at least 10 years behind everyone else we are now getting these directives. Execs/managers say we want to put the tools directly in the hands of the users. The project is going to be failure in that sense though because nothing is oriented to do that. Everything from our change control process to the UI is a blocker. The execs keep shouting "it needs to be simpler!" on a process that's decidedly not simple. I'm not interested in leading a paradigm shift destined to fail from my small underfunded department at a megacorp so I switched projects :/
- shoo 4y agoi think this has been the outcome every time i have seen BDD applied. when the only people maintaining the BDD suite are the developers, the situation can be improved by throwing away the human readable BDD layer and allowing the developers who are maintaining the test suites to use a real programming language with abstractions and composability. that said, writing acceptance style tests directly in a real programming language with an appropriate layer of test-support library abstractions in that language, customised to whatever component is under test, can often be quite pleasant and productive.
- pydry 4y agoI find that the "gherkin" syntax is not really expressive enough to express requirements in a way that is interesting for the business. The business therefore always loses interest.
- bluGill 4y agoIt is great for removing ambiguity, but business executives don't want to think on that level any more than they have to. It is terrible for simplifying things. Most people really know "I want ta safe self driving car", they don't want to figure out when it is acceptable to hit a kid on the road (think gory video games were people throw babies in front of your car for one case where it would be acceptable).
- pydry 4y agoDisambiguation is precisely what it's not great at, I think. I would often see stories like "Given a logged in user..." and the details of what kind of user it was would be buried in a step definition somewhere. The restricted nature of the language encouraged this "dumbing down" of the high level requirements to the point where you couldn't really have intelligible conversations about gherkin scenarios without referring to step definitions, so the whole exercise becomes kinda pointless. If your software scenarios had even slightly complex preconditions/steps then most people would just shove that complexity in a definition and paper over it.
- bluGill 4y agoThose should be I don't care about it now - it should work for anyone. The idea is to get to what is different about this user. Security is important enough that you always want to specify a logged in user, but most details you don't care about and shouldn't ambiguous is good because it says I don't care.
- rgblambda 4y ago>then it turns out that those business folks aren't really interested in it It's weird how business folks can just go "nope not doing that" to a process that was created to give them more say and doesn't make sense without them.
- yebyen 4y agoI guess they're used to getting their way regardless of whatever language they express it in. After all, "holding the bag"? Developers are certainly holding one kind of bag, but since we're already talking about Cucumber, I don't think that expression necessarily means the same thing to all people.
- pyrolistical 4y agoThat would mean they are accountable to something and that is dangerous to both incompetent and lazy people
- quickthrower2 4y agoI really liked using specflow (a cucumber equivalent) for dotnet years ago. It comes into its own when you want to quickly multiply up the cases or build out scenarios from smaller steps. Even if you are unit testing and not using BDD it is useful. But it is an investment, especially if you need to move exisiting tests to it. Being able to write code for a single step requires decent decoupling through the test and tested code.
- isensible 4y agofor .NET, LightBDD is much better than Specflow. For LightBDD, developers write Given-When-Then tests in C#, and the test run spits out Gherkin style reports in various formats including a rather nice HTML page. Chosing to use Specflow/LightBDD depends on how much you value the reports. At least with LightBDD, you are not forced to write the tests in the report format. https://github.com/LightBDD https://github.com/LightBDD
- UweSchmidt 4y agoI have used Cucumber in various projects, but haven't yet had the pleasure of seeing it all work out. - No one wanted to "collaborate", or check a "documentation" based on the Cucumber code. Yes, it's code, it lives in an IDE, in git, and non-technical folks just generally don't deal with that world. No one in my projects ever even brought such an idea up. Non-technical folks looked at our Cucumber code as in "what tests do we have?" or "how do you guys work". Nothing in their domain. - Why do we have programming languages and don't programm computers using natural language? You'll find out when you try BDD! You end up coding the complexities that natural language glosses over, you'll fight similar Cucumber statements trying to get some reusability and so on. In the end you wonder why you bother with the 1-2 extra layers of Cucumber anyway. - At the same time, good test code is easily readable for semi-technical people. In testing it ends up with a lot of clicking and entering values in text fields in an application the business analyst will be familiar with. Whenever they are willing, they'll figure out Selenium code. - Have you ever wished that you have some Scenario: Sunday isn't Friday Given today is Sunday When I ask whether it's Friday yet Then I should be told "Nope" on top of, say, Boolean checkIfFriday() in your code? Truth is, a lot of testing code is click here, enter text there. Wrapped in the right function, organized in the right way (Page Object Model?) and it's all readable, maintainable and done in a reasonable time. I would advise against BDD/Cucumber and to be convinced otherwise I'd have to see a well though-out and realistic working example.
- bhaak 4y agoWe have Cucumber tests and Rspec tests in our repository. They are not mutually exclusive but complementary. Cucumber tests are integration tests and usually test only the happy path. In our case, a customer never sees those tests. OTOH for new developers, it's a very good way to find out how a given feature should work. Making a test in Cucumber for checkIfFriday() would be flagged in a code review. That's for a unit test, not an integration test. Complex test setups are way easier in Cucumber than in Rspec. They are usually more realistic than the Rspec ones. In the unit you can more easily cheat your way out of a correct setup. One of the bigger problems I have with it is that discovering existing cucumber steps is hard. They are free form so anything goes and if you aren't careful, you will have a plethora of steps that are similar but different and someone without a lot of experience will not be able to tell which step is more suitable for a given scenario.
- flerchin 4y agoThat's really disheartening. Without access to his email, can Matt still be the primary maintainer of Cucumber? He can of course fork it.
- hsuduebc2 4y agoI must say. Man is pretty chill for someone being just cut off without a word.
- denimnerd42 4y agowonder what he made in the initial acquisition
- Dayshine 4y agoThe American way of firing people with no notice and cutting off their logins instantly is so strange. Is saving a tiny bit of money that much more important than a smooth handover? Or are employees just not willing to work their notice periods? It sounds like in this case it's actively going to hurt the business.
- dosethree 4y agoCompanies just want a clean break. In cases where they really need you to do a hand off, you will get a transition period. I've had that happen to me, and it's a weird feeling. I don't think its great for productivity or morale, and is more common when you are shutting an entire division down.
- thedougd 4y agoUsually if it’s a layoff (without cause) and the employee does not have special powers (officer of company) a long notice is given to support a transition. A compensation package which requires signing a contract is the incentive for the employee to cooperate.
- rqtwteye 4y agoThere is also paranoia. A lot of people believe that a laid off employee will immediately go against the company and do some kind of sabotage or leak secrets.
- Ekaros 4y ago
- undecisive 4y agoLike many others here, I haven't used Cucumber in a while, but back when I did, I went a couple to workshops that Matt ran, exploring BDD. Certainly laying someone off when they are on holiday feels like a dick move, I guess that's corporates for you. I'd be interested in Aslak's viewpoint, as I'm guessing he's still there, and may well be the source of Matt's confidence that community assets will be handed over to the community. But I'm glad Matt is reasonably happy. I'm absolutely certain his next venture will be successful, and that SmartBear lost a very valuable asset here.
- deleted 4y ago[deleted]
- ChrisMarshallNY 4y agoI really like this chap's attitude, and I sincerely wish him the very best.
- satisfice 4y agoAs a tester, I have felt from the first time I ever saw Cucumber that it is part of a conspiracy by coders to avoid productive testing by trying to transform testing into code— like that guy who wrote scripts to handle all communication with his girlfriend. Given that Gherkin language is insultingly stilted and simplistic, when I see Cucumber, then I want to vomit.
- fgsantoyo 4y agoDon't take more than two weeks at a time vacation let alone loose access to your email if you value your job. Ever. While we get there all esoteric on taking time off to rewind because we have added so much value already and the world is beautiful a worth exploring, there are many people working non stop to take what you have... bummer
- b800h 4y agoThis is terrible advice. One of the most important things in security (amongst other practices) is to ensure that people take regular longer breaks, because it's a great way of seeing where there are dodgy practices going on, and in particular people making themselves SPOFs. If you have inherent value, rather than just a castle defended by a moat of failing to cross-skill your colleagues, then you'll be safe taking longer holidays.
- fgsantoyo 4y agoBeing off the grid for more than 2 days puts you at a disadvantage if you value your Job, let alone taking long esoteric vacations. there are people working non stop to take all you have. If you value anything enough, protect it at all cost.
- 1-more 4y agowhy did you post this twice with different wording?
- isthissbf 4y ago[flagged]
- ibejoeb 4y agoI'm not suggesting that it is, but this sounds much more like a firing than a layoff. Pretty shitty way to do a layoff. This is the way you remove a potential problem, i.e., play it cool until the doors are locked, then full lock-out. That's very different from "Hey man sorry, but it's layoff season, as you know, so we're gonna pay you out for the next 4 weeks and you can keep your coursera subscription."
- vladsanchez 4y agoBeen there. I was laid off, the same (shitty) way, returning from vacation on March 29 2009. Took me almost a year to stand on my feet again. Life is Good!
- ibejoeb 4y ago2009, one of the great vintages. I feel you. There've been some wild swings in the past 20 years.
- dosethree 4y agoThe difference is sort of meaningless. What matters is if you are getting severance or unemployment, and if you can get a recommendation. If they are going to fire you for invidual performance, youd think they would put you on a pip, but some companies will just wait and lay you off. But the two can be similar in that if you are valuable you won't get fired or laid off, unless the company is in serious trouble. Sometimes you are just on the wrong project. It is good to be generally aware of your projects value if you want to keep your job. Cucumber, IMO, died like 8+ years ago and never really made sense. It was useful for a team to define requirements and then see the progress to implementing them, but Gherkin was a sticking point and integration tests are hard to get/keep working, esp with javascript apps that are now so popular. The fact that someone would pay a OSS maintainer up til now seems like a crazy waste of money.
- kdhamric 4y agoI know another person laid off from this same company last Friday. Pretty sure it was a layoff that impacted him.
- rubomation 4y ago[dead]
- rubomation 4y ago[dead]
- pictur 4y agoCucumber is very useful in projects with similar components and flows. Developing certain command patterns and writing tests on these commands really improves and speeds up the processes.
- rubomation 4y ago[dead]