<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><blockquote type="cite" class=""><div class=""><div dir="auto" class="">Sounds like you have a culture problem, not a technology one.</div></div><div dir="auto" class=""><br class=""></div><div dir="auto" class="">I’m far from a JS fan but I can’t believe Node land is much less productive and less likely to adoptive the kinds of good dev practice Rails foregrounded way back when? </div><div dir="auto" class=""><br class=""></div><div dir="auto" class="">I’d probably join their camp but push for better practices 🤷‍♂️ </div></blockquote></div>Matt, you’re right, we do have a culture problem. My hope is that in switching to rails, we would more easily break old habits and absorb the culture of quality that the rails community has championed.<div class=""><br class=""></div><div class=""><blockquote type="cite" class=""><div dir="ltr" class=""><div class="">Sounds like the team has a lot of existing expertise in curly-brace languages.  Honestly, you might be the odd one out here, as it can take a while to get comfortable and productive in a new language, and if you're the only one who's already there, switching languages might cost your team quite a lot in terms of forward momentum.  Also, as you've pointed out, introducing yet another language is... unlikely to mitigate your onboarding problems over the next 2-3 years (a likely timeframe for rewriting :allthethings:).<br class=""></div><div class=""><br class=""></div><div class="">I'd also be concerned that if your existing systems are brittle, getting everyone to switch languages *might* just result in having even more systems that are brittle, some of which happen to be half-rewritten in Ruby.  (It's easy to write unmaintainable code in any language.)  The time and energy they'd invest in learning a new language *could* be time and energy better spent leveling up testing and refactoring skills in the languages they already know.  In particular, it might be better to focus on some of the skills and practices highlighted in this talk:  <a href="https://youtu.be/UOOuW5tqT8M" class="">https://youtu.be/UOOuW5tqT8M</a>.  The same author [full disclosure: a friend of mine] also has a screencast series that will be my first stop once I finally get around to seriously learning JS:  <a href="http://www.letscodejavascript.com/" class="">http://www.letscodejavascript.com/</a></div><div class=""><br class=""></div><div class="">All that said... y'all's agreement to "adopt BDD going forward" might provide a reasonable way to introduce Ruby as part of the Cucumber stack.  (Or not; I'm aware that there is a JS implementation, but haven't checked it out.)  Either way... at risk of looking like a self-promoting jerk, you might appreciate some of my hard-earned advice on how to not make huge messes using Cucumber.  (Slides: <a href="https://www.slideshare.net/geeksam/cucumbers-have-layers-rubyconf-2014" class="">https://www.slideshare.net/geeksam/cucumbers-have-layers-rubyconf-2014</a>; video: <a href="http://confreaks.tv/videos/rubyconf2015-cucumbers-have-layers-a-love-story" class="">http://confreaks.tv/videos/rubyconf2015-cucumbers-have-layers-a-love-story</a>)</div></div></blockquote><br class=""></div><div class="">Sam, thanks for your measured and insightful reply. I’m not going to push too hard on switching to Rails. Instead, I will focus my energies on ensuring that our adoption of BDD is a success, regardless of tech stack.</div><div class=""><br class=""></div><div class="">BTW, I really enjoyed your talk about testing in layers. Amongst other things, it helped me make sense of the development flow when using both acceptance testing and unit testing. I wasn’t quite sure whether I would have both test suites on an autorun loop, or whether to switch between them. It sounds like you tend to have the unit tests on autorun and manually run the acceptance tests pre-commit/as needed.</div><div class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On 18 Aug 2020, at 17:36, Sam Livingston-Gray <<a href="mailto:geeksam@gmail.com" class="">geeksam@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div class="">Sounds like the team has a lot of existing expertise in curly-brace languages.  Honestly, you might be the odd one out here, as it can take a while to get comfortable and productive in a new language, and if you're the only one who's already there, switching languages might cost your team quite a lot in terms of forward momentum.  Also, as you've pointed out, introducing yet another language is... unlikely to mitigate your onboarding problems over the next 2-3 years (a likely timeframe for rewriting :allthethings:).<br class=""></div><div class=""><br class=""></div><div class="">I'd also be concerned that if your existing systems are brittle, getting everyone to switch languages *might* just result in having even more systems that are brittle, some of which happen to be half-rewritten in Ruby.  (It's easy to write unmaintainable code in any language.)  The time and energy they'd invest in learning a new language *could* be time and energy better spent leveling up testing and refactoring skills in the languages they already know.  In particular, it might be better to focus on some of the skills and practices highlighted in this talk:  <a href="https://youtu.be/UOOuW5tqT8M" class="">https://youtu.be/UOOuW5tqT8M</a>.  The same author [full disclosure: a friend of mine] also has a screencast series that will be my first stop once I finally get around to seriously learning JS:  <a href="http://www.letscodejavascript.com/" class="">http://www.letscodejavascript.com/</a></div><div class=""><br class=""></div><div class="">All that said... y'all's agreement to "adopt BDD going forward" might provide a reasonable way to introduce Ruby as part of the Cucumber stack.  (Or not; I'm aware that there is a JS implementation, but haven't checked it out.)  Either way... at risk of looking like a self-promoting jerk, you might appreciate some of my hard-earned advice on how to not make huge messes using Cucumber.  (Slides: <a href="https://www.slideshare.net/geeksam/cucumbers-have-layers-rubyconf-2014" class="">https://www.slideshare.net/geeksam/cucumbers-have-layers-rubyconf-2014</a>; video: <a href="http://confreaks.tv/videos/rubyconf2015-cucumbers-have-layers-a-love-story" class="">http://confreaks.tv/videos/rubyconf2015-cucumbers-have-layers-a-love-story</a>)</div><div class=""><br class=""></div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Aug 18, 2020 at 2:58 AM Edmond Lepedus <<a href="mailto:ed.lepedus@googlemail.com" class="">ed.lepedus@googlemail.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="overflow-wrap: break-word;" class="">Thanks for all your replies. Some really interesting points there. The ones that resonated the most with me were<div class="">- ask them to sell me on NodeJS </div><div class="">- figure out what the other devs care about</div><div class="">- ask why so many large, successful companies are built on Rails</div><div class=""><br class=""></div><div class="">I also really enjoyed reading the post about when Rails is not the right choice, and re-reading the Rails Doctrine, which is also one of the major draws of Rails. I have shared both with the team.</div><div class=""><br class=""></div><div class="">In terms of providing additional context, I have recently joined a small web team in a larger games company. Our focus is to deliver added value services eg forums, leaderboards, achievements etc for our players. Although I’m only a few months in the role, the company has been a client of mine for many years, and I was involved in delivering the original MVP system before there was even a dedicated team for it. Back then, the project had been started in Java + Angular, but due to hiring difficulties, I was brought in to get it over the line. I made the point even then that Rails would be a much better choice, but there simply wasn’t time to start over. Since then, the frontend has been rewritten in React, and although we still have the old Java backend, new services have been built in NodeJS (Express + Sequelize). Now we are building a new profile service, which will likely grow and eventually take over the last bits of functionality from the Java API so it can be retired. Our team has complete autonomy when making tech choices, so it’s ‘just’ the other devs I have to convince.</div><div class=""><br class=""></div><div class="">The main challenges our team faces are</div><div class="">- limited dev resource</div><div class="">- brittle systems, partly due to lack of automated testing (we have committed to adopting BDD going forward)</div><div class="">- issues hiring and onboarding due to having a mishmash of stacks, largely homegrown systems and virtually no documentation for any of them</div><div class=""><br class=""></div><div class="">I believe Rails will help with all of the above by improving productivity, providing handrails for our adoption of automated testing, and providing a robust, well-known and well-documented foundation for our services.</div><div class=""><br class=""></div><div class="">I think the main concerns are the initial productivity drop while everyone gets up to speed, the ‘loss’ of mindshare invested in NodeJS, and potentially making our onboarding even more difficult in the short term as we will have Java, Node, Rails & React.<br class=""><div class=""><br class=""><blockquote type="cite" class=""><div class="">On 17 Aug 2020, at 18:06, Ed James <<a href="mailto:ed.james.spam@gmail.com" target="_blank" class="">ed.james.spam@gmail.com</a>> wrote:</div><br class=""><div class=""><div style="overflow-wrap: break-word;" class="">Interesting topic.<div class=""><br class=""></div><div class="">Ed > it’s not entirely clear from your original message <i class=""><b class="">who</b></i> exactly it is that you’re selling Rails to - is it the dev/tech team or the business? </div><div class=""><br class=""></div><div class="">In my experience selling Rails to the business has always been the much easier sell, with the only reassurance required being the availability (and cost!) of developers. However, trying to sell Rails to a team of developers is likely to be extremely difficult in most cases. </div><div class=""><br class=""></div><div class="">It’s probably also worth thinking about whether it’s difficult because "Rails is Rails", or whether it’s difficult because "Rails is different-to-what-is-already-being-used”. Any tech team worth its salt will know that moving to any other tech stack is a big commitment which will likely have an early adjustment period of bewilderment and steep learning curves, resulting in reluctance/resistance to change.</div><div class=""><br class=""></div><div class="">Hope that helps.</div><div class=""><div class="">
<br class="">
<hr style="display:block;height:1px;border-color:rgb(204,204,204) currentcolor currentcolor;border-style:dotted none none;border-width:1px 0px 0px;margin:5px 0px;padding:0px" class="">
<br class="">
<table width="100%" cellpadding="0" border="0" class="">
  <tbody class="">
    <tr class="">
      <td width="70" valign="top" class="">
        <img style="margin: 8px 8px 0px 0px;" height="60" class="">
      </td>
      <td style="font-family:"Lucida Grande",sans-serif" class="">
          <span style="font-weight:bold;color:rgb(51,51,51);font-size:18px;line-height:30px" class="">Ed James</span>
          <br class="">
          <span style="font-weight:normal;color:rgb(153,153,153);font-size:12px;line-height:16px" class="">
              <a href="mailto:ed.james.spam@gmail.com" style="color:rgb(153,153,153);text-decoration:none" target="_blank" class="">I will respect your spam</a>
          </span>
      </td>
    </tr>
  </tbody>
</table>

</div>
<div class=""><br class=""><blockquote type="cite" class=""><div class="">On 17 Aug 2020, at 16:29, Edmond Lepedus <<a href="mailto:ed.lepedus@googlemail.com" target="_blank" class="">ed.lepedus@googlemail.com</a>> wrote:</div><br class=""><div class=""><div style="overflow-wrap: break-word;" class="">Hi LRUG,<div class=""><br class=""></div><div class="">Once again I’ve recommended Rails for a project, and once again, I’ve found it a really hard sell, and I suspect the decision will be to use NodeJS instead. It seems that outside of the Rails community, most devs have a pretty poor opinion or just lack of visibility into the awesomeness of Rails. I’ve been asked questions like “Isn’t Rails abandonware now?”, been pointed to StackOverflow’s developer survey (<a href="https://insights.stackoverflow.com/survey/2020#technology-most-loved-dreaded-and-wanted-other-frameworks-libraries-and-tools-loved3" target="_blank" class="">https://insights.stackoverflow.com/survey/2020#technology-most-loved-dreaded-and-wanted-other-frameworks-libraries-and-tools-loved3</a>) as ‘evidence’ for NodeJS’s superiority and been told that “the majority of Rails consultants make their money on migrating people to other platforms”. This is not a new thing. I’ve been recommending Rails for web projects for nearly 7 years, both as an employee and as a consultant, with zero success. And before you think it’s just my credibility, I’ve not had any issues when recommending, WordPress, NextJS, Kubernetes, Ansible etc. It’s just Rails.</div><div class=""><br class=""></div><div class="">My current team would benefit hugely from Rails. It would do wonders for everything from code quality and productivity to documentation and our ability to hire and onboard new developers, but I fear that we will once again default to NodeJS and miss out on most of those benefits. </div><div class=""><br class=""></div><div class="">The weird thing is that we use and love systems written in Rails, such as GitLab, and have enthusiastically committed to migrating our forums to Discourse, but the halo effect from those projects doesn’t seem to be affecting perceptions of Rails itself.</div><div class=""><br class=""></div><div class="">How do you sell Rails in a compelling way?</div><div class=""><br class=""></div><div class="">Thanks,</div><div class="">Ed</div></div>_______________________________________________<br class="">Chat mailing list<br class=""><a href="mailto:Chat@lists.lrug.org" target="_blank" class="">Chat@lists.lrug.org</a><br class="">Archives: <a href="http://lists.lrug.org/pipermail/chat-lrug.org" target="_blank" class="">http://lists.lrug.org/pipermail/chat-lrug.org</a><br class="">Manage your subscription: <a href="http://lists.lrug.org/options.cgi/chat-lrug.org" target="_blank" class="">http://lists.lrug.org/options.cgi/chat-lrug.org</a><br class="">List info: <a href="http://lists.lrug.org/listinfo.cgi/chat-lrug.org" target="_blank" class="">http://lists.lrug.org/listinfo.cgi/chat-lrug.org</a><br class=""></div></blockquote></div><br class=""></div></div>_______________________________________________<br class="">Chat mailing list<br class=""><a href="mailto:Chat@lists.lrug.org" target="_blank" class="">Chat@lists.lrug.org</a><br class="">Archives: <a href="http://lists.lrug.org/pipermail/chat-lrug.org" target="_blank" class="">http://lists.lrug.org/pipermail/chat-lrug.org</a><br class="">Manage your subscription: <a href="http://lists.lrug.org/options.cgi/chat-lrug.org" target="_blank" class="">http://lists.lrug.org/options.cgi/chat-lrug.org</a><br class="">List info: <a href="http://lists.lrug.org/listinfo.cgi/chat-lrug.org" target="_blank" class="">http://lists.lrug.org/listinfo.cgi/chat-lrug.org</a><br class=""></div></blockquote></div><br class=""></div></div>_______________________________________________<br class="">
Chat mailing list<br class="">
<a href="mailto:Chat@lists.lrug.org" target="_blank" class="">Chat@lists.lrug.org</a><br class="">
Archives: <a href="http://lists.lrug.org/pipermail/chat-lrug.org" rel="noreferrer" target="_blank" class="">http://lists.lrug.org/pipermail/chat-lrug.org</a><br class="">
Manage your subscription: <a href="http://lists.lrug.org/options.cgi/chat-lrug.org" rel="noreferrer" target="_blank" class="">http://lists.lrug.org/options.cgi/chat-lrug.org</a><br class="">
List info: <a href="http://lists.lrug.org/listinfo.cgi/chat-lrug.org" rel="noreferrer" target="_blank" class="">http://lists.lrug.org/listinfo.cgi/chat-lrug.org</a><br class="">
</blockquote></div>
_______________________________________________<br class="">Chat mailing list<br class=""><a href="mailto:Chat@lists.lrug.org" class="">Chat@lists.lrug.org</a><br class="">Archives: http://lists.lrug.org/pipermail/chat-lrug.org<br class="">Manage your subscription: http://lists.lrug.org/options.cgi/chat-lrug.org<br class="">List info: http://lists.lrug.org/listinfo.cgi/chat-lrug.org<br class=""></div></blockquote></div><br class=""></div></body></html>