Supporter Talk by reinteractive: Future Proofing your Ruby Stack

Summarized using AI

Supporter Talk by reinteractive: Future Proofing your Ruby Stack

Errol Schmidt • November 13, 2024 • Chicago, IL • Talk

The talk titled Supporter Talk by reinteractive: Future Proofing your Ruby Stack presented by Errol Schmidt at RubyConf 2024 focuses on the business considerations of maintaining and evolving Ruby applications while keeping up with industry standards and developer insights.

Key Points Discussed:
- Introduction and Context: Errol emphasizes that his perspective comes from a business angle, where he leads a team of developers managing various Ruby applications, including legacy systems. He stresses the importance of open communication between developers and management regarding the technical stack.

  • Current State of Ruby Applications: Most Ruby applications are built on Rails and hosted on platforms like AWS or Heroku. There's an ongoing need for developers to prioritize security, ease of development, and progress in technology.

  • Security Concerns: Security is highlighted as a critical aspect, often overlooked until a major incident occurs. Errol shares a cautionary tale about a significant data breach at Opus, caused by inadequate security measures, underscoring the importance of strict security protocols and developer awareness.

  • Developer Engagement: Developers should feel empowered to voice their opinions about necessary upgrades, particularly regarding Ruby versions, security improvements, and feature development, as they are often the most familiar with the applications and their needs.

  • Challenges of Upgrades: The resistance to updating versions is a common issue among companies focusing on immediate feature demands over necessary upgrades. Errol gives examples of businesses still operating on outdated Ruby versions (like 1.0), leading to potential security vulnerabilities.

  • Community Contribution and Training: Errol emphasizes the value of contributing to the Ruby community, encouraging attendance at events and sponsoring activities. He discusses the benefits of internal training for developers, including time allocated for skill enhancement, which can lead to significant benefits for the company.

  • AI Considerations: While touching upon AI's rising relevance, he cautions against hastily integrating it into applications without assessing its necessity and value.

  • Looking Toward the Future: Companies are urged to maintain a balanced focus on security, the ongoing need for upgrades, and ensuring developer morale remains high. Happy developers directly correlate with production efficiency and job satisfaction.

Conclusions: The talk concludes with the assertion that while budget considerations matter, the focus should be on security, performance, and the well-being of the development team, as they are the greatest asset in future-proofing the Ruby stack.

Supporter Talk by reinteractive: Future Proofing your Ruby Stack
Errol Schmidt • November 13, 2024 • Chicago, IL • Talk

Discussing how current industry trends and product owner expectations effect how we build and maintain our Ruby apps (without compromising).

RubyConf 2024

