Episode Transcript
Available transcripts are automatically generated. Complete accuracy is not guaranteed.
Narrator (00:04):
Hello and welcome to Code[ish],
an exploration of thelives of modern developers.
Join us as we dive into topicslike languages and frameworks,
data and event-driven architectures,
artificial intelligence, and individualand team productivity.
Tailored to developersand engineering leaders,
this episode is part of our“Heroku in the Wild” series.
Julián Duque (00:26):
And today we have the
opportunity to talk with Errol Schmidt,
CEO of reinteractive and a Heroku Partner.
Errol, how are you doing?
Errol Schmidt (00:36):
Yeah, fantastic.
And it’s great being here.
Julián (00:38):
Thank you very much for joining
us at Code[ish], our Heroku podcast.
We are so happy to have you here.
For those who are listening right now,you know that we are restarting
and relaunching the podcast,and we are glad to be able to talk to
our users, community leaders, partners,
developers and open-source maintainers.
(01:00):
We want to learn what they are doingwith Heroku and other technologies.
This is a deeply technical podcast,but also an opportunity
to see what others aredoing with our platform.
To start, Errol I wantto ask you a question.
What’s your first experience with Heroku?
(01:20):
How was that?
Errol (01:22):
Yeah. Okay, so our first experience
was probably about five years ago now.
To give you some background,I have been a developer for a long time
and most of that time working with AWS.
Julián (01:34):
Okay.
Errol (01:35):
So I’m sure many of
your listeners would be as well.
When you start working with AWS,and I got into that in the early days right,
and it’s complex.
You want to get something rightand you’re always doubting.
Did I set that up correctly?
So my very first experience withHeroku was, I think, was just doing
a Trailhead actually.
And did the drill,set it up, clicked the button.
(01:56):
It was done.I was like “Oh, that can’t be it.
There’s got to be more to this,there’s got to be some other complication.
What? Did I forget the security?Did I forget the backups?
Did I forget to set up the database?”But no, there it all was.
So, I think most people have this
experience where they go“Oh that was magical.” But it is.
Julián (02:14):
I remember in my time I had to
set up an Apache server,the actual configuration files.
I used to be a PHP developer before.
So, can you imagine allthe things you have to do
to get your application running?
And this is pre cloud.
So like, upload files with an FTP,
unzip things with SSH,doing things manually.
(02:37):
And then the cloudstarts, like, coming in.
But the experience of just
run one command or click onebutton and have the thing running.
It was for me when I didmy first deploy back in 2011,
if I’m not wrong,it was that, like a magical experience.
Errol (02:55):
Yeah, yeah. I remember at AWS
my first experience trying to followthe instructions to set this thing up
using the command line.
And it was just meta, meta.
And I’ve got to be honest,I didn’t understand it.
So when it went wrong you’d have togo back and go, okay, what didn’t I type?
Where did I go wrong, and edit.
Julián (03:13):
If you have good
documentation and good tooling
that I think is not going to be a problem,but sometimes it’s obscure.
You need this set of skills.
Understanding what you aredoing in order to do it right,
especially around security,networking, configuration, etc.
Awesome.
So, tell me a little bit more about yourbackground as a software developer.
Errol (03:35):
Yeah, well, I have to admit PHP as well.
Julián (03:38):
Oh, nice. Nice.
I mean, it is like most of the webis just running on PHP still.
Errol (03:44):
I mean, I’m anti-PHP these days.
Julián (03:46):
[Laughs]
Errol
Errol (03:49):
But that’s not to put anybody off.
Truthfully, I started in HTMLback before there was a CSS.
Julián (03:55):
Oh yeah.
Errol (03:56):
You probably look at me now going
“gee you can’t be that old,” well I’m that old.
Julián (03:59):
[Laughs]
Errol
Errol (04:01):
And sort of just progressed
from there, you know, moved into,
you know, CSS and then JavaScriptand then PHP, and that’s my background.
So, you know, that’s a lotof hard-won hours in front of a computer.
Julián (04:14):
You were around
in all of this, Ajax inception.
Errol (04:19):
Oh, yeah.
Oh, yeah, I remembermaking everything Ajax.
Julián (04:23):
Of course.
That was the whole thing back in the day.
Errol (04:26):
Yeah, but, you know,
I had a lot of fun doing that.
And I developed some thingsthat I thought were pretty good.
Built some pretty goodapplications for people.
I remember coding an entireecommerce website for a company
and then realizing there were pluginsthat could just do the whole thing.
Julián (04:41):
Yeah.
Errol (04:42):
Anyway, that’s the old days.
I moved from there into sales.
I like talking, I don’t always likesitting in front of the computer.
So, I moved into sales
and I like doing sales, it’s stillmy favorite thing to be honest.
Got a job at reinteractive andeventually moved into the CEO role.
Julián (04:59):
Oh, nice. And tell
me more about reinteractive,
what does the company do?
Errol (05:04):
We specialize in Ruby on Rails.
So basically, we have officesin Australia in Sydney
and also in San Francisco,so we operate internationally.
So, the company started 15 years ago,
and we are very probablyone of the oldest existing
Ruby on Rails solelydevelopment companies.
(05:24):
I say that becausethere are other companies
that have been around longer, but theydon’t specialize in Ruby on Rails any longer.
And so we have maintainedthat viewpoint, it’s all we do
besides the odd bit of JavaScriptframework around it.
That’s what we specialize in
and picked up Herokuvery early on in the piece as well.
So, founder of the company,Mikel Lindsaar,
is one of the early guys in Ruby
(05:46):
who was actually onthe original commit team.
Julián (05:48):
Oh nice.
Errol (05:50):
Yeah. So, his experience goes way back.
He actually wrote the Mail gem.
Julián (05:54):
Oh yes, I remember that one.
I used to be also like a Rubydeveloper, but a long time ago,
like 2010 before Node.js.
I started doing Node.jsand then like I got converted.
Let’s go full JavaScript.
Errol (06:08):
For your listeners then,
or for our listeners, I should say,
so the Mail gem is a library, code library
that exists in almostevery single Ruby on Rails
application that simplifiesthe process of sending mail.
Downloaded hundreds of millions of times.
That’s Michael, he’s since moved offto another company, so I run the company.
He started using Heroku in the early daysbefore its acquisition by Salesforce,
(06:32):
because Heroku was actuallydeveloped for the purpose of Ruby.
Julián (06:37):
Yeah, that was the main platform,
the main language that we used to serve.
Errol (06:41):
There’s definitely an interesting
relationship that still exists
when you go to conferencesand you talk to people.
So, we continue to use Heroku today
because it is still the best tool for Ruby.
When we do development workfor a lot of companies they’ll
bring their applications to us.
They will sit on one of two things:
AWS or Ruby, occasionally. (06:56):
undefined
But it’s typically one of those two.
The AWS applicationsgenerally have complex and untidy
infrastructure layers and the Herokuapplications are a dream to work with.
Julián (07:11):
Nice. That’s pretty good to hear.
Does reinteractive onlyserve the Australian market?
Or are you expandingto serve other countries?
Errol (07:20):
We definitely operate internationally.
So we have that alliance with the US,so that’s where spend a lot of my time
in the year and I very much like itover here so that works out very well.
But yeah, we have a lot of clients here.
In the Australian market obviouslythey’re a much smaller market.
So there’s us and maybe one or twoother larger development companies.
Between us we own theentire market of Australia.
(07:40):
So, the US there’s a lot more expansion.
Julián (07:42):
Nice. I got asked
yesterday a pretty tough question.
And I want to ask you becauseI felt it was pretty good.
What has been the most interesting thing
that you have learnedin the past six months?
Like something that gives you like,“Oh my God, this is really nice.”
Errol (08:01):
You’re probably gonna hate
me for being so boring about it,
but I think every day I learnsomething new on the subject of AI.
Julián (08:09):
Mm hmm.
Errol (08:10):
I’m the sort of person
that continually, I’m reading,
I’m listening to webinars and so on,and try to learn as much as I can.
Every day I learn somethingnew and interesting,
and I’m in this very fortunate position
where I get to speak to the mostinteresting people from all over the world
that have got the most incredible storiesand are doing the most amazing things
(08:32):
with the technology.
We can sometimes takethat technology for granted.
Julián (08:36):
Mm hmm.
Errol (08:37):
I think this is like a
factor of being a developer or
anything in the industry for a while.
You can start to take things for granted,
but when you hear the amazingthings that people are doing
every day, I probably haven’teven answered the question.
[Laughs]
Julián
This is this pretty good. Don’t stop.
Just this morning I met a guy.
He’s a local in San Francisco,and he’s developed a code
(09:00):
library to implementAI within Ruby on Rails apps.
And he is the most interesting guy.
Like, he had the most amazingthings, and I asked him,
“What are your applications?”Because one of the things that I
considered to be a barrier at
the moment is trying to findbusiness-ready applications for AI.
(09:20):
Granted, there is a lotof sideshow about it.
Julián (09:23):
And it is a lot of experimentation.
Errol (09:25):
Experimentation.
That’s the right word for it.
Yeah, not sideshow, the experimentation.
Which is fine and there needs to be.
Like people like usneed to be playing with it
every day to figure out“How are we going to use this?”
So I asked him, what areyour business-ready cases?
And he gave me two examples.
The two that he gave me
were both vision-based AI,which is the thing he specializes in.
So, vision-based AI is having theAI recognize details from an image.
(09:52):
And he said this is one of the areasthat has come so far just recently.
And we all love you know, you canuse ChatGPT to analyze a photo,
like ask it “What’s this photo?”So the first application
he told me about was puttingcameras into a dairy shed
where the milking cowsare in their pens and so on,
and the cameras watch the cows
(10:15):
and can tell by their eatinghabits and their behavior
if they’re getting sickand if they’re getting sick,
they can treat that cow before itbecomes an issue and they lose.
Which I just found amazing because it’sa cow, and he said “Oh look, it’s easy.
You can tell how much it’seating and drinking
and you can watch the cow becauseit’s an otherwise static thing.”
And he said the interesting one that hedid just after that was even more incredible.
(10:38):
And this was for medical.
And what he does, he’s gotit in an operating theater,
where operations are being done,
and has a camerathat sits above the patient
and the many peoplethat move around the patient.
And what this tool does
is it counts the number of itemsthat go into the operating theater,
watches them, and checks themcoming out of the operating theater.
(10:59):
And the reason for that is you don’twant to leave something inside a person.
Julián (11:04):
[Laughing] Definitely not. That sounds terrible.
Errol
That is the most incredible use case.
And there is an incredible use.
And you couldn’t have done that six monthsago, twelve months ago...impossible.
Yeah, I think it’s a pretty
good example and use case of AI
augmenting the job, augmentingthe tasks that you need to perform
(11:26):
instead of,“Okay, this is going to replace me,”
which is this feeling
that a lot of people has like,“Okay, AI is going to replace me.”
I personally don’t believe that,even though in my case, I’ve been trying
these newer AI-based IDEs.
Pretty much you are coding andyou’re building projects with prompting
(11:47):
and it’s fully automatic, which is impressive.
But it still needs theperson that’s skilled enough
to know what to input,review that whatever
this AI is building is correct.
It is solving the problem you arepretty much writing in the prompt.
So it is augmenting my work insome case, and it is giving me
(12:09):
some productivity enhancements,but it is not taking over what I do.
Errol (12:14):
Yeah, yeah.
Julián (12:16):
And I think it’s very important
for people right now to start learning,
even though in the most simplestuse cases, which is prompting.
How to ask questions to an AI,this is the same skill
that we have to get, I don’t want toget wrong, but maybe 20 years ago,
how to search on Googleor how to search on a search engine.
Errol (12:37):
Yeah.
Julián (12:37):
What to write on a search engine
or as basic as working on a spreadsheet
and doing basic formulas becomessomething like everybody needs to know.
Yes, exactly.
So, a lot of people ask me because I’vebeen doing, like, some talks around AI.
It’s like, Julián what do you thinkwe should do to not get left behind?
(12:59):
I say, okay, no, go ahead.
And you don’t need to study the math.
You don’t need to gointo the deep research papers
unless you are veryinterested in that topic.
But at least understand what isthe problem that is being solved
and how to ask the properquestions, how to prompt.
And I know a lot of peoplekeep saying that prompt engineering
is the most important thing and it still is.
(13:21):
I think it’s very important to get that skill.
Errol (13:24):
I had a thought on
that just recently, actually,
because I’m currently assessing,
internally we’ve got a large team of developers,
and I’m assessing whichtools and how to use those
effectively so that we basicallycan do more work in less time.
Clients are happier.
And I think the job ofwriting the correct prompt
or series of prompts for adeveloper to get good code out
(13:48):
is a little bit similar to [the job of]a good project manager.
Julián (13:52):
Mm hmm.
Because a good project managerhas to figure out what’s the problem we’re
trying to solve and translate that into“Here’s the story, here’s the details.”
And that is a little bit similarto what we’re going to tell the AI.
And the thing is,a lot of people right now
who think that they can typea very basic prompt into an AI tool
(14:12):
and get back a piece of codethat they can use in a program.
And they’ll get backsomething that probably isn’t
what they actuallywanted in the first place,
and the answer to that would be probably.
Yeah, exactly.
You need to iterate, of course, to beable to get exactly what you need.
And the more specific, the moredescriptive, it can get you there.
(14:33):
You mentioned somethingearlier about these business
use cases, like now using AIlet’s say it in production.
In your customers,or the people you are talking to
right now, do you see thatthere is like a good adoption?
Now companies are being moreconscious about the adoption of AI
and they are asking you and yourcompany to implement the solutions?
(14:55):
Or they are still hesitant to do it?
Errol (14:58):
We completed a couple of good
projects recently, like over the last 12 months
we’ve completed a couple.
But mostly people are still hesitant.
The reasons they’re hesitant
obviously with dealingwith enterprise-level businesses
and the hold back isaround mostly security.
So, there is a concern still,is the AI tool going to be
(15:19):
using the data that I putinto it for further learning?
Julián (15:25):
Mm hmm.
Errol (15:26):
And if you interrogate it,
the answer is no.
But can we be sure of that?
I can’t guarantee that to anybody.
I like the way Salesforce does it,removes personal information,
pulls that out before the prompt issent off, comes back, data is put back in.
I think that’s quite smart.
For many enterprises thoughthat’s still not enough.
(15:46):
And how to mitigate for them,I’m not entirely sure.
There’s a couple of waysthat I would consider,
one would be to host everythingwithin the same environment.
Julián (15:56):
Exactly.
Errol (15:57):
I think that’s
probably the best way to do it.
Then we have the secondaryproblem of is it going to leak data?
And I think things have come along way in the last 12 months.
Twelve months ago, we werestill dealing with that problem of
data from this example hereis going to go into this one incorrectly.
That was still happening.
Today I don’t think that is the case,but can we be certain of it?
(16:18):
And that’s wherecompanies are going to still.
Julián (16:20):
Yeah.
In the case of data securityand trust, that’s a delicate topic.
You mentioned toolswithin the same infrastructure,
but that’s super expensive.
And that will require also anotherset of knowledge and skills to be able
to maintain, like, an inferenceservice within your infrastructure.
(16:40):
Even though it is possible,I don’t think that’s going to be the route
for a lot of corporationsto adopt and implement AI.
Errol (16:46):
Yeah, we have to trust the
OpenAI’s of the world at some point.
Julián (16:51):
Or believing in things like
what Salesforce is doing with the
LLM gateway, data masking,
all of those, like, guardrailsaround the super important data
that you have on alike on an org like Salesforce,
which is customersthat are using Salesforce,
they have like pretty sensitive datathat they don’t want that data out.
(17:13):
Have you been doing projectsor evaluating Agentforce
in any of your softwareprojects right now?
Errol (17:22):
Yeah, the only real-world
one that we’ve done along
those lines was toimplement an AI chat model.
So, one of clients is called Norths Collective
and they are a hospitality group in Australia.
And the guy that runs the marketingand the IT infrastructure of that company,
Robert Lopez, great guy,recently got himself a gold hoodie.
Julián (17:43):
Oh, really? Nice.
Errol (17:45):
Yes. Couldn’t go to
a better guy. He’s fantastic.
So, he’s a very strong adopter, of course.
So, we developed an appfor them a couple years ago.
So that’s a membership app.
So, they’re the vendors that peoplethat go to the restaurants and the clubs
and so on have an app to do thesign in and check out their shows
and all that sort of stuff.
So, they recently integratedAgentforce to answer questions
(18:06):
on the website and stuff.
And so we just put the chat tool...
Julián (18:09):
Mm hmm.
Errol (18:10):
...onto the mobile version as well.
So that’s sort of like animmediate introduction to it.
Implementing that isincredibly easy though,
like it’s a couple of snippets ofJavaScript and we were done.
Julián (18:22):
Nice. And have you done like
any integration between, say, Agentforce
and Heroku or use cases around that?
Errol (18:30):
As a proof of concept.
So, I’ll be doing a talk at TDX,which will be done
by the time this podcast comes out,discussing that exact subject
of how to integrate Agentforcewith Heroku-based apps.
So, there is a lot of scope there,and I think there’s an enormous amount
to discover still.
So the app that I built
(18:51):
as a proof of concept for thatis a very, very simple one.
So, we’re using an agent
in this case to read some plain textdata out of an object in Salesforce,
use that to present preferenceoptions to a user using an app.
So, it’s a really simple example, butI think where that can go in the future
as this product expands and becomes
(19:12):
more known and understood by everyone,I think there’s a lot of use cases there.
Why I’m excited about that,the reason I get excited,
is because we have this very powerfultool, Salesforce, the Agentforce tool,
and it is capable of doing a lot
with the data that sits there anddata that we pull in with cloud.
So, it has this enormous amountof proprietary data at its fingertips,
(19:35):
and then we can expose what wewant to of that to a very wide audience
through a Heroku app.
So, you might have a bunch of datawhich is very secure sitting within Salesforce.
You want to exposejust a small part of that
to a user of an app.
So it doesn’t have to even be very much,
but we can do that using Agentforceand connecting that through Heroku.
Julián (19:59):
Nice, and we are always
working on making that wholeexperience, integration and set up
more straightforward and nativefor the Salesforce admins and developers.
Now with AppLink, Eventing, all of thesegreat things that that we recently
announced, you now are going to be ableto more easily integrate those two worlds.
(20:22):
I’m also super excitedabout all the possibilities around
and trying to also find some of those
use cases and experimentingto see what else can be done.
I still believe there is a lot of things
to explore, a bunch of opportunities.
Errol (20:40):
I’m a big fan of saying this,
and I say it over and over again,
and that is that the bestideas are yet to be had.
All of us right noware exploring this brave new world
and pushing the frontieron what yesterday was impossible,
and today is just barely possible,and tomorrow, who knows.
Julián (20:59):
And it is just the beginning.
Oh my God, this is just the beginning.
It is exciting.
It is exciting. It’s scary, but exciting.
I love the pace these things are moving.
And as a technologist and developer,
it keeps me motivated to continuelearning, continue doing so.
It’s a pretty good time for us.
Coming back to adoption
(21:21):
because of courseall of these things are exciting.
They will continue growingif they are being adopted by companies.
What’s the recommendationyou have for your existing
and future customersto remove that barrier?
To overcome thathesitation they have today.
How do you show thevalue of implementing AI
(21:44):
so they can say, okay,let’s do it, let’s build it?
What are you using to convince them?
Errol (21:50):
Sort of the same approach that I use
to any new feature wherethere is concern about value.
And that’s to develop a proof of concept.
So a proof of conceptdoesn’t have to be complex.
We have some very, very clever guys
that work in reinteractive,we have some marvelous staff
and they are very cleveron some of these things.
(22:10):
So if I had a, say, a CTOwho had a great idea
how maybe they canimplement some AI feature
into an existing applicationor maybe it’s a brand-new application,
and that person has to geta sign-off from a board or CEO
or whoever else, what we would dowould be to develop a proof of concept.
(22:32):
A proof of concept,maybe it’s about a week of work,
it’s not going to look amazing,but it’s going to show part of that
and that then can be okay,let’s look at this, let’s work out how
this can be used in a broader sphere.
Julián (22:46):
Yeah. The Paper, Figma, Diagrams.
They can do everything.
You can do everything on Paper.
But it doesn’t click.
It clicks when you see the work,even though it doesn’t look great.
Like this is why you know, a PoC
or those technical demos,it’s like okay now I understand.
Now I see the value. Let’s go.
Errol (23:09):
Let me give you an example of this.
We have a client who wanteda particular tool developed.
It was an AI toolto read plain text in emails.
And the emails that this particularclient was getting were very, very...
not complex, but they were hard to read.
They were sent by peopleoverseas into Australia.
And the language was not always exactlyeasy to read and understand, what they did
(23:30):
is they had people actually readingthese emails, try to extract the data,
put it into a database whereit could be actioned, basically.
And they had this idea that a well-written
AI tool would solve some of this problem.
So we did exactly this.
We developed proof of concept over about,I don’t know, a week, week and a half.
Got one of the amazing staff, he built it
(23:54):
and we got a bunch of theirsample email to test out.
And it was literally justthe proof of concept
was literally just a few lines, you know,no editing or formatting or anything,
just a few lines on a pagewhere you just upload the email
and it would interrogate the emailand then come out with, here’s the data
I’ve extracted from this emailinto a table, into a formatted table.
(24:15):
And when we went to demonstrate itfor the client, they picked an email
that maybe we had used earlierin testing I’m not sure,
but he feeds it inand it pulled out all the data.
Everyone’s reading the datathat’s come out and gone
“How did it figure that outand where did that come from?”
Reading through the emailand eventually the guy goes,
“Oh! It’s in there!”
He hadn’t read it, like reading theemail you couldn’t actually see it.
(24:37):
But the AI tool had picked this pieceof information out and everyone at that
moment went, “This works.”
Julián (24:44):
Errol, this has been an
amazing conversation with you.
Thank you very much for your time forjoining us here on the Code[ish] podcast.
We are looking forward to having you againof course, so you can tell us what else
are you building, what else are you doingwith your customers and with Heroku.
Do you have any lastwords for our audience,
(25:04):
an invitation or somethingthat you want to tell them?
Errol (25:08):
My advice to everybody is keep learning,
keep educating, keep finding out things.
Make sure like when you reada page, understand what it says,
and then go and use it.
Julián (25:18):
Beautiful. Errol, thank you very
much and see you in the next time.
Errol (25:22):
Bye.
Narrator (25:23):
Thanks for joining us for
this episode of the Code[ish] podcast.
Code[ish] is produced by Heroku.
The easiest way to deploy, manage,and scale your applications in the cloud.
If you’d like to learn more aboutCode[ish] or any of Heroku’s podcasts,
please visit heroku.com/podcasts.