Conference:March 6-8, 2017
Workshops:March 9-10, 2017
Presentation: Full-Scale Elm in Production
Location:
- Whittle, 3rd flr.
Duration
Day of week:
- Monday
Level:
- Intermediate
Persona:
- Front-end Developer
Key Takeaways
- Explore an early adopter's applied application of Elm
- Learn lessons & techniques for the incremental adoption of Elm into a production system.
- Hear how Elm has improved velocity in frontend development for No Red Ink
Abstract
Elm is a functional programming language that compiles to performant JavaScript. At NoRedInk we have over 80,000 lines of production Elm code. It's the primary technology we use to build our Web application's user interface, which students around the world use to answer millions of questions per day. Since we began using Elm in 2015, our production Elm code has yet to cause a single runtime exception. Our error logs show plenty of crashes from our legacy JavaScript code, but none from our Elm code. We've also found our Elm-powered front-end substantially easier to scale than our previous React code base. In this talk, attendees will gain an understanding of how the Elm programming language works, what differentiates it from the other front-end technologies on the market, and practical advice for introducing it to an existing JavaScript code base. The talk will contextualize all this in an experience report of shipping production Elm code, including how it has impacted our team's velocity, technical debt, and hiring. Attendees are assumed to be comfortable with JavaScript, but no other knowledge is needed. Come see how nice your team's front-end programming experience can become!
Interview
At NoRedInk we make grammar and writing software for English teachers. Students have answered over 2 billion questions on our site, and millions more each day. I introduced Elm to our stack in 2015, and today it's the primary technology we use to power our front-end.
Sharing our experiences with Elm, to help grow the Elm community.
People in a position to make or influence their organization's front-end technology choices. These seem most applicable: Tech Lead, Developer (NON-JVM), Sr Management (VP, CTO, CIO, Director)
Beginner - no prior knowledge of the topic or language assumed
I can go home and have my team get a small bit of Elm into production right now.
Elm, and I don't say that just to be glib!
Similar Talks
Tracks
-
Architecting for Failure
Building fault tolerate systems that are truly resilient
-
Architectures You've Always Wondered about
QCon classic track. You know the names. Hear their lessons and challenges.
-
Modern Distributed Architectures
Migrating, deploying, and realizing modern cloud architecture.
-
Fast & Furious: Ad Serving, Finance, & Performance
Learn some of the tips and technicals of high speed, low latency systems in Ad Serving and Finance
-
Java - Performance, Patterns and Predictions
Skills embracing the evolution of Java (multi-core, cloud, modularity) and reenforcing core platform fundamentals (performance, concurrency, ubiquity).
-
Performance Mythbusting
Performance myths that need busting and the tools & techniques to get there
-
Dark Code: The Legacy/Tech Debt Dilemma
How do you evolve your code and modernize your architecture when you're stuck with part legacy code and technical debt? Lessons from the trenches.
-
Modern Learning Systems
Real world use of the latest machine learning technologies in production environments
-
Practical Cryptography & Blockchains: Beyond the Hype
Looking past the hype of blockchain technologies, alternate title: Weaselfree Cryptography & Blockchain
-
Applied JavaScript - Atomic Applications and APIs
Angular, React, Electron, Node: The hottest trends and techniques in the JavaScript space
-
Containers - State Of The Art
What is the state of the art, what's next, & other interesting questions on containers.
-
Observability Done Right: Automating Insight & Software Telemetry
Tools, practices, and methods to know what your system is doing
-
Data Engineering : Where the Rubber meets the Road in Data Science
Science does not imply engineering. Engineering tools and techniques for Data Scientists
-
Modern CS in the Real World
Applied, practical, & real-world dive into industry adoption of modern CS ideas
-
Workhorse Languages, Not Called Java
Workhorse languages not called Java.
-
Security: Lessons Learned From Being Pwned
How Attackers Think. Penetration testing techniques, exploits, toolsets, and skills of software hackers
-
Engineering Culture @{{cool_company}}
Culture, Organization Structure, Modern Agile War Stories
-
Softskills: Essential Skills for Developers
Skills for the developer in the workplace