00:00:10.240
I think we should probably get started. I believe this is a good group, and everyone here is ready.
00:00:17.119
Although it may feel like everyone is ready for a nap, let's ensure this is a nice, soothing, and relaxing experience.
00:00:23.080
In literally every conference talk I've given, I've been scheduled directly after lunch.
00:00:28.279
Initially, I thought it was just a coincidence, but after the first two or three times, it started feeling intentional.
00:00:34.840
It seems like someone decided, 'Let's put that guy who talks really fast right after lunch!' I suspect there may be a conspiracy afoot.
00:00:40.239
Anyway, we are here to have a bit of fun today. I'm from Austin. Who here is from Austin?
00:00:51.160
Great! That's a solid crowd—many felt pressured to be here because they know me. Thank you!
00:00:57.600
A lot of people associate Austin with 'Keep Austin Weird,' but I assure you that we don’t actually say that. It's akin to saying 'San Fran' in San Francisco. In Austin, the real phrase people use is 'breakfast tacos.' That's what we talk about.
00:01:10.080
Today, we are here to learn about how to dockerize your React container. So, everyone, forget everything you know about web development because you're about to have your minds blown.
00:01:21.560
Hold on—my Tech Death Watch app just informed me that Docker and React are over.
00:01:26.799
Apologies, everyone! Forget everything I may or may not have taught you about Docker and React. According to Hacker News, I'm now going to show you how to webpack your Elm Kubernetes.
00:01:38.079
But the first step to achieving 'Hello World' in webpacking your Elm Kubernetes is... well, I don't know what any of those terms really mean.
00:01:44.119
For those not looking for that, many thought leaders in Tech have taught me to use your insecurities to sell things, and that's precisely what I'm here to do today.
00:01:50.840
I'm going to take your insecurities and sell you things, but first, let's talk a little bit about midlife crises. Midlife crises can be complicated; some of you might be experiencing one right now.
00:02:04.600
They basically occur when you face your mortality and decide to start making some rash decisions. This picture is of my dad when he was just a bit younger than I am now, sharing my enthusiasm for fanny packs.
00:02:17.760
My dad went through a full-blown midlife crisis: he bought a red sports car, traveled the world, got remarried, and moved his whole family across the country.
00:02:31.280
As web developers, our knowledge seems to expire so quickly that we often fixate on its mortality, which leads to making rash decisions.
00:02:42.680
So if you’re new to Ruby or you just love it, I bring you a word of comfort regarding your career. If you feel comfortable with Ruby, I also bring you a word of caution: the web tends to reinvent itself every 45 seconds.
00:02:55.560
It's tough to think beyond the frameworks we're supposed to learn, as it feels like we could instantly become unemployable.
00:03:06.080
I’m Brandon, and I run the front side. I think we’re doing some really special work there.
00:03:12.480
We’re trying to come up with a catchy slogan to convey our message. I’m open to feedback!
00:03:19.120
This photo of us was taken a little over a year ago. We've always been a tight-knit group of folks, trying to teach and help each other, and yes, make each other feel awkward in Photoshop.
00:03:25.159
We've grown since then, but our mission remains the same: we build great software.
00:03:31.159
We like to work in JavaScript and aim to build ambitious front-ends using Ember, a JavaScript framework famous for being authored by a nearsighted hamster.
00:03:42.680
It was while learning Ember that I noticed a pattern I'd like to share with you today, discussing the state of web development and making predictions.
00:03:48.159
Let’s allow Clubber Lang to make a prediction for us: if you're trying to keep up with the pace of new tools, languages, and frameworks, it can feel overwhelming.
00:04:04.519
So let’s dive into the first pain point: how are you supposed to stay on top of new tools, let alone evaluate them?
00:04:10.319
Ember itself is about four and a half years old, but more than a few frameworks have come along since then.
00:04:15.439
In what universe can we have 24 best frameworks? Seriously, we might be stretching the meaning of 'best' a bit.
00:04:21.600
You just sit there, staring at all these choices, like an open fridge filled with mystery containers. None of them look very appetizing.
00:04:27.479
People talk about these choices as if I'm supposed to know what they are and have evaluated them, but I haven't even heard of half of them.
00:04:33.560
I feel like maybe I'm getting too old, like web development has run me over, or I'm having a midlife crisis and need to buy a sports car or become a manager.
00:04:44.440
This experience feels like a mean-spirited treadmill that is always set to a pace just slightly faster than I can run.
00:04:50.560
Who designed this ecosystem? Is it just here to torture us web developers?
00:04:56.280
The second pain point emerges: once you actually decide on a stack, it seldom lives up to your expectations.
00:05:02.080
Like you've been waiting 20 years for a new Indiana Jones movie, only to find out it's about aliens whose treasure is knowledge.
00:05:09.080
So let’s say you do pick a tool that's not about aliens; great! But when it’s time to ship, you pull out that shiny new tool, and it all falls apart.
00:05:14.320
What used to take minutes now takes days, documentation is scarce, and suddenly, you're diving into the source code to see if it's a bug or just user error.
00:05:20.919
The third pain point is that it never feels safe to fall in love with your technology.
00:05:25.759
We love Ruby, but it feels risky to get too attached to any tool.
00:05:30.400
My grandpa used the same mitre saw for 30 years to build houses, but you don’t get to keep a tool for 30 months.
00:05:34.879
I checked Google Trends before this talk, and I have some unsettling news.
00:05:37.600
Ruby on Rails didn't make it. We did everything we could; we even tried adding WebSocket support.
00:05:44.200
I’m so sorry—the injuries that Ruby sustained from Node were just too great. This part is always the hardest.
00:05:51.599
I’ll see you at the crossroads, Ruby. Now, let’s talk about MySQL.
00:05:58.080
It died so long ago that only old-timers even remember what it was, back when we still used relational databases.
00:06:06.640
I loved my favorite front-end framework, which got killed last year because a new library showed up.
00:06:17.240
What am I supposed to do now? It’s a little disputed since it's a four-year-old JavaScript framework well past its life expectancy.
00:06:23.839
I went to EmberConf in March, where James Kyle, the creator of BabelJS, mourned with us at the giant funeral for Ember.
00:06:29.640
I think everyone will remember where they were when they heard that Ruby had died. It makes you feel slightly guilty for all the times we danced on Java's grave.
00:06:36.000
This process is predictable, so predictable there’s a chart for it.
00:06:40.919
There's a company called Gartner that charts these tech trends for lots of large companies.
00:06:44.360
In reality, once a technology gains popularity, it's harder to get rid of than Steven Seagal's films.
00:06:52.080
We do this because we’re just trying to get from a higher state of pain to a lower one.
00:06:58.800
When something new comes along, it promises to address and create dissatisfaction with our current tools.
00:07:05.200
It's amazing how quickly this can transpire. Like you, I’m susceptible to this process.
00:07:11.920
Back in 2007 at Macworld, Steve Jobs revealed the iPhone, and I was in disbelief. I took out my six-month-old phone and wanted to hurl it at the screen because it wasn’t an iPhone.
00:07:20.240
Let’s look at this cycle through the lens of Rails history. First, we’ll look at it abstractly, then through Rails history.
00:07:28.960
Finally, I want to offer comfort and caution to those who feel uneasy about the rapid pace of technological change.
00:07:39.199
Naturally, we’ll start with the abstract concepts and discuss how this cycle operates.
00:07:46.440
To mark the start of each phase, we’ll use Medium think pieces, which reflect the hype of technology.
00:07:53.480
The first phase is the technology trigger—there's a launch that promises big things.
00:08:01.680
Initial interest catches some early adopters, and then the Hacker News crowd jumps on it.
00:08:08.000
They get excited and upvote it, and the tech is off to the races.
00:08:16.440
Next, we reach the peak of inflated expectations. Suddenly, it’s all anyone talks about—performance, security, new capabilities.
00:08:25.600
At some point, the rocket ride is over, and we find ourselves in the trough of disillusionment.
00:08:31.080
The tech doesn’t meet those outrageous expectations, and you see people loudly quitting, with wailing and the gnashing of teeth.
00:08:38.200
However, if the tech survives, you reach the slope of enlightenment. You begin to see light at the end of the tunnel.
00:08:46.200
You hear things like 2.0 and 3.0 coming to life; the learning tools, materials, and community start to stabilize.
00:08:58.240
Finally, you get to a nice plateau of productivity where a group of people becomes quietly productive.
00:09:06.480
At this point, they don’t see the need to talk about it much anymore.
00:09:12.640
I’ll share this: something I’ve learned about Hacker News is that you’ll never hear about this plateau there.
00:09:18.320
Yes, we've been quietly productive with Ember for about 18 months now, and it’s been pretty nice.
00:09:25.480
But where are the upvotes? Boo! Go home; you're boring.
00:09:31.440
So, those are the peaks and valleys of successful technologies if they survive that trough.
00:09:38.000
Now let’s look at this through the lens of Ruby on Rails’ history.
00:09:44.640
How many of you remember the phrase: 'It just uses Ruby everywhere'?
00:09:52.519
Look at how few things you have to do to get to 'Hello World.' It’s not a lot at all!
00:09:59.440
How many of you here remember that? That’s a startlingly small percentage.
00:10:06.080
That's actually good because it means only a few of you are near death.
00:10:12.160
That was the technology trigger, but the bad news is yes, you are old!
00:10:19.320
I wasn't even a programmer yet when I first saw that, but my friends who were programmers showed it to me. I thought, 'I want to do this for a living; that’s amazing!'
00:10:30.320
Luckily for us, BuzzFeed was there to capture every step of Rails' rise to power.
00:10:36.720
The trigger event here is where tech analysts and the Hacker News crowd trip over themselves to scoop up this new framework.
00:10:45.760
You start hearing these exaggerated claims like 'It will make your wildest dreams come true and cure rabies!'
00:10:51.040
The hype builds up until it becomes a little ludicrous, and that's when Rails hits its peak of inflated expectations.
00:10:57.200
I really wanted to create a Photoshop to illustrate this. How could I possibly do something better than this?
00:11:04.320
Let’s reflect on how this was a thing: Ruby Everywhere! It was GQ for programmers!
00:11:11.360
You could build a web app, migrate a database, fix a leaky gutter, or even fix your marriage. Ruby could solve all those problems!
00:11:17.440
Who can forget the Depeche Mode classic from back then?
00:11:25.600
If only someone in the community had the foresight to predict this back around 2006.”
00:11:32.720
That someone was, of course, why the lucky stiff; I wish I could thank him for all he’s done.
00:11:38.520
He inspired me to see that code could be art when I was intimidated by the idea of learning programming.
00:11:44.640
He provided an astoundingly poignant warning for us a decade ago; I encourage you to watch his entire RailsConf talk.
00:11:52.240
He did a video series called 'The Least Surprised,' discussing the hype machine rolling down the street.
00:11:59.440
People have tried to hit the brakes, but they seem to be burned out by the ongoing hype.
00:12:07.520
Great projects have used Ruby, proving you can accomplish your wildest dreams.
00:12:16.560
I even used Ruby to lure Catherine Zeta-Jones into my unicorn petting zoo. Yes, you heard that right!
00:12:24.200
So, we arrive at this frothy peak. Just mentioning Ruby in the title of your introductory conference talk guarantees a standing-room-only crowd.
00:12:31.440
You can Google for hundreds of 'Hello World' tutorials, but many fail to help you genuinely understand the technology.
00:12:37.960
Still, you think the promise of productivity gains mean you'll finally ship web apps ten times faster.
00:12:45.760
When a recruiter asks if you're a rock star or Jedi, you’ll confidently respond with both!
00:12:51.920
This means you get to impress your boss, fulfill your wildest dreams, buy a house, and get a raise.
00:12:59.440
That's not the actual promise, but it’s the one we buy into; and all the hot air from inflated expectations seeps into our egos.
00:13:06.960
We start thinking everyone who came before us was wrong, and we’re just a little more right than everyone else.
00:13:13.160
You even get to stand on stage and declare just how wrong the establishment has been.
00:13:19.840
But like drinking expired soy sauce, reality catches up with you. Technology inevitably goes through the trough.
00:13:27.000
If only someone could have predicted this, right?
00:13:35.560
Some people in the room here don't share the same vast vision for Ruby that others might.
00:13:41.440
There is no point in indulging these decadent wishes any further, just setting this all up for a huge crash.
00:13:47.760
When things fail to pan out, idealism fades, and attention shifts to new languages and frameworks.
00:13:53.400
I like to call this imaginary future language Absinthe, smooth and creamy, scented with the purest licorice.
00:14:01.040
But really, Absinthe is the apocalypse.
00:14:08.640
Imagine this: the thing that caused people to leave is now causing them to leave for more alluring pastures.
00:14:16.800
This phase is also marked by prominent defectors, and some industry veterans could probably comment on this.
00:14:24.640
However, this X-piece is possibly my personal favorite. It's an excellent piece of artwork!
00:14:31.040
At this phase for Rails, there were some prominent defectors, but one story stands out.
00:14:37.279
I met this guy at MW Ruby, and while he seemed fine, he offered to fight every developer present.
00:14:43.920
That seemed a bit aggressive—after all, we're just discussing character interpreters in characters we type into computers.
00:14:50.920
Once those early adopters get mad and declare your tool dead, it starts doing real work.
00:14:58.640
This is where we start seeing service-oriented architecture at conferences.
00:15:06.680
You know people's technology is getting used for serious work when they have to speak XML over non-restful endpoints.
00:15:13.200
At this point, blog tutorials turn into book deals, and this loose affiliation of enthusiasts becomes a real community.
00:15:21.240
All those enterprise dollars flow in, buying race cars—not to mention the funding for startups!
00:15:29.920
Eventually, you reach this plateau where many become quietly productive with the technology.
00:15:35.880
And suddenly, it doesn't feel cool to talk about being quietly productive.
00:15:42.040
There’s no more magazine covers, and it feels like it’s been a decade since MySQL did something anyone considers cool.
00:15:49.240
But what is cool? Billions of dollars! Yes, with an S! So is Rails a good or bad technology?
00:15:57.440
It doesn't matter; what matters is that it's entrenched and productive.
00:16:06.720
Here, let's take a quick detour before we dive back into Rails' history.
00:16:13.760
In a RubyConf talk last year, I shared the concept of three predominant personality traits among technologists.
00:16:20.960
They are pioneers, settlers, and town planners. Let’s go through a quick version of that.
00:16:28.960
Pioneers itch for the latest technology; they love exploring and thrilling in discovery.
00:16:35.920
Settlers aim to create order from chaos; they built infrastructure and connect pioneering work to real business needs.
00:16:41.920
Town planners seek to effectively scale things up. They care about making technology practical, even boring!
00:16:49.120
Now, let’s dive back into the history to see how this plays out.
00:16:56.760
My theory is that DHH (David Heinemeier Hansson) is a settler who was pushed into pioneering solutions out of frustration.
00:17:03.680
I doubt he would disagree that many of his ideas were lifted from pioneers like Martin Fowler.
00:17:11.600
Outside of Utah, people don't realize how important pioneers are; they even get their own holiday on July 24th.
00:17:19.040
It's bigger than the 4th of July! When Rails was introduced, the tech community celebrated DHH.
00:17:26.080
Rails was surprisingly familiar, yet using it was a real challenge; I’m sure many here remember deploying pre-1.0 Rails apps.
00:17:35.040
How many of you here remember how fun that actually was? Not!
00:17:44.720
Some poor folks bet their companies on this unproven new technology.
00:17:51.760
This was formerly a demo store for Shopify, extracted from Toby L’s original business.
00:18:02.080
Eventually, the settlers showed up, providing the necessary guides and tools needed to build out Ruby on Rails.
00:18:09.040
As Rails grew, the architecture changed to adapt to complex needs, which led to modularity and systems like Active Record.
00:18:18.520
With big money moving in, Rails had to start addressing enterprise needs.
00:18:26.920
At this point, both your bank and the startup disturbing your bank are likely using Rails.
00:18:32.880
This is how these three archetypes play out in a successful community; every community has all three in various degrees.
00:18:40.440
Let’s take a quiz. Which irritates you the most: being required to use outdated tools, team members trying to rewrite everything in the latest hype stack, or anything that gets in the way of shipping?
00:18:55.760
What do you enjoy the most? Accepting a pull request for your open-source library, applying technology to generate revenue, or solving a tricky performance issue?
00:19:01.960
Where do you feel most helpful? Showing someone a new way of doing things, improving their documentation, or automating a tedious deployment process?
00:19:10.680
Each of these roles proves valuable in the tech landscape.
00:19:15.560
Pioneers experiment, while settlers connect their work to real problems.
00:19:19.760
Town planners help tackle the sparse needs that scale; they deserve recognition.
00:19:24.720
We tend to dismiss those who do not share a similar outlook, leading to snarky remarks.
00:19:31.440
Criticism of Millennials is often hilarious, often mistaken, and rarely accurate.
00:19:37.680
In reality, we take on all roles; it is advantageous to lean on what we excel at.
00:19:46.720
I perform best in the settler camp; I enjoy connecting technology with practical outcomes.
00:19:55.360
Now we know about the hype cycle and our preferences. So, what's next?
00:20:05.440
Once informed, you can set yourself up for preemptive success in your career. If you don't understand this cycle, you can easily watch your skills become obsolete.
00:20:12.560
You might burn out trying to keep up with trends or settle for technology that doesn’t endure.
00:20:19.200
Alternatively, you could choose to step back entirely and remain a frontend programmer.
00:20:27.520
This may feel like information overload, but once you grasp the cycle, you can navigate its strings.
00:20:35.920
Ideally, this means you'll focus on tech that truly aligns with your values.
00:20:41.520
Consider the cycle concerning your personality type. You don’t need to obsess over every new tool.
00:20:48.440
However, if you feel obligated to investigate something new, ask: What state is it in, and should I care?
00:20:56.560
Pioneers should quickly grab interesting new tools and dive in; settlers should observe, and town planners can reject it for now.
00:21:05.920
At the peak, it’s the Pioneers’ time to shine, while settlers exercise skepticism but maintain openness.
00:21:13.760
During this phase, Pioneers reap the rewards, consulting, writing blogs, and possibly becoming core team members.
00:21:21.200
Once the trend cools and peaks toward the trough, Pioneers may exit the ride.
00:21:27.440
If it seems likely to survive, settlers should step in, and town planners can pay attention to it.
00:21:34.080
Pioneers at the slope of enlightenment can now consider stepping out.
00:21:41.040
Technologies begin growing sustainably, thanks to enterprising settlers establishing consultancies and products.
00:21:49.680
Town planners need to quickly catch up with new tutorials, as they may have to interact with this new tech soon.
00:21:57.280
Finally, we reach this plateau of productivity, where settlers can apply this now low-risk tech to new problems.
00:22:04.080
Town planners can assist with scaling and improve performance.
00:22:11.040
What was once a mere toy solution may now successfully handle transactions for Fortune 500 companies.
00:22:21.280
I promised to provide comfort and a caution, so let’s start with the comfort.
00:22:30.480
You may be wondering about your favorite technology's place in the ecosystem, with competitors appearing out of the blue.
00:22:39.440
Worries may arise around whether your tools are outdated or if you'll need to transition to this shinier technology.
00:22:48.480
Over the past year, I've been working in a production Rails 2 application.
00:22:54.480
While it is full of problems, they aren’t related to it running Rails 2.
00:23:03.920
I also have a side project in Elixir and Phoenix. I cannot shake the feeling that, had I used Rails, I’d have been done five times over by now.
00:23:09.920
It's crucial to stop this cycle of making people feel inferior for working with tools that make them feel productive.
00:23:16.120
Let me make this clear: no one has the right to make you feel ashamed for liking the technologies you do.
00:23:24.160
When the tables are turned, and someone prefers something you don’t, consider the implications.
00:23:32.240
Please be careful not to 'yuck' someone else's 'yum'—it drives away the very people we need in our community.
00:23:37.440
And I know many of us, including me, have made such dismissive comments in the past.
00:23:42.960
Moving on, I wasn’t originally going to take questions, but it seems we have one.
00:23:49.920
Brandon, if Ruby isn't dead, why do you run a JavaScript consultancy? It’s a fair question.
00:23:57.760
If so, doesn't that make you a hypocrite? Well, first off, ouch.
00:24:05.920
Secondly, I genuinely prefer working on the front end, although my opinion on how JavaScript should be utilized can stir controversy.
00:24:12.400
I'd argue that if you're establishing a consultancy today, Rails isn’t the best specialty choice.
00:24:18.960
Technologies at a plateau serve as the pickaxes in a gold rush; their worth lies in early expertise.
00:24:25.600
Transitioning to more general problem-solving—solving scalability issues for various clients—may also be beneficial.
00:24:33.440
While this edge of technology evolves swiftly, if you neglect continuous learning, you'll fall behind.
00:24:41.440
If your current role seems confined to assistance—like holding someone else’s phone, consider shifting gears.
00:24:47.440
In the world of sports (like basketball), you can often pivot and determine what tech works best for you and your projects.
00:24:56.640
Using one tech to ship products, while engaging in another for fun, could yield massive success.
00:25:01.920
If it takes off for you, that’s great! The more you engage with it, the better you'll become.
00:25:08.320
If it fails to catch on, switching it out isn’t a big deal.
00:25:15.200
There’s a time for learning, and a time for effectively shipping deliverables.
00:25:22.160
By following this pattern, you'll seldom feel tossed by the cycle. You can leverage the tools you enjoy working with for new challenges.
00:25:31.280
I still love Ruby, but I’m a full-time JavaScript developer now.
00:25:39.680
The transition wasn’t dramatic—there was no specific moment where I abandoned Ruby; it just evolved naturally.
00:25:46.240
Last warning: technologies that bet everything on hitting a peak often falter.
00:25:54.080
Seek tech with a long-term vision that extends down to the productivity plateau.
00:26:02.240
Personal tech exploration likely parallels the same curve; it’s essential to understand that hype.
00:26:10.640
You might kick off with a tutorial and think 'Awesome! I've done it!' with a simple app, but that won't be production-ready.
00:26:18.000
New technologies can create illusions of fast success, raising expectations that lead to disappointment.
00:26:26.000
Things may take longer and suddenly, your initial excitement fizzles.
00:26:34.040
So why endure that? Why invest emotional pain into pursuing the next big thing?
00:26:41.840
Ponder this: our industry fundamentally evolved. The problems we tackle—and the reasons behind them—have changed.
00:26:49.840
Over the past ten years, we noticed user-centered design, where UX drives technology enforcement.
00:26:57.440
Tools we created years ago aimed to solve various problems that are now outdated.
00:27:06.320
In a constantly shifting environment, we need instruments to tackle this new UX-driven architecture.
00:27:13.600
There’s a shift back towards client-side UI tools to solve these unsolved problems.
00:27:20.440
I did some side work in Ember and felt great about my choice.
00:27:27.600
I think it’s awesome when I hear people starting to refer to it as boring.
00:27:35.440
The bet may change, but understanding the reasons behind these choices is crucial.
00:27:42.720
Sometimes it makes sense to switch to something new, and some pioneering types will maintain that wave.
00:27:50.640
However, if you focus on shipping, you can enter a midlife crisis if you keep throwing money at trends.
00:27:59.560
Be cautious of slipping into outdated habits or riding the hype continuous wave.
00:28:07.680
Tools that demonstrate durability, like Rails and Ember, tend to brush past hype periods and concentrate on output.
00:28:15.560
They exemplify philosophies that display long-term thinking and mentorship.
00:28:23.520
But realize, the clarity lies in your capacity to contribute actual business value.
00:28:32.720
And on this plateau, you begin to question: 'Is my boss an idiot?' Not necessarily, but you gain that clarity.
00:28:41.760
Focus on delivering business value means you can make important decisions—and perhaps even fire your boss!
00:28:50.640
And the transformation sets you on the path for your midlife crisis, but that's a different story!
00:28:57.440
That's all for now; looking forward to our next session!