00:00:15.240 hey how's everyone doing one good to see you um yes so I'm going to talk about future proofing of Ruby stack uh first
00:00:22.480 of all um I going to apologize for my accent I'm from Australia you can
00:00:27.720 understand me right okay good all right if if you miss something I say because I
00:00:34.440 am not understandable or you just didn't understand it I don't know CU I said something weird just jump up and ask a
00:00:40.760 question totally fine I'm more than happy to be interrupted so go for it um
00:00:45.800 what I want to talk to you about today is um uh more from the business aspect
00:00:51.840 actually of what of what the future of your Ruby stack is full transparency I'm
00:00:58.000 not a senior developer like obviously I'm a developer but I'm the CEO of the company which means that um you know I
00:01:04.920 get to run a magnificent team of developers of senior developers who know what they're doing uh we have as a
00:01:12.280 company we're quite large we've onboarded tons of Ruby applications and
00:01:17.880 still and present like lots of new applications being on board at all the time and we get to look after some
00:01:23.439 Legacy applications and and so on I might talk about a few of those a little bit later um so as I said not a
00:01:30.400 technical talk uh so what we're not going to talk about we're not going to talk about improved concurrency there's definitely
00:01:37.399 other talks on that uh we're not going to talk about the move from rail 7 to 8 although that's important and you should
00:01:44.320 know about it we're not going to talk about that today and what we're definitely not going to talk about is
00:01:49.360 whether to use the term master or main if you've been reading Twitter
00:01:56.039 recently okay so let's talk about first of all what the current Ruby application
00:02:02.200 is it's you know for all of our diversity in our community things are
00:02:07.399 actually reasonably standard in Ruby world so in Ruby it's usually a rails
00:02:12.599 application right I mean usually not 100% but usually it's usually on AWS or
00:02:19.000 Heroku and I'm telling you this just from this is my experience talking to a lot of people every week I'm talking to
00:02:25.800 companies that are running Ruby apps um and it's still aw or
00:02:31.480 Heroku um most companies have either a developer that is working full-time on
00:02:38.720 the application could be a mid or a senior developer sometimes it's larger teams sometimes that's outsourced to
00:02:44.440 companies like mine um but there's usually developers so things are usually under constant work usually
00:02:52.680 speaking um and the question that a lot of clients ask me is am I doing things
00:03:00.440 the right way and you know I'm not controversial at all like I don't go for any
00:03:07.080 controversy and I've got to say there's no right or wrong way to approach your stack there are certainly some ways that
00:03:14.440 I might consider better than others and you might consider better than others but we're all very free and welcome to
00:03:22.080 have have our own opinions you have to do what's best for your applications for
00:03:28.120 your clients you know what I mean just give me a quick shot of hands who in here is uh works as a
00:03:35.200 developer okay most of you and then who's like an executive or some other part of the company okay good good so
00:03:42.360 what I want to talk to you today about is how to approach this stack from both sides so if you're the manager if you're
00:03:48.200 the executive if you're the CEO then you've got control over that stack you get to say this is how it works this is
00:03:54.400 what server I wanted on this is what uh version I want to be on by next week you
00:04:00.280 know that sort of thing if you're a developer you might feel like you've got less of a viewpoint on that and you
00:04:06.400 might have some very very valid opinions and here's what I want to tell you from years of working in this industry as a
00:04:12.680 developer I would like you to have more of an opinion that you can push up the
00:04:18.400 organization because quite often the developers will know things like hey we should be upgrading from Ruby 2 uh Ruby
00:04:26.800 2.0 like we should be upgrading from that you you know that very well does the CTO know that does the CEO know that
00:04:34.479 maybe not they might have the consideration about how expensive that is or why not to so I just you know as developers I
00:04:42.840 want you to have more of an opinion and feel free to be able to to speak your
00:04:48.440 mind to say your opinion because you know what you're the guys on the ground you have the best Viewpoint in my
00:04:54.199 company I listen to my developers you know when they tell me hey we need an extra week on this or this isn't going to work or that feature is not a smart
00:05:01.039 feature listen to them these guys know okay so let's have a look at um the
00:05:07.000 currency of where most Ruby Stacks are at and then we're going to talk about what the future is going to look like a
00:05:12.360 little bit okay so when I'm talking to people three main considerations that we
00:05:17.479 come up against one is security uh and this is probably by
00:05:24.280 survey and anecdotally the most important is security if it's not
00:05:29.919 probably should be um security is one of those things that if you get it wrong it's
00:05:37.680 catastrophic you might have had some experience with this or you probably know some of the stories um you hear
00:05:43.600 about data leaks you hear about uh companies that get things I'm going to talk a little bit more about this in a
00:05:48.880 minute I'm going to give you an example of one that is absolutely horrific the second consideration that we hear about
00:05:54.639 is the ease of development you know your production pipeline your backlog um
00:06:00.160 do we write new features or do we improve the existing ones um does the application do what my users want it to
00:06:08.160 do and you can often get the push and pull because you might hear the noisy few who demand certain features get
00:06:14.840 written uh and they represent actually a small number of users the large majority of people you don't hear from because
00:06:22.039 things are going right you know what I mean yeah okay all right there's probably some other points here that I
00:06:27.880 haven't brought up I'm just like these are for me these are the top three this is what comes up most okay so let's dig
00:06:33.599 into security a little bit more so companies can sometimes not think about
00:06:39.440 security as a top concern a top consideration and that is disastrous
00:06:45.560 security is one of those things that where it goes when it's right and there's no infiltration and nobody's
00:06:52.599 done anything wrong you don't hear about and you don't have to worry about when something goes wrong it's a problem I'm
00:06:58.520 going to give you an example this one that you may have heard of uh there's a company in Australia called Opus anyone
00:07:04.879 heard of this company Yeah couple of you it's sort of famous in the security world so Opus is Australia's second Le
00:07:12.919 largest telecommunications provider about 10 million users so they're pretty big right 10 million Australians have
00:07:20.199 their details with Opus One Day a midlevel developer in that company
00:07:25.759 wanted to test out some work that done and somehow for
00:07:31.759 some reason he was able to access the public database and he connected that
00:07:37.879 public database to his development I mean you get a shiver up
00:07:42.919 your spine just hearing about this right and the worst happened the absolute worst happened someone
00:07:49.520 discovered that this had happened it wasn't Switched Off like somebody turned it on was never switched off sometime
00:07:55.599 later 10 million records were taken 10 million records and I'm not just talking
00:08:01.639 about names and email addresses I'm talking driver's license
00:08:07.080 numbers passport numbers because a mid-level developer did that now was it
00:08:12.840 that mid-level developer's fault actually no I mean you could say yeah
00:08:18.159 you know he should have known better but how would he have known better he would have been better trained he wouldn't have had access to that public database
00:08:24.440 there should be no way in the world that that database could ever be connected with a development pipeline just no way
00:08:31.840 so that that's an obvious and horrific example millions of drivers licenses had
00:08:37.959 to be reissued because of that it was just horrific uh and that guy probably felt really bad about it but whose job
00:08:44.720 was it well okay you got Senior Management that's whose job it was so as
00:08:49.920 a as a as a developer on the tools you should be pushing for higher
00:08:55.800 security because when things go wrong you shouldn't get blamed for that I mean for sure you know you need to do your
00:09:01.760 due diligence and be cautious and everything else but security is your concern but it's also a management it's
00:09:08.279 an organizational concern uh here's another problem that's looming for all of us it's the problem
00:09:14.240 of AI um it's not looming it's present right now um and I'm not going to harp
00:09:19.720 on AI I might bring it up again in a moment but when you feed your data into a generative AI model what happens to
00:09:27.000 that data it's a it's a to think about it's something to think about the answer
00:09:32.200 is I actually don't know I mean the larger companies will tell you that that data is not being used to train the
00:09:37.640 models but I'm not sure about that and you shouldn't be sure about that either
00:09:43.079 so just have that as a consideration if your company or you yourself want to use a generative AI model and there's
00:09:49.560 information going into it that needs to be that um that is personal in some
00:09:54.760 sense you're going to want to do that all on board keep it within your own Sur make sure that data doesn't go outside
00:10:01.600 your server think about that very seriously because it's a little bit of the Wild West out there at the
00:10:08.279 moment um the other point on security obviously is the infrastructure I'm going to talk
00:10:14.160 a little bit more on that in a moment and obviously versions what versions are
00:10:19.320 you running we talk about this endlessly of course you know it's the question that I it's the first question I ask
00:10:25.720 every single new client that comes to me what versions are you running what's your you know the development to get
00:10:31.040 that upgraded typically in companies and I tell you this with the greatest of love for those companies um they want to
00:10:38.079 build features and they want to fix bugs all very well and good and should be done the upgrades come later so in the
00:10:46.160 last 12 months I've done some very very extensive upgrades for some very very
00:10:52.079 big companies some of them might be represented here today I'm not going to mention them because you might even be in this room right now and I'm sorry if
00:10:59.360 I'm talking about you but those very very large companies with millions of users haven't done their upgrades still
00:11:06.760 operating off old versions it's you know you think uh it's embarrassing but I think we've all experienced
00:11:14.120 it uh the next one okay feature upgrades bugs or the latest versions so how do
00:11:22.040 you prioritize those concerns now you know when we talk about these upgrades I've seen some horrendous things you've
00:11:27.639 probably seen them too which did an upgrade for a company recently they're on Ruby 1.0 how does that even happen I don't
00:11:35.200 know there's probably people in this room that weren't even born when Ruby 1.0 was around like that's how old that
00:11:42.079 is puts it in perspective right when you get a company like that interesting
00:11:48.200 thing the developer who was the main developer on that obviously he tells me he's getting pushed to right you features all the time and so that's why
00:11:55.120 he could never get around to the upgrades and anytime he did start it was like the job is so big how to I even start it the truth of it was he knew how
00:12:03.839 to program in those in those versions and you know the corresponding rails
00:12:10.360 version which might have been two or something I can't remember he knew how to program in that not many people do
00:12:17.320 like you actually have to know something about about those languages at that time to be able to program in that so it
00:12:24.040 makes it extra hard his job was Secure because of that not a great look so
00:12:29.760 anyway again if he's listening I'm sorry um so we know that upgrades can be hard
00:12:36.920 work they can be a lot of work in particular if you've sort of left it a little while and you're on an older version let's say you're on Rails four
00:12:44.079 maybe or five the upgrades can take a bit of work you know some of those larger ones that I was telling you about
00:12:49.160 with millions of users that's uh many many weeks of work estimate to do one
00:12:54.399 recently was um 26 weeks of development
00:12:59.800 that sounds like a lot but that was 26 weeks from a guy who knows how to do rails upgrades Ruby upgrades knows how
00:13:07.000 to write the tests knows how to run the pipeline and all of that like that's you
00:13:12.639 know that's serious work to get those done they weren't in particular involved writing rewriting all the all the squl
00:13:18.959 as well so that was a whole different thing um so have some influence
00:13:25.240 on the executives and the management in your businesses and if you're a CEO or CTO or someone like that in this room
00:13:32.839 put some consideration into it because upgrades are important not just for security uh stability speed as well okay
00:13:42.839 server costs this one apparently is a Hot Topic uh so like I said I'm using in our
00:13:50.399 company we use AWS or we use Heroku I am aware that these are not the cheapest options in the world I'm well aware of
00:13:56.680 that why do we use them we use them because because they are the most
00:14:02.040 certain and when I'm dealing with large companies and I'm dealing with businesses whose very production and
00:14:10.199 day-to-day work relies on their applications they need to know that that server has maximum up time they 100% but
00:14:17.880 maximum up time they need to know that the security is not in question they need to know that if it falls over
00:14:23.440 someone can put it back up rapidly um these things are more than minor
00:14:29.120 considerations if a company's server goes down and their application stops working and I get a phone call at 3:00
00:14:35.720 in the morning I'm not going to be super happy about that so I want to make sure it's working um so for those reasons we
00:14:42.199 I guess to put it bluntly pay the premium um that doesn't mean that
00:14:48.040 cheaper server options aren't out there and you might want to test those and I'm
00:14:54.639 I'm talking to you from a history of um I started I have a a confession to make
00:15:00.639 I started as a PHP developer so let me apologize for that straight away
00:15:07.639 um uh and back in the day everything was by
00:15:12.759 FTP and you know I thought that was the best system wasn't it was Dreadful it was absolutely Dreadful pushing straight
00:15:19.399 to production by the way um so when I discovered AWS and I
00:15:25.600 discovered Cloud servers uh it was like this is incredible this is amazing there is
00:15:33.560 actually security implications that can be taken care of here I can actually uh spin up a whole pipeline here I can use
00:15:40.920 this thing called git never heard of it before you know all of these things were amazing and impressive to me and so I
00:15:47.120 paid for it and then as those companies AWS and subsequently Heroku
00:15:53.519 grew uh they started increasing their costs because they had to they entered the market at a loss at a very big loss
00:16:02.160 as a matter of fact I if you remember AWS when it first started it was like everyone was like how can they do it
00:16:07.399 this cheaply truth is they couldn't uh and then we see a lot of things on the market today that are at a
00:16:14.480 lower price point for much better performance you know you know higher
00:16:20.360 performing CPUs and so on uh there's a concern that those ones
00:16:25.519 will go up I'm not going to say they are because I don't run those companies that I know don't know their profit and loss statements but I have a feeling they're
00:16:32.800 probably going to move up in price at some point um they certainly have to improveing Performance as in uptime so
00:16:39.880 these things are considerations um Community contributions this one's
00:16:47.560 very important to me very dear to my heart obviously I'm a sponsor of this event here today uh but I sponsor a lot
00:16:55.120 of events I do the ones in Australia as well and I try to spread it as much as I can why do I sponsor I sponsor because
00:17:02.600 the community is important yes it gives me some exposure or the rest of it whatever but I can do that through Google ads as well this is much more
00:17:09.919 important to me you know what we do here and this community is so much more important so consider yourselves whether
00:17:17.079 you're working for a company or you're working for yourself or you run a company consider gems consider
00:17:23.439 sponsorship consider open source contributing to open source here's another one that's very very important
00:17:30.400 is giving your developers or if you're a developer yourself time to up skill now a lot of
00:17:37.520 companies do this and if you do do that thank you very much um but I think it is
00:17:43.440 very very important um in R Tractive we have uh a full day every week where our
00:17:48.559 developers up skill um I'm going to talk a little bit more about what else gets
00:17:53.640 done in that in a moment uh the third point on community contributions includes mentorships and community
00:18:01.120 events so um we've run a lot of these sorts of activities in Australia and I
00:18:06.400 realize they can be a lot of work and I realize it can be quite a an imposition to do them but mentoring or going to
00:18:13.559 events where you can help people on board and learn how to spin up Ruby and rails on their
00:18:20.000 machines um it's very very important when I go to these events when I go to the Ruby conference in Australia there's
00:18:26.120 like maybe 1502 200 people like a lot smaller than this one obviously but out
00:18:31.559 of all of those people constantly are coming up to me saying hey I got into the industry because of your company or
00:18:37.320 because of what you did this is not you know I'm not telling you this to be egotistical or anything I'm telling you
00:18:43.120 because it's important to do like a small contribution to the community means an entire career for someone
00:18:50.480 entire applications running on Ruby that were not before and now will be because
00:18:55.520 of what you do um another point that I didn't put down here is uh contribution in terms of
00:19:03.080 writing articles so you have senior developers or you are a senior developer
00:19:08.559 and because of that you have this vast repository of knowledge up here and this
00:19:14.240 is incredibly important so when you solve a problem or you do something that you think no one else has properly done
00:19:21.080 before you should write it down write an article it doesn't matter if the article is this big or this big it doesn't
00:19:26.679 matter but write it down get the article written I get probably about two articles a week out of my team sometimes
00:19:33.039 a bit less sometimes a bit more um but these technical articles right they're not this is not for SEO
00:19:40.360 purposes I don't write I don't get them to write these things because it's great for our SEO sometimes it helps sometimes
00:19:46.480 the strangest things rank well that you just didn't expect to uh but we write it
00:19:52.039 because one day in the future some developers going to be looking for a solution to something and chat GPT is not going to know the solution to it but
00:19:59.200 our article will be there for them that's why we do it so this history of
00:20:04.559 what we do and how we do it is important um AI going to talk very
00:20:09.840 briefly about it um if you're using AI in your applications think about do I
00:20:15.960 actually need this the same as you do when you're writing a feature do I actually need it you know is this going to be important is it going to be used
00:20:23.120 you know does anyone think this is valuable goes W for AI because you can spend a lot of time trying to write it
00:20:28.960 trying to get it right trying to make it useful and find that no one's going to use it so uh use AI correctly where it's
00:20:36.640 needed like uh we have an application we wrote recently that uh company has a ton of emails that come in over tonight
00:20:42.520 they're an import sorry overnight they're an import company so these emails arrive overnight and they need to
00:20:48.159 be able to pass those emails to understand what to purchase for the next day right because they're in Australia
00:20:54.200 the emails are coming out of Europe they can't read all those emails in enough time to do action those emails someone
00:21:00.159 else has already bought the stock before they did so we wrote something to pass those emails to read them these are all
00:21:05.880 like plain text nothing formatted all unformatted so we read the emails dump it into a database and they know first
00:21:12.200 thing in the morning exactly what to buy and what not to buy so that's a great use very low touch it's good use uh it's
00:21:18.520 about 98% accurate too so that works well uh another company I recently working with is a real estate company
00:21:24.960 they help people buy and sell real estate they want to build an application and um the application has to be able to
00:21:31.559 filter through you know I want two bedrooms this location this many bathrooms this space all of that sort of
00:21:37.600 stuff you know the normal filters that you see on those real estate apps so he said I need all those I go oh why don't
00:21:42.880 we just do it as a like a plain text well you know plain text I'm looking for a house that has blah blah blah it goes
00:21:48.440 why why what's the benefit of that and you're right there's actually no benefit to that it doesn't help anybody tick the
00:21:54.760 boxes it's much clearer it's very plain nobody's going to get it wrong there no hallucination happening you know what I
00:22:01.200 mean so just think about where you're going to implement and where you're not um that's all I'm going to say on
00:22:06.919 the subject of AI okay looking to the Future now very
00:22:12.000 rapidly we know security is the most important or at least should be um stay
00:22:17.600 on top of your upgrades obviously make sure the application is
00:22:23.960 tested and doe testing at regular intervals so uh I don't just mean in pen
00:22:29.000 testing there's a bunch of tests that are necessary you know making sure your gems are all properly published and up
00:22:34.240 to date things like that uh making sure uh your form inputs are all correctly
00:22:40.080 done you know proper filtering making sure that um uh what else I don't know
00:22:46.000 like there's a bunch of things that you know you need to consider when you're riding your applications there's automated tests for all these things so
00:22:51.640 you don't have to be overly concerned just run those tests make sure they're done regularly uh the other thing I do
00:22:57.120 in our company is staff training so we use a company called No before I don't know if you've heard of no
00:23:02.480 before they do um well they sort of started off doing just fishing testing for staff but they've sort of broadened
00:23:09.000 that out quite a lot um but they do regular testing and education of the staff so we run them through quizzes and
00:23:15.320 we do testing and we send them uh emails to check that they don't click on the
00:23:20.400 wrong link you know those sorts of things you have no idea like when we first started this testing this is a
00:23:26.440 company of really really smart people people and uh we had a 50% failure rate
00:23:31.919 on the fishing tests 50% um the last test that we did zero so the Education
00:23:37.880 Works recommend it very very thoroughly in particular a company like ours we're dealing with other people's data all of
00:23:43.600 the time if we do something wrong you know I think the company's over if that happens so consider that uh leads me on
00:23:52.000 to staff training um provide time for your staff to be properly trained like
00:23:57.360 allow their time for study uh we give our staff a full day every week to do
00:24:03.279 this so I you know I charge our our clients for a 4-day week so the fifth
00:24:09.000 day is used for that occasionally it's taken over by a public holiday or something but that's basically how that works uh it means that you always have
00:24:16.039 internal knowledge to solve problems it means that you always have the smartest guys on the Block if you do that
00:24:22.559 currently I'm getting through all of my stuff through the Ruby silvert program do you know about this program it's um
00:24:29.679 it's um an official certification um and it's tough like it's hard um the staff
00:24:36.679 did a dummy test to start off this process we did a dummy test and we had you know like the top result the top
00:24:44.360 score was 75% out of you know these really smart senior developers the top score was 75% and it went down from
00:24:50.320 there um so now we've done a bunch of retesting we've had the staff write questions for each other to test each
00:24:56.880 other out it's working really well and now we're going for the actual silver sht itself and I think we've just got
00:25:03.440 the first one through just recently and then the next and the next and we'll get everybody through and then we'll go for the gold certificate after that um in
00:25:12.240 doing this we're sort of making it a game like you know there's a game going on now of who can who can get the best scores who can write the toughest
00:25:18.520 questions but it becomes an activity that the staff play against each other and our team like many of your teams
00:25:24.200 will be is completely remote so I have staff at every corner of the planet um
00:25:30.320 but they can still play against each other and it's a great way to have people uh internally connect with each
00:25:36.320 other um if you do this sort of thing you'll
00:25:41.399 also have less staff turn over we've got developers that have stayed with our company for a very long time we don't
00:25:46.720 have a lot of turnover and I realize it happens in these sorts of companies I understand um but if they're achieving
00:25:53.679 new things constantly and feel like they're progressing personally and in their career is
00:25:59.799 then um sorry I don't know where my slides went then they feel like they they're achieving something make sense
00:26:07.240 all right um and this is the most important point the people are our
00:26:13.960 greatest asset when we talk about our Ruby stack this is the most important
00:26:19.600 this element here is the one that's that needs the biggest concern and the biggest attention and the most um
00:26:29.360 um the most attention from you here's something that I'm going to tell you that I think is incredibly important in
00:26:36.159 your company the morale of your staff is directly dependent upon their
00:26:41.960 production now of course the perks are nice you know nice chair a nice desk all
00:26:47.880 the rest of it these are incredibly important but if you want Happy staff they're productive staff that means
00:26:54.480 they're shipping features regularly they feel like they've achieved something when they've completed an application or
00:27:00.520 completed a scope of work or a project that they know the result of that hey the client was super happy with that
00:27:06.360 they loved us they want to use us again you know that sort of thing it's very important that company that we did that
00:27:12.080 development for last year they've just grown 150% because of the feature you
00:27:17.559 wrote th this is stuff that happens regularly with our code when we write it
00:27:22.799 but sometimes we forget to tell each other these things so it's good to know it's good to find out that actually you
00:27:29.440 weren't just valuable but incredibly valuable okay and that this doesn't just
00:27:36.799 go for the developers by the way it goes for every person in your staff it goes for the marketing team and HR and the
00:27:42.799 sales people the sales people sometimes never find out they sell something and
00:27:47.840 the development team do it and they do a great job and someone forgets to tell the sales guy hey that's a that was a
00:27:53.559 fantastic application that you advis them on that feature worked incredibly well just save that company a ton of
00:27:59.799 money you know so make sure you tell everyone okay summary then so your Ruby
00:28:06.039 stack is benefited by considering the security the performance in terms of the
00:28:11.679 development Pipeline and backlog and the budget is a concern but less of one I
00:28:17.279 didn't really talk about it in this talk here because it becomes sort of obvious it's actually a secondary concern the
00:28:24.120 budget consider these now like today and what you're doing um and their future state so you have to
00:28:31.000 think now about what things are going to be like in a year or so and remember finally that people are your real and
00:28:38.919 greatest asset um we've only got a few minutes left but any questions anything you want
00:28:44.799 to ask me yeah yeah right so um obviously we're
00:28:50.679 agile obviously um so how do you do the calculation you have to take into
00:28:56.120 account all the various scenarios and then select the most obvious path that's
00:29:01.679 that's how I would do it so yes you can go okay I know we need to do the upgrade from let's say we're going to go s to
00:29:06.960 eight and we're going to plan that for March April next year okay that sounds fair what if something comes up in the
00:29:13.799 meantime that is more important okay we we might have to Pivot to that but don't forget you know just keep it on the
00:29:20.200 timeline maybe it moves out by a month but keep it on the timeline yeah yeah any other
00:29:26.279 questions if you want to ask me anything personally just come up and grab me at the end I'll be around uh I've also got
00:29:32.840 some beanies if you want a beanie come and grab me they are very necessary in the weather here I didn't know I knew it
00:29:39.720 was going to be cold but it was cold right are we not cold yet this is not
00:29:46.600 cold yet oh okay okay wait till it starts
00:29:59.679 does it really can you go ice skating on it no no okay not quite that Frozen oh
00:30:05.279 okay right okay great all right well I'll be going home on Saturday
00:30:12.679 then oh yeah yeah okay yeah okay so can be CER all right well thanks very much for for talking to me today my number's
00:30:19.880 up there give me a call anytime I got a US number if you need to call that um or you can email me or uh jump on to
00:30:26.279 LinkedIn and find me it's under the QR code uh thank you very much I appreciate it thank you
Explore all talks recorded at RubyConf 2024
+64