Real World Ember

Real World Ember
By Jeffrey Biles
About this podcast
How does EmberJS get used in the real world? Jeffrey Biles interviews talented (but not necessarily famous) Ember developers from all over the world, sharing with you their challenges, passions, and triumphs.

Season 1 released February 2016.

Sponsored by www.emberscreencasts.com
In this podcast

Podcasts like "Real World Ember"   · View all

By Haitian All-Starz
By Trance in France
By Champagne Papis Loveday
By Radio24syv
Latest episodes
March 5, 2016
We discuss how to get started with Ember, how Ember has made us better software developers in general, and how to recapture the Google Trends rankings. Other interviews by Erik Hanchett can be found at his soundcloud account. Writings by David Tang can be found at The JS Guy. Both of those come highly recommended. And, of course, my screencast can be found at EmberScreencasts.com. I've also been writing a book about learning Javascript and Ember via games.
Feb. 18, 2016
We talk functional programming in Ember, functional programming in other languages (including languages that transpile to Javascript), and functional programming in theory. Daniel Chappell 2.5 years programming exp, previous career was as a photographer motivation for starting programming was getting out of photography, but he soon came to love programming for itself functional programming functional style makes codebase safer and easier to change and collaborate on Computed Properties in Ember are pure functions Should separate code into functional and imperative pieces, with imperative as small as possible Recognized a lot of Functional philosophy in Ember Most Ember code can be turned into Computed Properties Types of Ember Code where mutation are fine: hooks and actions These happen based on user actions- changing the route, changing data, interacting with the screen Computed Properties are as trustworthy as functional properties thanks to how Ember updates them for us Data Flow Elmber <- Please create! Javascript is getting way better! Thanks TC39 and Babel.js! ES6 + Babel has made transpiling cool whereas it wasn’t before (Somewhere, Jeremy Ashkenas weeps) Coffeescript helped us understand Javascript Type systems Algebraic data types Not an expert in all of FP, but it informs how he writes code Javascript facilitates multi-paradigm coding “Patterns are language features that haven’t been implemented yet" Patterns are the testing ground for new ways of organizing code Javascript is flexible enough to emulate most other languages’ patterns Scheme is another example of a language that is flexible enough to emulate other languages’ patterns He invests in eMacs because he wants to mess around with lisp Q2 eBanking Provides high-quality banking software for small local banks that wouldn’t be able to build one themselves Web, Android, and iOS experiences all from the same Ember codebase Mission: keep small community banks/credit unions competitive with the big banks Jeffrey just opened a business account with a Q2-affiliated bank, and the software is great Ember has been great for the project- especially the commitment to semantic versioning They’re hiring! You can work with Ember all day every day If you’re investing your time in Ember, they want to talk to you Reach out to @josephdchappell on twitter Sponsored by EmberScreencasts.com
Feb. 17, 2016
We discuss transitioning from Rails to Ember, how Khorus is improving transparency and communication within teams, and how testing is used when failure states including catching on fire. Chris Bonser- before Ember Programming professionally for 11 years Started out with Electrical Engineering/hardware Learned Ruby by building test equipment We heard you like tests, so we’re testing the code that tests the equipment that tests the microchips Stuff could literally catch on fire, something which actually happened while he was in the factory Ember Been doing Ember about 2 years Started at Khorus right after they had chosen Ember Went to Khorus partly because they were using Ember (Employers, take note) Khorus chose Ember because it was well-liked amongst Rails devs Transitioning from Rails to Ember The transition was difficult because Ember (and especially Ember Data) were in flux, and acceptance testing was difficult Many of those troubles have gone away, and acceptance testing is easier The world doesn’t stop during a rewrite :-/ The transition took a year because there was also a redesign and several added features 3 devs + a few contractors, very lean for the size of the app they’re creating Benefits of using Ember Conventions Private addons- pulling parts of main out to share between other apps Public addons- we all know and love these Khorus Helps their customers be the best-run companies on earth Help set strategy, culture, talent management, etc. This is a new software category Strategy- setting quarterly goals, then getting weekly feedback from employees and then using that to adjust Helps coordinate different goals between departments and levels, to share knowledge and predict (and mitigate) failure cascades Takes into account human intuition at each level Ember Data has been really helpful in working with all this data They’re dogfooding it within Khorus, has been helpful even though they’re small Helpful to be able to look at different team’s status, increases transparency and collaboration They’re hiring! Ember + Rails ideal Looking for a range of experience, willing to provide some training Small team, you’ll have a big impact Email careers@khorus.com Sponsored by EmberScreencasts
Feb. 16, 2016
We talk productivity, prioritizing your work, Backbone vs. Ember vs. React, and the communication requirements of outsourcing to a different time zone. Origin Story Originally learned Ember by joining Coderly Their app was Cook Academy Was really excited by the reusability Was previously using jQuery/ExtJS on frontend, so huge upgrade Javascript Package Size We both skipped the Backbone generation Backbone + Router.js- better than nothing! File size of Ember has recently been reduced- a lot! Svelte Builds: Eventually plan to make unique build that will only include parts of Ember that you’re using. components make it really easy to separate and decompose your app Separation of Concerns > Global Event Listening (for most cases) “Ember Changed My Life" “Life was never the same- there was before Ember and after Ember" We write Ember whenever we can, although that’s not always all the time turtle.ai Working on building intelligent collaboration tools for teams Problem: You have tasks and notifications all over the place. Information overwhelm. Solution: Intelligent Inbox that automatically prioritizes your messages. Currently working with a company for a year to solve their specific problems with the tech. Productivity “How quickly you can get to the desired outcome" Not just how much stuff you can get done- the 80 hour/week worker building the wrong thing is not productive The productivity solution is often not just engineering Push back and make sure you know what people really want Don’t just check off objectives- video game quest mentality doesn’t translate to real world Chess can’t be played with a checklist Ask “why” at every level Code mistakes are easier to fix than higher-level mistakes like building the wrong product Outsourcing Started doing this at Coderly South America is great because it’s the same time zone Different time zones (like for Eastern Europe) means that unclear instructions waste an entire day Clear requirements vital for outsourcing unless you’re in the chat room with them Different cultures means more explicitness needed, because can’t fill in as many gaps with shared cultural knowledge (what do Chinese consumers want in an app? Probably different than the average American consumer) Giving the developers more context allows them to make tradeoffs intelligently without checking back Given the Big Why, and then lots of specific details Ember has been great for outsourcing because of the shared conventions and file structure React New project was with React because that’s what the outsourced devs wanted to do Not a terrible choice, although both of us prefer Ember Their React app is fantastic and well put together, but shares very little with other React apps besides core Having the best practices happen in React takes a lot of thought Lack of standards has a cost- especially if developers come and go Lots of time spent on choosing options vs writing code React app quality will probably not stand up to being worked on by interns May eventually rewrite in Ember once app gets bigger Feedback for React: start designating things as the officially supported router/flux implementation/etc. They’re hiring React developers- email venkat@turtle.ai Sponsored by EmberScreencasts.com
Feb. 15, 2016
We talk Ember on the desktop, the world debut of Turing School's Javascript curriculum, how to train hordes of highly skilled devs in a brutal 7-month program, and how famous is too famous for Real World Ember. Turing School Starting a new program to split from the Ruby curriculum- all Javascript, mostly Ember with a bit of React and Node Ember AND React in the new curriculum React community discovering the need for ember-cli Steve Kinney Steve is in the suburbs of fame bc of EmberConf speech, but we let him on here anyways Okay, famous people are okay too In Denver for 18 months Moved from New York City to work at Turing School He is co-director of academics The Original Ruby Curriculum 7 months training, which is longer than other code schools First 6 weeks focused on fundamentals, algorithms using Ruby Second 6-week module teaches Sinatra and Rails Third 6-week module is “Real World” Rails, dealing with collaboration, performance, API, etc. A big project at the end of third module Fourth 6-week module goes deep into Javascript, with a bit of EmberJS a lot of stuff packed in there, like websockets Want them to learn the low-level stuff so they can know what to do when things go “off the rails" Fancy New Javascript Curriculum WORLD DEBUT 1st module: CSS and Html + Javascript fundamentals Responsive design- building your own simple grid system from scratch Fundamentals, like in original curriculum, but with Javascript 2nd module: A lot like the current 4th module Game Time: they build a game with Javascript Every cohort builds a more ambitious game than the one before- SkiFree, Rock Band, etc. Forces you to think in objects, stop storing stuff in the DOM Node + Express for APIs Events, localstorage, what is Event Loop, flexbox, scss, functional programming with lodash, etc. 3rd module: Professional client-side applications build tools, process automation JSONAPI Javascript Frameworks: teaching the “big two”, Ember and React Angular devs: send all hate mail to Jeffrey :) In a React app, you’re slowly building a weird poorly-put-together Ember In Ember, all the edge cases are sanded down by the community Steven would reach for React for simple apps, Ember for complex apps Jeffrey does Ember for everything Tossing up a quick Ember app is way easier now than it used to be. It’s just a static file- you could bring back manual FTP! This is possible. 4th module: Javascript outside the browser Electron- desktop applications with Ember, they can access file system and OS features Huge possibilities, multiple windows, interprocess communication, node + chromium, etc. (but no URLS) Like websockets, you didn’t know you needed it until you think about it. Electron + web sockets + web workers + localstorage: a total offline experience with EmberJS. Getting started is Really Easy (this assertion not fact-checked by Jeffrey, but I trust Steve) Great community, including an ember-cli addon. Cordova: Native-ish Android and iOS apps You can stick stuff on the app store, use native APIs React Native Graduates will know more than 90% of the market about doing Javascript outside the browser… at graduation! All their curriculum is free and open source! Students' responses to Ember People with Rails experience are mostly confused because the same words mean different things Ember: A swarm of Rails apps It will probably be easier once they aren’t teaching Rails first Often apologizing for the Javascript itself Teaching has leveled him up as a developer Having to explain something means you have to really understand it Steve: 3x the length of lesson to prepare it Jeffrey: Very jealous of only 3x. On a very very very good day, 3x time just for recording. Confessions about Jeffrey’s first screencast first jQuery experience hooked him some people love the front-end web experience, others just don't Who should apply to Turing School? People who want to work really really hard “I made a promise to make you hireable. I’m going to keep it." Hiring teachers and developers 2-3 more instructors to start off new program Email steve@turing.io Teachers will also work really really hard Teaching during the day, lesson planning at night- like K-12 education Everyone in the org teaches, including Jeff Casimir (founder) DinosaurJS One day single-track conference Creative things in Javascript CFP open now Sponsored by EmberScreencasts.com
Feb. 11, 2016
We talk dev bootcamps, how architecture design school is like programming, how sales can help you be a better programmer, and the importance of mentorship. The Frontside A consultancy specializing in Ember and Rails Not just code! Helps larger companies figure out their development workflow Runs Ember meetup in Austin Created several open source projects like x-select and ember-impagination ember-impagination Helps with infinite scroll Frontside Podcast episode about the technical parts: https://frontsidethepodcast.simplecast.fm/33 Past life #1: architect been a developer for a couple years, a couple careers before that architecture design degree from UT but oops, no architect jobs in 2008 What you learn in design school: how to break nebulous problems down into smaller more actionable components This is remarkably similar to software development process, minus the syntax Phase called “programming" A Pattern Language book Past life #2: Salesperson Everyone should work in sales, for the communication skills Your work will not speak for itself: you have to express them She’s often asked (as a programmer) to be the communication layer between tech and business Talking to customers Talk to customers before you build them a solution Talk about their motivation and priorities before you talk about the technical details Customers usually don’t know what they want! You must draw it out of them. Get the first draft from them in writing Dissect and categorize requirements, give them priority levels, send it back to them Workflow Start out with the big picture, then work iteratively building out small pieces of it Start with completing one small piece, taking it through the whole process (“tracer bullet”) After each piece, re-evaluate big picture plan. Road to Dev Career Rose to level of connection between devs and business Really wanted to have the power to build stuff herself instead of waiting Most of dev bootcamp cohort were either entrepreneurs or people in tech who wanted to specialize in programming (Jeffrey started in order to program his science machine (and make a math game)) Dev Bootcamp Value is skills + network + stamp of approval Community and accountability a big positive In first cohort of Maker Square Covered a LOT in 10 weeks- Ruby, Rails, Javascript, dev tools Training in git and github valuable because you can start in on someone’s development cycle easily They’re now doing just Javascript, and sharing curriculum with Hack Reactor Turing School (a 9-month bootcamp) has done something similar and split up their Rails/Ember curriculum into two separate courses After dev bootcamp you’re hirable, but there’s still a lot to learn. Jobs after bootcamp Employee #3 at tiny startup Was only person working in Ember, so not much mentorship- trial by fire Second job at Communication Service for the Deaf Good mentoring there, lots of growth Now working at The Frontside The Frontside (I can personally attest) has excellent mentoring “Climbing the mentoring ladder”- need to work side by side with devs who are more senior than you (and willing to teach) The Frontside is hiring!!! Pre-existing skills are a plus, but culture fit is a must Culture: Community, open source, learning, sharing, proactive, fun-loving Sponsored by EmberScreencasts.com
Feb. 10, 2016
We talk about upgrading Ember apps, transitions from Rails to Ember, running a multinational team from Austria, and handling performance on mobile. Runtastic Hector and Matthias here with us today located in Linz Austria- 3rd largest city in Austria International team- they’ve got HQs in Linz and Vienna, employ people in 25 different countries Some people join specifically so they can write Ember code Going to Ember They first started using Ember in 2012 Started by integrating them into existing Ruby on Rails application to replace jQuery code Slowly switching to more Ember-only apps with ember-cli Had to do a big rewrite in the past before Ember due to adding features without thought (The Startup Story) Multiple Ember apps Because they “sprinkled in” Ember at first, they have more separate Ember apps than they want and are wanting to merge several together. They bundle the vendor for all their Ember apps separately so that it can be cached- save download time for users. They can deploy each Ember app independently, using a hand-built version of ember-cli-deploy (they built it before the addon) Community Finding time to contribute back to open source is a struggle, but they do it when they can fairly good Javascript community for the size (200k people in Linz, 40 people in a Javascript meetup) They’re hiring! Personal journeys to Ember Upgrades and Addons People who start with backbone almost inevitably need more They had to develop some stuff early on like QueryParams and improvements to the Router (they’re using the defaults now) The upgrade path to 2.0 has been difficult because of large apps and abandoned third-party addons They’re trying not to use alpha addons because of all the difficulties they’re having now Dependency have been difficult due to addons sometimes not specifying well enough They used shrinkwrap for a while, but it was more trouble than it was worth (and now addon authors are better about dependencies) Stories from the old days Had to look up the source code a lot Addons have made things so much better! Current version of pods have problems in large organizations, upcoming new version of pods will be awesome! Internal code sharing Mobile apps built natively, switching some non-core parts to webviews with Ember Once again, they’re hiring! Austria is "so beautiful it’s hard to explain in words". Performance: Android is where most of the trouble is Reduce blocking stuff, extraneous requests, css complexity Sponsored by EmberScreencasts.com
Feb. 9, 2016
We talk reasons to choose Ember, the Javascript dev hiring process, and how to upgrade a 2.5-year-old Ember app that contains 1800 components. We’re interviewing Neil Thawani and Jessie Graves from Infegy Atlas Guest interviewer: Erik Hatchett from ProgramWithErik.com Infegy Atlas Kansas City, working onsite Infegy Atlas helps corporations understand what their customers want through Social Media Intelligence For example, Infegy Atlas helped McDonalds discover what would make their customers love Breakfast All Day Getting started: Jessi had experience with SproutCore, but they still had trouble getting started (pre-1.0, when documentation was scarce) They have a 2.5-year-old Ember app (!) She cited the community and solid conventions as one of the big reasons they chose Ember Because of those conventions, Neil was able to push code within his first week at Infegy At one point they got behind on Ember upgrades (1.5 through 1.13 + switching to ember-cli) and that’s been one of their big difficulties They used regexes and Python scripts to help upgrade their code It's difficult to find an Ember developer, but they were able to find a solid Angular developer and he’s already committing to the code. Components: They have 1800 (!!!!) components. That is not a typo. lots of small single-purpose components with minimal interface a few larger ones built up from the smaller components They have a new app Canvas which is built on the latest Ember versions and best practices. One huge benefit to Ember is the opinionated structure, which has helped a lot with coordinating as a team. One huge drawback was that it used to be difficult to work with SVG, but htmlbars has fixed that. They will eventually be hiring more Ember, D3, and Python devs- if you’re in Kansas City Missouri, go talk to them! Experience of hiring most recent developer Hiring a Javascript developer was easy, hiring someone who really knew Javascript was difficult. Their hiring process is resume + cover letter, then a phone chat (for technical interview + culture fit), then a coding challenge (different depending on the position), then an in-person interview. A common mistake was not knowing much beyond jQuery and the typical Javascript Interview Questions (fizzbuzz, recursion, etc.) The person they hired demonstrated both technical skill and cultural fit by taking their API and independently coming up with their UI. This episode is sponsored by EmberScreencasts.com- video tutorials for intermediate-level Ember developers.
Feb. 8, 2016
We talk matching skills with education and careers, our favorite Ember features and addons, the tension between increasing efficiency and reducing your bus number, learning Ember in the run up to 2.0, and why tai chi desks are the way of the future. introducing Michael Swanson started off building marketing websites with wordpress/jQuery second career in software development with Javascript and EmberJS dark sordid past: 500-line jQuery files side hobbies: doing manual stuff like working out, woodworking, gardening introducing: the tai chi desk. A peaceful improvement to treadmill desks. SOMEONE, PLEASE MAKE THIS. SkillsEngine curated database of skills and occupations “get people better employed and better trained" helps people decide which skills to gain based on market demand there’s a mismatch between what industry wants and what schools typically teach helps identify modular skills that work between various jobs, letting job-seekers discover which positions they’re closest to being qualified for how careers are like Japanese role-playing games necessary skills (like “responsive design” or “EmberJS”) emerge quickly, and SkillsEngine can help identify them Using Ember currently redoing the entire marketing site in Ember the only thing “for sale” right now is the API, but they’re going to be building Ember apps that use it as well Align, a new Ember app that they’re in the process of building, which will help educators align their curriculum with industry requirements Marketing site is currently built with Mirage as a “backend" Company has only been around for 8 months- 5 team members: 3 developers, a founder, and sales guy. The other devs are a Rails dev and a machine learning dev, but they’re cross-pollinating knowledge when they get time Reducing bus number vs. being efficient They’ve used Ember contractors to supplement the team- onboarding was very easy because of both Ember conventions and previous relationships new Mirage versions are really exciting! 2.0-beta build has JSON-API and an ORM Mirage has helped facilitate the discussion with the backend devs making Ember secure with private APIs has been a challenge- they’ve been looking at using Javascript Web Tokens being a new Ember Dev in the transition to 2.0 was difficult Components > Views Everyone should watch EmberScreencasts Ember Meditations- coming soon, right after the tai chi desk Ember Dreams, Ember Nightmares Closure actions and Services are also awesome they’re not hiring right now, unless you’re both awesome and willing to work for equity Sponsored by EmberScreencasts.com