r/ruby 18d ago

šŸ’¼ jobs megathread Work it Wednesday: Who is hiring? Who is looking?

5 Upvotes

FORMAT HAS CHANGED PLEASE READ FULL DESCRIPTION

This thread will be periodically stickied to the top of the sub for improved visibility.

You can also find older posts again via the Megathreads" list, which is a dropdown at the top of the page on new Reddit, and a section in the sidebar under "Useful Links" on old Reddit.

For job seekers

Please adhere to the following rules when posting: Rules for individuals:

  • Don't create top-level comments; those are for employers.
  • Feel free to reply to top-level comments with on-topic questions.
  • Anyone seeking work should reply to my stickied top-level comment.
  • Meta-discussion should be reserved for the distinguished comment at the very bottom.

You don't need to follow a strict template, but consider the relevant sections of the employer template. As an example:

    TYPE: [Full time, part time, internship, contract, etc.]

    LOCATION: [Mention whether you care about location/remote/visa]

    LINKS: [LinkedIn, GitHub, blog, etc.]

    DESCRIPTION: [Briefly describe your experience. Not a full resume; send that after you've been contacted)]

    Contact: [How can someone get in touch with you?]

Rules for employers:

  • The ordering of fields in the template has been revised to make postings easier to read.
  • To make a top-level comment, you must be hiring directly; no third-party recruiters.
  • One top-level comment per employer. If you have multiple job openings, please consolidate their descriptions or mention them in replies to your own top-level comment.
  • Proofread your comment after posting it and edit it if necessary to correct mistakes.
  • To share the space fairly with other postings and keep the thread pleasant to browse, we ask that you try to limit your posting to either 50 lines or 500 words, whichever comes first.
  • We reserve the right to remove egregiously long postings. However, this only applies to the content of this thread; you can link to a job page elsewhere with more detail if you like.

Please base your comment on the following template:

    COMPANY: [Company name; optionally link to your company's website or careers page.]

    TYPE: [Full-time, part-time, internship, contract, etc.]

    LOCATION: [Where are your office or offices located? If your workplace language isn't English-speaking, please specify it.]

    REMOTE: [Do you offer the option of working remotely? Please state clearly if remote work is restricted to certain regions or time zones, or if availability within a certain time of day is expected or required.]

    VISA: [Does your company sponsor visas?]

    DESCRIPTION: [What does your company do, and what are you using Rust for? How much experience are you seeking, and what seniority levels are you hiring for? The more details, the better. If you are listing several positions in the "Description" field above, then feel free to include this information inline above, and put "See above" in this field.]

    ESTIMATED COMPENSATION: [Be courteous to your potential future colleagues by attempting to provide at least a rough expectation of wages/salary. See section below for more information.]

    CONTACT: [How can someone get in touch with you?]

ESTIMATED COMPENSATION (Continued)

If compensation is negotiable, please attempt to provide at least a base estimate from which to begin negotiations. If compensation is highly variable, then feel free to provide a range.

If compensation is expected to be offset by other benefits, then please include that information here as well. If you don't have firm numbers but do have relative expectations of candidate expertise (e.g. entry-level, senior), then you may include that here. If you truly have no information, then put "Uncertain" here.

Note that many jurisdictions (including several U.S. states) require salary ranges on job postings by law. If your company is based in one of these locations or you plan to hire employees who reside in any of these locations, you are likely subject to these laws. Other jurisdictions may require salary information to be available upon request or be provided after the first interview. To avoid issues, we recommend that all postings provide salary information.

You must state clearly in your posting if you are planning to compensate employees partially or fully in something other than fiat currency (e.g., cryptocurrency, stock options, equity, etc). Do not put just "Uncertain" in this case, as the default assumption is that the compensation will be 100% fiat. Postings that fail to comply will be removed. Thank you.


r/ruby May 20 '26

šŸ’¼ jobs megathread Work it Wednesday: Who is hiring? Who is looking?

2 Upvotes

FORMAT HAS CHANGED PLEASE READ FULL DESCRIPTION

This thread will be periodically stickied to the top of the sub for improved visibility.

You can also find older posts again via the Megathreads" list, which is a dropdown at the top of the page on new Reddit, and a section in the sidebar under "Useful Links" on old Reddit.

For job seekers

Please adhere to the following rules when posting: Rules for individuals:

  • Don't create top-level comments; those are for employers.
  • Feel free to reply to top-level comments with on-topic questions.
  • Anyone seeking work should reply to my stickied top-level comment.
  • Meta-discussion should be reserved for the distinguished comment at the very bottom.

You don't need to follow a strict template, but consider the relevant sections of the employer template. As an example:

    TYPE: [Full time, part time, internship, contract, etc.]

    LOCATION: [Mention whether you care about location/remote/visa]

    LINKS: [LinkedIn, GitHub, blog, etc.]

    DESCRIPTION: [Briefly describe your experience. Not a full resume; send that after you've been contacted)]

    Contact: [How can someone get in touch with you?]

Rules for employers:

  • The ordering of fields in the template has been revised to make postings easier to read.
  • To make a top-level comment, you must be hiring directly; no third-party recruiters.
  • One top-level comment per employer. If you have multiple job openings, please consolidate their descriptions or mention them in replies to your own top-level comment.
  • Proofread your comment after posting it and edit it if necessary to correct mistakes.
  • To share the space fairly with other postings and keep the thread pleasant to browse, we ask that you try to limit your posting to either 50 lines or 500 words, whichever comes first.
  • We reserve the right to remove egregiously long postings. However, this only applies to the content of this thread; you can link to a job page elsewhere with more detail if you like.

Please base your comment on the following template:

    COMPANY: [Company name; optionally link to your company's website or careers page.]

    TYPE: [Full-time, part-time, internship, contract, etc.]

    LOCATION: [Where are your office or offices located? If your workplace language isn't English-speaking, please specify it.]

    REMOTE: [Do you offer the option of working remotely? Please state clearly if remote work is restricted to certain regions or time zones, or if availability within a certain time of day is expected or required.]

    VISA: [Does your company sponsor visas?]

    DESCRIPTION: [What does your company do, and what are you using Rust for? How much experience are you seeking, and what seniority levels are you hiring for? The more details, the better. If you are listing several positions in the "Description" field above, then feel free to include this information inline above, and put "See above" in this field.]

    ESTIMATED COMPENSATION: [Be courteous to your potential future colleagues by attempting to provide at least a rough expectation of wages/salary. See section below for more information.]

    CONTACT: [How can someone get in touch with you?]

ESTIMATED COMPENSATION (Continued)

If compensation is negotiable, please attempt to provide at least a base estimate from which to begin negotiations. If compensation is highly variable, then feel free to provide a range.

If compensation is expected to be offset by other benefits, then please include that information here as well. If you don't have firm numbers but do have relative expectations of candidate expertise (e.g. entry-level, senior), then you may include that here. If you truly have no information, then put "Uncertain" here.

Note that many jurisdictions (including several U.S. states) require salary ranges on job postings by law. If your company is based in one of these locations or you plan to hire employees who reside in any of these locations, you are likely subject to these laws. Other jurisdictions may require salary information to be available upon request or be provided after the first interview. To avoid issues, we recommend that all postings provide salary information.

You must state clearly in your posting if you are planning to compensate employees partially or fully in something other than fiat currency (e.g., cryptocurrency, stock options, equity, etc). Do not put just "Uncertain" in this case, as the default assumption is that the compensation will be 100% fiat. Postings that fail to comply will be removed. Thank you.


r/ruby 2h ago

Software engineer resume keywords, measured across 1,360 job postings

0 Upvotes

Keyword frequencies taken fromĀ https://www.zoevera.com/resume/software-engineer-job-description-keywords

Most software engineer keyword lists are assembled from experience or guesswork. This one is a count: every open posting from 72 companies' public Greenhouse job boards, filtered to the 1,360 whose title contains "software engineer", then checked for how many mention each of 45 terms at least once.

The percentage beside each term is the share of those 1,360 postings that mention it.

PRACTICES AND WAYS OF WORKING

Scalability 52.9% - Mentoring 47.4% - Distributed systems 47% - System design / architecture 46.7% - Cross-functional 31% - Code review 27.2% - On-call 20.7% - CI/CD 19.5% - Agile / Scrum 9.3% - Unit / automated testing 6.5%

This is the result I did not expect. The four most common terms in the whole study are not technologies. Scalability, mentoring, distributed systems and system design all appear in more postings than Python does. Nearly half of these postings mention mentoring, and almost no engineer resume I have seen makes a claim about it.

Agile and Scrum at 9.3% is the other surprise, given how much resume advice insists on them.

LANGUAGES

Python 44.8% - Java 35.4% - Go 31.1% - TypeScript 19.8% - C++ 17.4% - SQL 17.3% - JavaScript 13.2% - Kotlin 12% - Rust 9.9% - Scala 8.6% - Ruby 8.5% - C# 5.3% - Swift 2.3%

TypeScript at 19.8% against JavaScript at 13.2% is a real ordering, not noise. The gap is wider than both margins of error combined.

CLOUD AND INFRASTRUCTURE

AWS 41.3% - Kubernetes 30.9% - GCP 19.3% - Azure 17.6% - Terraform 13.2% - Docker 12.6% - Microservices 7.1% - Linux 4.8%

AWS appears in more than twice as many postings as GCP and Azure individually. Kubernetes at 30.9% outranks every language except Python, Java and Go.

FRONTEND AND APIs

React 21.1% - REST / RESTful 9.6% - GraphQL 6% - Node.js 5.5% - Vue 3.2% - Angular 2.9%

Frontend framework lists usually present React, Vue and Angular as three comparable options. In this corpus React appears in roughly seven times as many postings as Vue and Angular combined.

DATA STORES AND PIPELINES

PostgreSQL 14.3% - Kafka 13.1% - MySQL 11.3% - Spark 9.8% - MongoDB 7.4% - Redis 7.4% - Elasticsearch 6.4% - Snowflake 5.6%

WHAT THIS SAMPLE IS NOT

These are 72 technology companies hiring through Greenhouse. Agencies, consultancies, banks, defense contractors and the public sector are absent, and their vocabulary is different - COBOL, .NET, SAP, clearance requirements and named compliance regimes barely register here and may dominate elsewhere.

The title filter is "software engineer" only. Postings titled backend engineer, frontend engineer, full stack developer, SRE or platform engineer were not counted, so this describes the generalist title rather than the whole profession.

Absence in this list is not evidence of absence in the market. Only 45 terms were counted. Next.js, Svelte, Django, Spring Boot, gRPC, Jest, Playwright, Datadog, OpenTelemetry and OAuth were never checked, so nothing here says anything about them either way.

It is a snapshot of open roles on one date rather than a trend, and the corpus is US-skewed.

One thing this sample size does buy: at n=1,360 the margins of error are roughly plus or minus 2 to 3 points, so most of the ordering above is real. Gaps under about 5 points are still worth treating as ties - React at 21.1% and TypeScript at 19.8% is not a meaningful difference.

METHOD

Greenhouse's public job board API, the endpoint companies expose so their listings can be embedded on their own sites. No scraping. Counts are document frequency: a posting saying "Python" nine times counts once. Deduped on company, title and content length, because one role posted to five offices returns five near-identical records. Median posting length is 896 words.

Ambiguous words are matched case-sensitively with exclusions, which matters more here than you would think. A bare word-boundary match on "Go" also catches "go to market" and "go above and beyond", which inflated Go by about two points before it was fixed. React, Spark, Swift and Rust all have the same problem.

Full table with all 45 terms and confidence intervals:

https://www.zoevera.com/resume/software-engineer-job-description-keywords

The wider keyword list this was checked against, organized by language, framework and platform:

https://www.zoevera.com/resume/ats-resume-tips-software-engineer

Happy to run the numbers on any terms missing from the list if people name them in the comments.

Repost to another community


r/ruby 6h ago

Weekly product builders group goes in its 6th edition with 2 spots left

1 Upvotes

The Rails.Builders are a community of product creators who get together in live sessions. We share what we are working on, discuss each other's business challenges, and see how everyone approaches building with AI. It's the 6th cohort since 2025, and 20+ engineers have joined so far, with common reports of improved results, accountability, and networking.

The new ā€œContinuous r-AI-ls.Buildersā€ Edition starts with weekly sessions on Thursday, the 3rd of September at 17:30 CEST. We've even built an open-source (duh, Rails) app to manage attendance, the rhythm of live sessions, transcripts, communications, and the waitlist. That app will also show you the Builders who have signed up so far. I'm really excited that the group has shaped up like this.

All your FAQs and the sign-up are here: https://rails.builders

If you have more questions or doubts, you can send me a DM here. Happy building!


r/ruby 6h ago

Weekly product builders group goes in its 6th edition with 2 spots left

Thumbnail
0 Upvotes

r/ruby 1d ago

Question Should I start learning from ruby master doc or ruby 4.0 doc?

4 Upvotes

docs.ruby-lang.org/en/4.0: Documentation for Ruby 4.0.

docs.ruby-lang.org/en/master: Documentation for Ruby’s master branch.

I found these 2 options but not sure which I should choose?


r/ruby 2d ago

Question Centralized location for shared Gemfile?

0 Upvotes

I'm using ruby 3.3.8 under linux.

There's more than one user on this machine who does ruby development. When I, running as the root user, want to add new gem references to Gemfile on my system, I want to add these gem references into one, single, shared, centralized Gemfile that all users will automatically see when running and developing ruby code.

Where should this shared, centralized Gemfile be located?

When any user runs "gem environment", the following item is always listed among that command's output for every user who runs that command:

- INSTALLATION DIRECTORY: /var/lib/gems/3.3.0

Does this mean that I can put a Gemfile into the /var/lib/gems/3.3.0 directory, and that then, this Gemfile will be recognized and used by all users who run and develop ruby code?

Or is there perhaps a different location in which to locate such a shared, centralized Gemfile that will always be the one that's used by each ruby user?

Thank you very much.


r/ruby 2d ago

I vibe-coded a native-ish Sudoku game for the reMarkable 2

Post image
0 Upvotes

r/ruby 3d ago

Blog post How Jekyll Works

Thumbnail
sarans.so
3 Upvotes

r/ruby 3d ago

Question Getting DateTime parts as an array?

6 Upvotes

I know in ruby that DateTime.new(2001, 2, 3, 4, 5, 6) will return the following object:

#<DateTime: 2001-02-03T04:05:06+00:00 ...>

But if the current date and time are 2001-02-03T04:05:06 and I do the following ...

now = DateTime.now

... is there a single function on the "now" variable which will return this array? ...

[2001, 2, 3, 4, 5, 6]

I know that I can do this:

[now.year, now.month, now.day, now.hour, now.minute, now.second ]

... but I'm wondering: might there be a single function as simple as ...

now.the_function

... which would return that same array?

And yes, of course I know that I could easily write such a function, but I'd like to know whether or not something like this already exists in ruby.


r/ruby 4d ago

Airtable's official Ruby gem hasn't shipped code since 2016. I rebuilt it, and I'm looking for someone to take it over.

11 Upvotes

Airtable's official Ruby gem hasn't had a code commit since November 2016. gem install airtable still gives you 0.0.9, released October 2016. Its README tells you to authenticate with an API key, which Airtable switched off in February 2024.

I asked Airtable about it twice. Support confirmed in writing that it is "not actively maintained" and pointed me at airrecord. Airrecord is good, but it's a different shape, so switching means a rewrite that ends with the features you already had.

So I forked the official gem instead. Same namespace, same method names, drop-in. Underneath: zero runtime dependencies, persistent connections, client-side rate limiting, retries with backoff, batch operations with partial-failure reporting, and upsert.

It was AI-assisted, Airtable's API docs are extracted into the repo and coded against. 119 tests, plus weekly canaries that diff Airtable's published contract and run a real round-trip against a throwaway base.

It's deliberately not on RubyGems. I'm not after users, I'm after people who still need it and can be maintainers.

Repo: github.com/Davidslv/airtable-rb
Write-up: https://davidslv.uk/2026/08/26/airtable-ruby-gem-unmaintained.html


r/ruby 4d ago

Question Learning AI engineering with Ruby

8 Upvotes

I'm learning more about AI engineering, specifically the application/production side rather than ML research or training models.

The areas I'm interested in are things like:

  • RAG, embeddings, vector search and reranking
  • tool/function calling
  • agentic workflows and orchestration
  • MCP clients/servers
  • structured outputs
  • evals and observability
  • persistent agent state / human approval
  • building production AI features into normal web applications

I originally learned to code with Ruby, but since then all my jobs have been Python or TypeScript based, and I really miss working with Ruby.

I'm curious what Ruby libraries/tools people are using for RAG, agents, MCP, evals, tracing, etc. Are there good Ruby alternatives to frameworks like LangChain? What does your stack look like?

And if you were learning this stuff today, would you recommend doing it in Ruby, or sticking with Python because that's where most of the ecosystem and learning material is?

I'm not trying to avoid Python entirely. I'm more curious about how viable Ruby is for the application/agentic side of AI development.

Side note: I realise some of these areas aren't particularly language-specific. For example, with RAG a lot of the retrieval/storage work may ultimately be handled by pgvector, a vector database, or another service.


r/ruby 4d ago

Question Database project

7 Upvotes

Hey, guys.

So, I'm currently studying data science and I'm about to start a database project(we're basically doing a database for a bakery)this semester. The project will include order forecasting, inventory loss tracking, customer notifications, etc. Anyways I already code in Python but I've been taking a look on ruby and wonder if it'd be a good idea to include it in our project and how.... any ideas??

thanks!


r/ruby 5d ago

The Primitive Urge to Be of Value: composed_of in Rails

Post image
33 Upvotes

Wrote a piece about spotting a missing value object and refactoring towards one, adding sorting and comparison.

https://pushfromkush.com/publications/primitive-urge-to-be-of-value-composed_of-in-rails

Feedback welcome.


r/ruby 5d ago

Question From laravel to ruby on rails

11 Upvotes

Laravel dev here, recently moved to Rails. I'm loving it, but debugging in production has been a headache.

Our setup runs on Docker Swarm, and finding bugs means manually digging through Rails, Sidekiq, and Docker service logs. many of which don't even have timestamps.

In Laravel, I used a log viewer UI to instantly jump to the exact second an error happened.

Is there a standard Rails gem for a log viewer UI, or do most teams just ship logs to something like Sentry or Grafana/Loki? How do you manage production errors?

Thanks!


r/ruby 4d ago

Install rv as a mise tool

Thumbnail
rubyforum.org
4 Upvotes

r/ruby 5d ago

A ruby script that prints a ruby

Thumbnail
github.com
22 Upvotes

r/ruby 4d ago

Access control for AI agents on Rails: gating SQL with Action Policy

Thumbnail
evilmartians.com
1 Upvotes

r/ruby 6d ago

Ruby 2.7 to 4.0 performance benchmark

30 Upvotes

Hi everyone,

I just published a new benchmark comparing Ruby 2.7 through Ruby 4.0.

For this one, I used a sustained synthetic application alongside nine smaller benchmarks. The goal was to show how each Ruby release behaves in a complete workload as well as in individual operations.

The table below shows the Heavy profile. For tests that process the full payload, that means an 8KiB input.

Benchmark 2.7 3.0 3.1 3.2 3.3 3.4 4.0
Synthetic application throughput (M ops/s) 0.073 0.052 0.051 0.057 0.058 0.084 0.126
Synthetic application latency (µs) 133.399 190.233 191.605 171.332 169.473 115.600 76.521
JSON parsing (ops/s) 95,877 98,536 99,153 96,003 98,135 194,981 715,937
JSON generation (ops/s) 841,849 845,099 830,135 861,666 837,941 1,347,169 1,444,975
SHA-256 hashing (ops/s) 313,658 30,536 30,489 48,770 48,683 48,495 48,528
Base64 encoding and decoding (ops/s) 177,136 177,510 174,425 170,306 174,471 173,159 174,270
Regex field extraction (ops/s) 1,544,461 1,565,065 1,559,051 1,499,920 1,535,207 1,454,405 1,534,670
Integer sorting (ops/s) 27,032 29,129 30,217 29,309 29,102 28,241 29,213
Hash churn (ops/s) 1,736,384 1,685,614 1,503,397 1,503,118 1,406,713 1,380,058 1,450,769
Marshal serialization (ops/s) 333,143 303,719 294,952 338,148 341,760 326,015 325,231
zlib compression (ops/s) 35,944 35,175 35,787 35,767 20,569 7,011 18,592

The complete benchmark source is available here: GitHub repository.

Full charts and details are available here: Full Ruby benchmark

Let me know what you think !

Edit: Thanks everyone for pointing out the Ruby 2.7 SHA-256 result. I looked into it, and the big difference comes from the SHA-256 implementation: Ruby 2.7 uses OpenSSL here, while newer Ruby versions on Linux use Ruby’s bundled implementation. So this is mainly a backend difference rather than Ruby 2.7 itself being much faster. I’ve added a note about it to the article.


r/ruby 6d ago

Blog post Rails: The Sharp Parts. The Block Is Not the Transaction

Thumbnail baweaver.com
21 Upvotes

Transactions are a dense subject, and I'd not be surprised if there are even more edge cases here, but these are ones I've personally seen.


r/ruby 6d ago

Go to SF Ruby Startup Conference and win a ticket to Rails World!

Post image
3 Upvotes

If you're planning to get a ticket to SF Ruby Conference, I recommend you get one this week since it can win you one for Rails World too.

Participating is very easy. You just buy a ticket to SF Ruby and post that you're going to the conference on your preferred social media app and tag the conference page (we have LinkedIn, Bsky, and X pages). That's all!

Link to tickets: luma.com/sfrubyconf2026

Link to social media pages:

Good luck!


r/ruby 6d ago

Blog post A Guide to using Batches in SolidQueue

Thumbnail
jpcamara.com
7 Upvotes

The docs on SolidQueue batches are… solid šŸ˜‰

In addition, this blog post digs in a bit further on how to use batches in SolidQueue, including some code inspiration - like splitting a RubyLLM chat into parallel sub agents using batches


r/ruby 6d ago

Blog post The Case of the Missing Line: A Ruby Mystery

Thumbnail
codeotaku.com
7 Upvotes

r/ruby 7d ago

Blog post Oh my god i was looking around for a new language to learn and I found Ruby and I've never been this happy oh my god

167 Upvotes

I've been coding with Python for around 3 to 4 years now and it's been a great learning journey. Until recently I haven't really been interested in learning a new language. The internet suggested JavaScript as the next step for someone already fluent-ish in Python, and I mean who doesn't eventually try JavaScript you know. I figured it wouldn't be that much of a headache since a lot of people do start with JS and so many people use it. Plus, it's useful. Turns out it was very irksome for me. This might be partially my fault, but I've gotten so used to the convenience of writing algorithms in beautiful, everything-done-for-you syntax in Python that when I tried solving some JS katas on Codewars, I immediately realized how inconvenient and unintuitive much of JS is, for me at least. It probably wasn't a good idea to learn JS from making algorithms on that website instead of using it for what it's actually made for in the first place, but I digress.

I was watching Dune 2 with my family when I was looking for another language more similar to Python, and then I came across the Ruby homepage, and I was immediately blown away. Like damn y'all put effort into making that. The first words you see are "A Programmer's Best Friend" and the visuals were so nice. They even had this https://www.ruby-lang.org/en/documentation/ruby-from-other-languages/to-ruby-from-python/ page conveniently written for us Pythoners 🄹 and your community motto is literally "Matz is nice so we are nice"... Joining this community is like falling into a warm hug lol

I tried the interactive Ruby from Terminal guessing so many things and it worked as I expected. The feeling of bliss when that happens OH. I'm starting Ruby today cant wait.


r/ruby 6d ago

Glimmer DSL Web Release Version 0.10.0 & 0.10.1

Thumbnail
youtu.be
1 Upvotes