POPULARITY
On today’s show I have Josh Golden on to share his story about how he started, grew, and sold his company Table XI (now TXI) to an ESOP on December 31, 2022. My favorite part of this interview? Josh focuses most of the interview about what went into his decision-making and why he sold the company to an ESOP. I was super excited to finally interview Josh because I have been watching his journey for over five years. It was fun to hear Josh reflect on the recent exit, especially because of how intentional he was over the last five years. Josh starts the interview by telling the story about how we met on a chairlift and struck up a conversation about him feeling “stuck” because he didn’t know what to do next with this business: continue growing it, sell it to a strategic buyer, do an ESOP, hire a CEO, etc. As Josh shares his journey from the origin story through the exit, he does an amazing job articulating what he was trying to accomplish at each stage, what was important to him at that point in the journey, why he made the decision he did, and how that decision played out based on what he wanted. I hope you enjoy listening to this conversation with Josh! // WATCH THE INTERVIEW ON YOUTUBE: Intentional Growth™ Podcast What You Will Learn Why Josh was feeling “stuck” and what questions were on his mind that he needed answers to. Why Josh decided to become an entrepreneur instead of following the academic route his parents took. The origin story of Table XI, early partnership buyouts, and how Josh feels about it today. Why it’s important to listen to the market and continue to evolve the business. What client requests you should say “yes” to based on how your company infrastructure is built and where you want to take the business. Josh's story of parting ways with high-ticket clients because values were not aligned. What “distracted visionaries” need to do when bringing people on. What it was like for Josh to take a back seat after hiring a CEO. What hiring a CFO did for the company’s performance and valuation. What led Josh to take his company the ESOP route. Why Josh didn’t convert to an ESOP when he first decided that was the exit he wanted and what he did in between that time in order to almost double the value of the business. // USE YOUR FINANCIALS TO CLARIFY A PATH TOWARDS A MORE VALUABLE BUSINES
Mark Rickmeier is the CEO of Table XI, a UX design and custom software development firm with experience in mobile apps, building integrated web applications, and custom digital experiences. They value community, strategy, and finding solutions with an experimental mindset. Takeaways: Adopting an experimental mindset in your agency allows your team to have the flexibility to try new things. The immediate ROI may not be linear, but you'll know that there is energy and passion behind the project. In an agency, sometimes we are stretched thin with multiple tasks on hand. Delegate separate tasks to your team to create clear accountability to improve efficiency. Empower your team to explore providing different or more services over time as the market evolves or as the clients evolve. Your direct competitors can provide immense value. Building a network of trusted peers enhances this model of coopertition by directly working with peers in the industry. “The single most important thing to do in onboarding is proper expectation of what success looks like. This provides a clear understanding of how they will bring value to the agency.”~Mark Effectively invest in and shape your work culture by building inclusivity and making it explicit that everybody's voices matter. Links: LinkedIn: https://www.linkedin.com/in/markrickmeier/ Twitter: https://twitter.com/MarkRickmeier Table XI: https://www.tablexi.com Walkshop: https://www.walkshop.io Meetings Done Right: https://www.meetingsdoneright.co The Sticky Note Game: https://www.stickynote.game Busted Myth: We associate value in meetings, getting things done and all around being busy. If you find yourself constantly booking up your calendar, then start to plan a time period when you can, as an owner, really learn or think about where you want to go as an agency. Ways to Tune In: iTunes - https://podcasts.apple.com/us/podcast/agencies-that-build/id1533003876 Spotify - https://open.spotify.com/show/04KrB9JKLJ7lxoBZQQpSSH?si=zljWTjmwSK-ht50WPpesOg Stitcher - https://www.stitcher.com/show/agencies-that-build Google Play - https://podcasts.google.com/feed/aHR0cHM6Ly93d3cuYWdlbmNpZXN0aGF0YnVpbGQuY29tL2ZlZWQueG1s YouTube - Full video - https://youtu.be/M7uDY8WzcTQ
LIITR Round Table XI: The Best of Boxing 2020
This month Robert's co-hosts are Cody (Rogue Squadron Podcast), Rob Yees (Generation X-Wing Podcast), Ben (Skyhoppers Podcast), Kyle (Tumbling Saber Podcast) and Rob (Talk Star Wars Podcast). The boy's discuss the new Battle Front II game and the excitement of TheLast Jedi movie which is about to be released!
Welcome to the Hiking My Feelings Virtual Campfire. This 20-day event is a fundraiser for the Hiking My Feelings Wilderness Wellness Center, the American Diabetes Association, and RAINN - the nation's largest anti-sexual violence organization. Each night from May 26-June 14, 2020 we are going live at 5pm PT to bring inspiration, hope, and healing to the community in these uncertain times. If you find value in what we're sharing here, please consider making a contribution to our non-profit organization. You can get tickets to the Virtual Campfire at https://hikingmyfeelings.org/campfire and you can make a one-time donation at https://hikingmyfeelings.org/give Our guests tonight are: Will "Akuna" Robinson - Akuna is the first black male hiker to earn the Triple Crown of Hiking - a feat that requires hiking at least 8,000 miles around the US on the Pacific Crest Trail, the Appalachian Trail, and the Continental Divide Trail. A former US Army veteran, Akuna has been spending the majority of his time on these long-distance scenic trails since 2016 to help manage his PTSD. We talk about his adventures in the outdoors, what it means to be the first black man to earn the Triple Crown, and how to make the outdoors a more inclusive place. You can find Akuna on Instagram - @akunahikes Cloi Crider is a singer/songwriter and her voice is magic - have a listen to two of her original songs and be sure to follow her on Instagram - @cloicridermusic. Mark Rickmeier is the brains behind TableXI, a software company in Chicago. So what's he doing here? A few years ago, he went to Scotland for a hike, and invited a bunch of executives to join him. The premise is simple - what is possible when we spend the day on our feet, exhausting ourselves physically, with no connection to the outside world? What kind of innovation could come from that? What kinds of soul-shifting conversations could come from that? On the first trip he organized, only three hikers completed the hike. He got home, posted about it on LinkedIn, and his network asked when the next one was happening. And so, Walkshop was born. TableXI and Walkshop are both sponsors of the Hiking My Feelings Virtual Campfire, and we're excited to talk to MJ, the CEO of Walkshop, on June 5. Ash Czarnota is a freelance marketing consultant by day, who was supposed to be traversing the Pacific Crest Trail as we speak. Unfortunately, COVID-19 had other plans for her first monster thru-hike. We chat a bit about her adventures on the Trans-Catalina Trail and what life is like in the aftermath of canceling an adventure she had invested two years of her life, savings, and logistical wizardry to coordinate. --- Support this podcast: https://anchor.fm/hikingmyfeelings/support
Gail Golden is back on the podcast for part two of our conversation. In this episode we talk about her philosophy of curation over trying to juggle things until we find that elusive balance that everyone seems to always talk about. We also talk about perception, comparison, and finding happiness in the pursuit of our desired outcomes. Gail Golden, MBA, Ph.D., helps people hit peak performance and become better leaders by drawing on her unique cross-background perspective. As a licensed psychologist and an MBA-holding entrepreneur, Gail understands both the emotions and the economics successful C-suite executives must master. Her unique approach combines sports-influenced tactics of performance coaching with psychology-trained skills of empathy to bring the best out of businesses, leaders, and employees. Gail specializes in helping companies and leaders handle rapid change, build high-performing talent, avoid burnout, plan for succession, and drive success. Current and former clients include Best Buy, BMO Harris Bank, The Chicago Architecture Center, Northern Trust, Mead Johnson, Table XI, Vi Living, and Weber Shandwick, among many others. Gail’s book, Curating Your Life, was published by Rowman & Littlefield in April 2020. The book is based on what she’s learned over more than two decades of helping leaders of all types maximize their achievements. Curating Your Life is full of advice on how to direct your energy toward identifying and accomplishing your most important goals. Gail has extensive experience as a public speaker and media commentator, and has taught courses at the Booth School of Business of the University of Chicago. She has been quoted in Fast Company, Forbes, The Wall Street Journal, Today's Chicago Woman, Crain’s Chicago Business, The Chicago Tribune, and numerous other publications. To help businesses and leaders apply her insights, Gail has developed and led workshops in corporate settings on a variety of topics, including building a culture of innovation, becoming a powerful leader, and developing high performance teams. Gail is the Principal of Gail Golden Consulting, an international network of senior management psychologists and consultants. She serves on the Women’s Board of the University of Chicago, has been elected to the International Women’s Forum, and coordinates the Chicago Coaching Roundtable, a local network of leading executive coaches. Connect with Gail at GailGoldenConsulting.com and follow her on Twitter and LinkedIn. See omnystudio.com/policies/listener for privacy information.
Gail Golden, MBA, Ph.D., helps people hit peak performance and become better leaders by drawing on her unique cross-background perspective. She joined me on the podcast to talk about her philosophy of curating our lives by putting our focus and attention on the things that we are innately good at while coming to grips with and accepting the areas where we might not inherently shine. As a licensed psychologist and an MBA-holding entrepreneur, Gail understands both the emotions and the economics successful C-suite executives must master. Her unique approach combines sports-influenced tactics of performance coaching with psychology-trained skills of empathy to bring the best out of businesses, leaders, and employees. Gail specializes in helping companies and leaders handle rapid change, build high-performing talent, avoid burnout, plan for succession, and drive success. Current and former clients include Best Buy, BMO Harris Bank, The Chicago Architecture Center, Northern Trust, Mead Johnson, Table XI, Vi Living, and Weber Shandwick, among many others. Gail’s book, Curating Your Life, was published by Rowman & Littlefield in April 2020. The book is based on what she’s learned over more than two decades of helping leaders of all types maximize their achievements. Curating Your Life is full of advice on how to direct your energy toward identifying and accomplishing your most important goals. Gail has extensive experience as a public speaker and media commentator, and has taught courses at the Booth School of Business of the University of Chicago. She has been quoted in Fast Company, Forbes, The Wall Street Journal, Today's Chicago Woman, Crain’s Chicago Business, The Chicago Tribune, and numerous other publications. To help businesses and leaders apply her insights, Gail has developed and led workshops in corporate settings on a variety of topics, including building a culture of innovation, becoming a powerful leader, and developing high performance teams. Gail is the Principal of Gail Golden Consulting, an international network of senior management psychologists and consultants. She serves on the Women’s Board of the University of Chicago, has been elected to the International Women’s Forum, and coordinates the Chicago Coaching Roundtable, a local network of leading executive coaches. Connect with Gail at GailGoldenConsulting.com and follow her on Twitter and LinkedIn. See omnystudio.com/policies/listener for privacy information.
Mark Rickmeier is a Chair Forbes Chicago Business Council and the CEO at Table XI, which is a UX design and custom software development firm with 16 years of experience building integrated web applications, mobile apps, and custom digital experiences. In this episode, Mark explains how the usage of the word "just" helps to determine the right client fit, talks whereby CCR metrics help Table XI to diversify their client portfolio and discusses the importance of directories for the agencies. Show-notes: http://entrepreneursinb2bsales.com/mark-rickmeier/interviews
Ashley Quinto Powell, is a Speaker and Founder of The Bossy, an online community for executive moms. Learn how failing forward is growing. Ashley is trailblazing the way for women by breaking rules and redefining “normal”. Ashley Quinto Powell is the Director of Business Development at Table XI. She speaks nationally on Salary Negotiation, and most recently presented at Disrupt Madison and the Madison Speaker Crawl. Quinto Powell is the founder of the Madison Boss Moms and Bossy newsletter, a community of women actively advancing their careers while raising children.
Conversation with Mark Rickmeier, the CEO at Table XI, a UX research, design, and software development company, and the Co-Founder of Walkshop, a hiking and leadership development experience for executives
Karen Catlin on Retaining WIT, Jonathan Cutrell on Maintainable, Dr. Aneika L. Simmons on Hanselminutes, Sarah Wells on Engineering Culture by InfoQ, and Dave Thomas and Andy Hunt on Tech Done Right by Table XI. I’d love for you to email me with any comments about the show or any suggestions for podcasts I might want to feature. Email podcast@thekguy.com. And, if you haven’t done it already, don’t forget to hit the subscribe button, and if you like the show, please tell a friend or co-worker who might be interested. This episode covers the five podcast episodes I found most interesting and wanted to share links to during the two week period starting September 16, 2019. These podcast episodes may have been released much earlier, but this was the fortnight when I started sharing links to them to my social network followers. KAREN CATLIN ON RETAINING WIT The Retaining WIT podcast featured Karen Catlin with hosts Jossie Haines and Jordanna Kwok. Karen, who is a leadership coach and diversity advocate, got interested in tech when she saw an issue of Money magazine with a cover story about successful women with computer science backgrounds and her father pointed out the connection between a career in software and Karen’s love of crafting, puzzle-solving, and mathematics. She started her career in 1985, which was a peak year for women in Computer Science. In that year, 37% of the Computer Science degrees went to women. It dropped to a low of 17% but has started to go up again in recent years. Karen started a coaching practice because she wanted to help women who wanted to grow their careers and stay in tech. She soon realized that, even if she could be the most amazing coach on the planet, her clients would still be facing an uphill battle because they were working in companies that were not the meritocracies they claimed to be. This led Karen to explore an idea: “Instead of trying to fix the women, let’s start fixing the men.” She says there is a role for every man who is working in tech to create a more inclusive workplace on his work team and at his company. Karen says that mentoring programs are a great opportunity for people to pass on advice to someone who hasn’t had the same amount of experience, but there is a trap: studies have shown that most of us mentor people who remind us of our younger self. Karen’s advice is, if you’re doing mentoring, mentor someone who doesn’t look like you. Don’t have a mini-me protégé. Another piece of advice from Karen is to pay attention in meetings. Look out for interruptions. There is research showing that men interrupt women much more than the reverse and that women who are getting interrupted tend to step back and not participate in the rest of the meeting or future meetings. So, when you see people getting interrupted, say something like, “Jordanna was making a great point. I’d like to hear more about that.” Another thing to watch for is what Karen calls “bro-propriation”: a woman says something in a meeting that falls flat and then, later on in the same meeting, a man says the same thing and gets all the credit. An ally can say something like, “Hey, I see that you agree with the point that May was making earlier.” Discussing hiring, Karen says she used to grab old job descriptions and add new requirements to them, reasoning that all the old requirements are still relevant. She says that you should instead try to get your job description down to just five requirements. Research has shown that women apply for jobs when they have all the skills listed in the job description while men apply even if they have little more than half of the listed skills. Karen also says to have objective criteria to use for every single candidate. Ideally, use the same interview questions. She told a story about moving to Silicon Valley with her partner Tim and applying to work at the same company in the same software engineering role. The two of them had interviews the same day. Driving home at the end of the day, Tim related to Karen that his interviews were among the most difficult he had ever had while her own experience was that the interviews had all been easy. The interviewers had dumbed down the questions when interviewing her. They were both offered jobs, but she decided not to take her offer because the company didn’t respect her enough to ask her the same difficult questions they had asked men applying for the same position. She then spoke about the importance of public speaking in gaining visibility and how it can help with both recruiting in the case of giving external talks and with getting your ideas considered. Apple Podcasts link: https://podcasts.apple.com/ca/podcast/karen-catlin-on-being-better-allies/id1458996260?i=1000440710563 Website link: https://www.retainingwit.com/karen-catlin JONATHAN CUTRELL ON MAINTAINABLE The Maintainable podcast featured Jonathan Cutrell with host Robby Russell. Jonathan is the host of the Developer Tea podcast and is a senior engineer at Clearbit. Robby asked Jonathan what he thinks are the characteristics of a healthy and maintainable codebase. Jonathan says testing and having a consistent way of testing is critical to maintainability. He also looks at the size of each concept the code expresses to see if it can fit in a person’s head. Robby asked how Jonathan’s teams have achieved consistent testing. Jonathan says that human beings are pretty good at being about 90% consistent, which is almost worse than being 0% consistent. He says to take the load off the human engineer and, for those times when you still need to put the load on them, have a way to proceduralize things such as by having a checklist or template. Robby asked what Jonathan thinks developers often get wrong when they talk about technical debt. Jonathan says that debt is an easy term to throw around because, in the financial sense, it is a very clear concept. Technical debt does not have so clear a definition. You need to evaluate what your team cares about and what has been costly from a business perspective. Some things that we may think are debt are just emotionally difficult to accept: code that we wish was different but isn’t actually causing any real problems or even forecasted to cause problems. One factor that Jonathan thinks should be consistently considered technical debt is code that is staying around but for which you don’t have any kind of validation. I liked Jonathan’s metaphor for attempting to refactor code that is not under a lot of churn. Picking up code that isn’t changing much and improving its design, he says is like paying off low-interest mortgage debt. There are probably better places to expend our effort. Developers tend to treat decisions around technical debt like one would treat the decision to clean up your house. You have the sense of ownership over your home and, regardless of whether there is risk of future problems, we feel the need to clean things up. They talked about why Jonathan started the Developer Tea podcast. Jonathan wanted a podcast that he could listen to on an afternoon walk for five to ten minutes and learn something new. Most podcasts at the time were much longer and more entertainment-driven, and he wanted something that focused on the more human aspects of the job in a short, inspirational form. He says that the podcast has been one of the most rewarding things he has done in his career. The most rewarding experiences have been when people send him emails about how an episode or series of episodes have shifted the way they think about a topic or even about how they think about their career. They talked about whether there is a correlation between healthy code and healthy teams. Jonathan says there is data around teams in general that says teams that good relationships with their manager and the people they work with have the highest performance and the lowest turnover. These good team dynamics have visible effects on the code. Strong teams, Jonathan says, eradicate fear. These fears are things like fearing that someone is going to judge you poorly when they look at your code. Second, the best teams also know how to come up with the best ideas, which involves one or more team members being able to give up their own idea without attaching a sense of failure to letting that idea go. Third, members of strong teams recognize the humanity of everyone on their team. Robby asked what developers get wrong when evaluating their peers. Jonathan says that people, in general, tend to see everyone around them as inadequate as a way to containerize the rest of the world. This bias helps us to make decisions without being riddled with anxiety about them. The downside of this shows up when we are tasked with evaluating another person. This feeling that everyone else is inadequate combines in a bad way with our natural loss aversion when we try to make sense of things. Most failures are the result of factors that could not be controlled or predicted. With hindsight, when a project is late, we try to think of why it was late and we often come up with a reason, rightly or wrongly. We don’t often come to the conclusion that the project failed because something random happened. As a result, performance reviews tend towards the negative side unless we actively bias away from that. Apple Podcasts link: https://podcasts.apple.com/ca/podcast/jonathan-cutrell-healthy-teams-know-how-to-eradicate-fear/id1459893010?i=1000447238745 Website link: https://maintainable.fm/episodes/jonathan-cutrell-healthy-teams-know-how-to-eradicate-fear-LgRTt32R DR. ANEIKA L. SIMMONS ON HANSELMINUTES The Hanselminutes podcast featured Dr. Aneika L. Simmons with host Scott Hanselman. Scott asked Aneika about the talk she gave with her husband Anjuan, “Managing The Burnout Burndown” at the Lead Dev conference: https://www.youtube.com/watch?v=e2dgOfedI3A. She talked about burnout having multiple dimensions including emotional exhaustion and depersonalization. When you are burned out, the people you work with start to lose, in your eyes, their personhood. Scott asked about how having a culture that depersonalized employees, such as by referring to them as “resources”, might lead to burnout. Aneika talked about how having a culture that values the highly-engaged software developer counter-intuitively increases rather than decreases burnout. She talked about managing burnout with the help of your relationships. When Aneika is looking burned out, Anjuan will often say, “Aneika, let’s go for a walk.” She talked about the American notion of the “protestant work ethic” and how the work itself is valued and makes the worker feel important and gives them a sense of meaning. Those that are not working are made to feel like they are not contributing. Scott connected this to how many Americans do not take all of their vacation days. Aneika talked about the difficulty of achieving work-life balance when pleasing your boss means disappointing your family and vice versa and she described how stress is the cause of many illnesses, telling her own story about getting a sore jaw while working on her dissertation because the stress caused her to start grinding her teeth. Aneika suggested building relationships with your boss and your team so that they see you as a person and not just as a contributor. When they see you as a person, they are less likely to attempt to make you feel small when you need to take time for yourself. Here's Aneika on the relationship between engagement and burnout. Apple Podcasts link: https://podcasts.apple.com/ca/podcast/managing-the-burnout-burndown-with-dr-aneika-simmons/id117488860?i=1000447003518 Website link: https://hanselminutes.simplecast.com/episodes/managing-the-burnout-burndown-with-dr-aneika-simmons-1caMsclq SARAH WELLS ON ENGINEERING CULTURE BY INFOQ The Engineering Culture by InfoQ podcast featured Sarah Wells with host Shane Hastie. Sarah is the technical director of operations and reliability at The Financial Times. When Sarah joined FT in 2011, the company was full of smart people, but they were hampered by a frustrating set of processes. During the last eight years, they adopted a DevOps culture with a focus on automation. When she joined, it took an average of 120 days to provision a new server. They stopped tracking the improvement when they got it down to minutes. They moved from 12 releases a year to many thousand releases a year. This required pushing decision-making down to the individuals making the changes. Shane asked about how to achieve a culture of safety and experimentation. Sarah says it has to come down from the top. You cannot have a CIO or CTO is saying, “What went wrong? Who did this?” You optimize for the speed of release and for speed of fixing. You do incident reviews, but their goal is to improve things for next time, not lay blame. If you drop a database in production as a developer, that is not your fault. The fault is that it is too easy to do that. Shane asked what a culture of experimentation looks like at “the coal face.” Sarah referenced Linda Rising in saying that it is not an experiment if there is not a hypothesis and if it can’t fail. As soon as something costs a certain amount of money, very few organizations are willing to write it off, so if you’re going to experiment, it has to be something cheap and quick. Sarah gave an example of an experiment to test a design change in which they would show the star-rating on the list of film reviews. The thinking was that this would increase engagement. The experiment showed that engagement went down instead because people were less likely to click to see the full review once they had the star-rating. Shane asked about how Sarah limits the blast radius of changes. Sarah says that by releasing small amounts of code frequently and having an architecture like micro-services to keep components extremely decoupled, you are better able to understand the code you are releasing and the change is localized and less likely to affect distant parts of the product. You can also design your website to have graceful degradation when a particular service is not returning results. Shane asked about Sarah’s preference to buy rather than build. Sarah referenced Simon Wardley’s value-chain mapping and establishing the core thing a business does. For FT, the core business is news, so something like doing their own container orchestration is not part of that. Originally, they did their own container orchestration, but once Kubernetes was available, they moved to it. In discussing the sunk cost fallacy, Sarah says you always have to fight to invest in the technical stuff, so you need a good relationship between the tech leads and the product people to explain the benefits of particular technical decisions. You also need to accept that things change and you won’t always get it right. The flip side of moving fast is that sometimes you get it wrong. She related a quote from Jeff Bezos in a letter to shareholders about one-way door and two-way door decisions. For decisions that are likely a one-way door, invest time in getting them right, but for most decisions, you should just decide, commit, and revisit. Shane asked how the listeners who are working on monoliths that release once a month can get to where FT is at today. Sarah says that you need a continuous delivery pipeline so it takes no time at all to get a release out. The second thing is architectural changes. Get to zero-downtime deployments. The cultural aspects are things like process. Reduce anything that requires permission from an external team. It has to be possible for a team to just get going. She referenced Accelerate by Forsgren about the research that says not to have change approval boards. Architects get embedded in the individual teams instead. You want your engineers to be T-shaped, having one specialty but also having some skill in all areas. Apple Podcasts link: https://podcasts.apple.com/ca/podcast/sarah-wells-on-fts-transition-to-devops/id1161431874?i=1000446732957 Website link: https://soundcloud.com/infoq-engineering-culture/sarah-wells-on-fts-transition-to-devops DAVE THOMAS AND ANDY HUNT ON TECH DONE RIGHT The Tech Done Right podcast featured Dave Thomas and Andy Hunt with host Noel Rappin. I realize that this is the third time in as many weeks that I have included a podcast episode featuring Dave and Andy talking about the 20th anniversary of The Pragmatic Programmer, but they keep saying different and interesting things on each podcast they visit that I keep wanting to share it. In this podcast, Dave described what being pragmatic means to him. He says that being pragmatic means doing what works, but nobody knows what works. The cool thing about software, which is also the scary thing about software, is that we are constantly reinventing the entire field. Every project is new: it has new circumstances, new technologies, and new requirements. When you don't know what to do, being pragmatic means exploring as much as you can to find out what works, having in place a system of feedback to tell you whether it is working or not, and taking steps that are reversible so that, if you make a mistake, you can go back and fix it. This, Dave says, is the essence of the book. Noel added a fourth variable, the team, that is different every time, and asked what the pragmatic approach is for how a team works. Dave says that a team is a voluntary collection of individuals. You don’t have a team that you put people into; you start with a group of people and try to turn them into a team. The book dedicates a chapter to teams that echos the previous chapters on individuals because teams need to know all the things that individuals need to know: they need to realize that they are going to make mistakes, they need to figure out when they’ve made a mistake, and they need to know how to fix those mistakes and minimize them in the future. As a programmer, your job is not to write perfect code; your job is to create something that does what the customer wants. If there are bugs along the way, that is not an exception; it just the way it is. The same applies to teams. When teams adopt that approach, they lose the incentive to blame people for things and they take on collective ownership. Andy says that the one thing that is unique to teams is an underlying trust of each other member of the team. You are much better off with relatively small, stable teams. Every time you add someone to or remove someone from a team, it is a new team and you need to start over building relationships, building trust, and learning to work with each other. Noel asked how they would compare The Pragmatic Programmer with the Agile Manifesto since they were involved in the creation of both. Dave suggested thinking of Agile methodologies like XP as a roadmap and The Pragmatic Programmer as your car. Noel said that, in re-reading The Pragmatic Programmer, he was struck by the emphasis on taking small steps and “not getting in front of your headlights”. Andy says that is critical idea because we fall into the trap of taking on too much at once all the time. Small steps, Dave added, also mean you can more easily undo and you are less likely to fall victim to the sunk cost fallacy because your sunk costs are smaller. Noel asked if the way in which developers learn has changed in the last twenty years. In reference to books versus StackOverflow searches and watching videos, Dave made the point that the distinguishing aspect of a book is that the content is curated; putting it together was difficult; it took a long time for the author to organize their thinking to make it clear and approachable and to produce something authoritative and easy to read as a whole. Noel asked Dave about the pragmatic value of automated testing. Dave says that when he gets too comfortable doing something, he tries to stop using it so that he doesn’t get stuck in a rut and so that he doesn’t start to believe something religiously simply because he has been doing it a long time. He had been telling people for years that it is good to test and he had never done the experiment of not testing. He decided not to test for a period and was surprised by the result. He kept an eye on bug rates and it was just as buggy as ever, his productivity went up a little bit, and his designs were just as flexible as before. His explanation is that, having done the requisite ten thousand hours, it is now so ingrained that he doesn’t have to test to get the benefits of testing. He still feels that tests are useful when working with others and as a regression barrier. He sees his experiment with not testing as another example that nothing is sacred: if you’re truly being pragmatic, you should always be experimenting. Apple Podcasts link: https://podcasts.apple.com/ca/podcast/episode-68-pragmatic-programmer-at-20-dave-thomas-andy/id1195695341?i=1000446898661 Website link: https://www.techdoneright.io/68 LINKS Ask questions, make comments, and let your voice be heard by emailing podcast@thekguy.com. Twitter: https://twitter.com/thekguy LinkedIn: https://www.linkedin.com/in/keithmmcdonald/ Facebook: https://www.facebook.com/thekguypage Instagram: https://www.instagram.com/the_k_guy/ YouTube: https://www.youtube.com/c/TheKGuy Website:
How To Buy Software With Ashley Quinto Powell Guest Ashley Quinto Powell (https://www.linkedin.com/in/ashleyquinto/): Director of Business Development at Table XI (https://www.tablexi.com/). Summary Today on the show, we have Ashley Quinto Powell. Ashley and I have run a workshop together called How to Buy Software aimed at people who want to buy custom software but aren't sure what the process will be like. In this episode, we try to compress a four-hour workshop into a 45-minute podcast. Ashley will talk about what to expect from the sales process and then Ashley will interview me about what it's like to work with a development team. I hope you like it. Notes 01:40 - How do you buy software? 02:47 - Common Misconceptions When Starting the Process 04:20 - Preparing for a Conversation About Buying Software 06:42 - Terminology To Know Offshore / Nearshore - Agile / Waterfall - Time and Materials Contract / Fixed Contract 16:08 - Interacting with a Development Team 18:28 - Estimation 28:16 - Signs Things Are Going Well / Red Flags Special Guest: Ashley Quinto Powell.
Mark Rickmeier believes in the power of failure. He’s the CEO of Table XI, a UX research, design, and software development company based in Chicago. Table XI has helped massive clients such as Tyson Foods, AccuWeather, Northwestern University, Jimmy Dean, the YMCA, the Journal of the American Medical Association and so many more. Mark has only been at the helm of Table XI since October 2016, but he’s called the tech world home for nearly two decades. Over the last 18 years, he’s created more than 100 mobile apps, custom-built web applications and intuitive user experiences. In 2014, he founded the Operations Conference to bring together a global community of software companies, and in 2017, he co-founded the “Walkshop,” a multi-day hiking and design-thinking experience for leaders, executives and entrepreneurs to get offline and build new connections across the industry. Tune in as Mark discusses his trips around the globe, learning through playing games and why “busy is the new stupid” is his new life motto.
Ashley Quinto Powell Director Of Business Development at Table XI is interviewed in this episode. Follow Adam on Instagram at Ask Adam Torres for up to date information on book releases and tour schedule. Apply to become a featured co-author in one of Adam's upcoming books: https://www.moneymatterstoptips.com/coauthor --- Support this podcast: https://anchor.fm/moneymatters/support
Food and Design Thinking TableXI is now offering training for developers and products teams! For more info, email workshops@tablexi.com. Guests Rex Chekal (https://twitter.com/rexerr): Director of Digital Strategy and Product Designer at Table XI (https://www.tablexi.com/). Jessie Shternshus (https://twitter.com/TheImprovEffect): Founder and Owner of the Improv Effect (https://improveffect.com/). Chemia Davis: Innovation Methods Conductor and Member of the Tyson Foods Innovation Lab (https://www.tysonfoods.com/innovation/food-innovation/innovation-lab). Santi Proano: Experimental Brand Dreamer for Yappah Foods (https://www.yappah.com/) and Member of the Tyson Foods Innovation Lab (https://www.tysonfoods.com/innovation/food-innovation/innovation-lab). Summary In this episode, we have a slightly different topic for Tech Done Right - food. Table XI has been working to adapt our design sprint process out of the realm of custom software and into more general product design. In particular, we've worked with Tyson Foods Innovation Lab on a few different projects including the creation of their Yappah brand which is designed to prevent food waste. In this episode, you'll hear from Chemia Davis and Santi Proano from Tyson, Rex Chekal from Table XI and Jessie Shternshus from the Improv Effect and we'll show you how we adapted design thinking and Agile process from software to food products. Notes 02:58 - The Scope of Work Between Table XI and Tyson Foods Innovation Lab 04:08 - The Goal of the Innovation Lab - Consumer Packaged Goods (CPG) (https://www.investopedia.com/terms/c/cpg.asp) 06:51 - Bringing Design Thinking to Product Development and CPGs 11:13 - Design Steps - Nduja (https://en.wikipedia.org/wiki/%27Nduja) - YAPPAH! Chicken Crisps (https://www.yappah.com/the-menu.html) 17:14 - Facilitating Communication 22:05 - The Sprint Week Experience - The Three-Hour Brand Sprint (https://library.gv.com/the-three-hour-brand-sprint-3ccabf4b768a) 26:40 - Next Steps After Sprint Week - Yappah on Indiegogo (https://www.indiegogo.com/projects/yappah-protein-crisps-rethinking-snacks-for-good#/) 29:32 - Learning From the Design and Coaching Process Special Guests: Chemia Davis, Jesse Shternshus, Rex Chekal, and Santi Proano.
Accessibility With Luisa Morales TableXI is offering training for developers and product teams! For more info, email workshops@tablexi.com or see our offerings at http://tablexi.com/workshops. The Table XI inclusive meeting Kickstarter is ongoing as this episode is released, see http://tablexi.com/kickstarter for more information. Guest Luisa M. Morales (https://twitter.com/luisamariethm), luisam.com (http://luisam.com/). Summary As many as 15 to 25 percent of your site’s potential users may have trouble accessing it due to some kind of disability. How can you design your site to allow your content to be usable by the widest variety of users? My guest today is Luisa Morales, an engineering fellow at the New York City Mayor’s office for Economic Opportunity. We talk about what accessibility means, how to design your site to be accessible, and what guidelines to use to help ensure success. We’ll also talk about a very literal form of accessibility — making your site behave in a way that it is accessible to users with limited bandwidth or older devices. We’d like to hear from you. What issues or successes have you had with accessibility? Let us know at techdoneright.io or on Twitter at @tech_done_right. Notes 02:15 - Defining “Accessibility” and the Population Who May Be Affected - W3C Guidelines (https://www.w3.org/standards/) 05:00 - What Web Devs Can Do To Makes Sites Accessible 07:30 - ARIA (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) 09:55 - How Screen Readers Work 12:45 - How To Build in Accessibility - h1 Elements (https://www.sitepoint.com/h1-html-element/) 17:36 - Approaching Page Design 20:23 - Auditing Accessibility Issues - JAWS (https://www.freedomscientific.com/Products/Blindness/JAWS) - NVDA (https://www.nvaccess.org/download/) - High Contrast (https://support.microsoft.com/en-us/help/13862/windows-use-high-contrast-mode) - ChromeVox (http://www.chromevox.com) - Browserstack (https://www.browserstack.com) - Pa11y (http://pa11y.org) 22:20 - Accessibility Based on Access - Progressive Web App (https://developers.google.com/web/progressive-web-apps/) - Accelerated Mobile Pages (https://www.ampproject.org/) - The minimalist version of CNN is actually at http://lite.cnn.io 26:49 - Accessibility, JavaScript, Single-page Apps and Site Simulation 32:04 - Accessibility is for everyone: Reasons You Should Care Special Guest: Luisa Morales.
Meetings and Inclusion with Katie Gore and Mark Rickmeier The inclusion card deck discussed in this episode is now live on Kickstarter. Go to https://www.tablexi.com/kickstarter to get your deck. TableXI is offering training for developers and product teams! For more info, got to http://tablexi.com/workshops or email workshops@tablexi.com. Guests: Mark Rickmeier (https://twitter.com/MarkRickmeier): CEO of Table XI (https://www.tablexi.com/). Katie Gore (https://twitter.com/speechIRL): Founder and Director of speech IRL (https://www.speechirl.com/). Summary Today we are talking about meetings. Any group software activity is going to have meetings, and we’re going to talk about making them better, where by better we mean more interactive and able to get meaningful contributions from everybody without letting the loudest or most powerful voices dominate. My guests are Mark Rickmeier, the CEO of Table XI, and Katie Gore, of the communication coaching company SpeechIRL. As this podcast comes out, Table XI is running a Kickstarter for a new meeting tool that you can use to improve your meetings. We’ll talk about how we came to develop the tool, how we use it, and why we think it’s effective. We want to hear from you — what’s the problem with your meetings and how have you solved it? Let us know at techdoneright.io/48 or on Twitter at @tech_done_right Notes 02:25 - What are the problems with meetings that we are trying to solve? - Multipliers, Revised and Updated: How the Best Leaders Make Everyone Smarter by Liz Wiseman (https://www.amazon.com/Multipliers-Revised-Updated-Leaders-Everyone/dp/0062663070/ref=sr_1_1?ie=UTF8&qid=1540240738&sr=8-1&keywords=multiplyers+book) - Accidental Diminishing - People Who Don’t Contribute Enough - Rambling and Tangents - Interrupting 08:40 - Remote Meetings and Communication Styles and Tactics 13:28 - Creating Cards and Gamifying Meetings: “Wicked Meetings” - Question Cards - Opinion Cards - The Interrupter Card - The Devil’s Advocate Card - The Angel’s Advocate Card - The Kicking a Dead Horse Card - Speak Up Card 24:00 - What kinds of meetings do these work best at? - Meeting Owl 360 Degree Video Conference Camera with Automatic Speaker Focus (https://www.amazon.com/Meeting-Owl-Conference-Automatic-Speaker/dp/B075X1VL3Y/ref=sr_1_1_sspa?ie=UTF8&qid=1540242163&sr=8-1-spons&keywords=meeting+owl+360+degree+video+conference+camera&psc=1) 27:24 - Table XI’s Inclusion Card Kickstarter! - https://www.tablexi.com/kickstarter - Are you (accidentally) diminishing colleagues in your meetings? (https://www.linkedin.com/pulse/you-accidentally-diminishing-colleagues-your-meetings-mark-rickmeier/) 29:23 - How can people and companies get started implementing something like this? Related Episodes Diverse Agile Teams with Marlena Compton, Betsy Haibel, and Jennifer Tu (https://www.techdoneright.io/38) Your First 100 Days at a New Company with Katie Gore and Elizabeth Trepkowski Hodos (https://www.techdoneright.io/36) Nonviolent Conversation with Nadia Odunayo (https://www.techdoneright.io/22) Building Trust and Building Teams with Jessie Shternshus and Mark Rickmeier (https://www.techdoneright.io/001-building-trust) Special Guests: Katie Gore and Mark Rickmeier.
In this episode we’re talking with Noel Rappin, Principal Software Engineer at TableXI and host of Tech Done Right, which is Table XI’s podcast about building software to develop better careers, companies, and communities.
Travis and Brandon introduce the podcast, discuss the book Measure what Matters by John Doerr, and talk about the value that OKRs can bring to a team. Notes: Measure What Matters: https://www.amazon.com/Measure-What-Matters-Google-Foundation-ebook/dp/B078FZ9SYB/ The Hard Thing About Hard Things: https://www.amazon.com/Hard-Thing-About-Things-Building/dp/0062273205 Radical Focus: https://www.amazon.com/Radical-Focus-Achieving-Important-Objectives-ebook/dp/B01BFKJA0Y ATX Web Show http://atxwebshow.com/ Mark Rickmeier (CEO of TableXI) https://twitter.com/markrickmeier?lang=en
Apprenticeship with Megan Tiu, Kara Carrell, and Alyssa Ramsey TableXI is offering training for developers and products teams! For more info, email workshops@tablexi.com. Get your FREE career growth strategy information and techniques! (https://stickynote.game) Summary What is an apprenticeship program, how is it different from an internship, and how can your company benefit from having one? In this episode, we’re talking about technical apprenticeships with Megan Tiu of Women Who Code. Megan and I have both run apprenticeships at various companies. We’re also joined by Table XI’s current apprentice cohort, Kara Carrell and Alyssa Ramsey. Guests Megan Tiu (http://twitter.com/megantiu): Engineering Manager with Women Who Code (https://www.womenwhocode.com). megantiu.com (http://www.megantiu.com/). Alyssa Ramsey: Developer Apprentice at TableXI (https://www.tablexi.com/). Kara Carrell: Developer Apprentice at TableXI (https://www.tablexi.com/). Notes 02:18 - Apprenticeship: Defined 04:38 - Finding and Hiring People for Apprenticeships 05:21 - Interviewing For Apprenticeships 08:35 - Organizing Apprenticeships 14:13 - Making Use of Unstructured Time and Other Opportunities for Apprentices 17:39 - Career-Growth Support - Apprenticeship Patterns by Dave Hoover and Adewale Oshineye (http://shop.oreilly.com/product/9780596518387.do) 20:40 - Having a Sponsor and Getting Support - Sticky Note Game (http://stickynote.game) 24:20 - Evaluating Apprentices 27:59 - Benefits For Companies That Have Apprenticeship Programs - How to be a Better Junior Developer, by Katherine Wu (https://confreaks.tv/videos/railsconf2014-how-to-be-a-better-junior-developer) Related Episodes Your First 100 Days Onboarding A New Employee With Shay Howe and John Gore (http://www.techdoneright.io/37) Developer Bootcamps and Computing Education with Jeff Casimir and Mark Guzdial (http://www.techdoneright.io/20) Managing For Career Development with Claire Lew and Dan Hodos (http://www.techdoneright.io/12) Career Development With Brandon Hays and Pete Brooks (http://www.techdoneright.io/002-career-development-with-brandon-hays) Special Guests: Alyssa Ramsey, Kara Carrell, and Megan Tiu.
Diversity and Inclusion at Small Companies with Meara Charnetzki, Michael Donnelly, and Elena Valentine TableXI is now offering training for developers and products teams! For more info, email workshops@tablexi.com. Get your FREE career growth strategy information and techniques! (https://stickynote.game) Summary What can a small company do to improve its diversity and inclusion practices when your company just isn't changing personnel quickly enough to improve via hiring? Here to discuss this are Meara Charnetzki from Table XI, Michael Donnelly from the FWD Collective and Elena Valentine from Skill Scout. We'll all about company values, supporting a wider community, using internal feedback, and what to do to encourage improvement at your company. Guests Meara Charnetzki (https://twitter.com/m34ra) of Table XI (https://www.tablexi.com/) Michael Donnelly (https://twitter.com/realmdonnelly) of The FWD Collective (https://fwdcollective.io/) Elena Valentine (https://twitter.com/Elena_Valentine) of Skill Scout (https://www.skillscout.com/) Notes 02:56 - Advice For Small Companies Interested in Being More Diverse 09:08 - Vetting Companies for Diversity & Inclusion Values 13:59 - Having a Healthy Company Feedback System - Know Your Company (https://knowyourcompany.com/) - Managing for Career Development with Claire Lew (http://www.techdoneright.io/12) 17:02 - Building Relationships as a Company Leader 20:09 - Diversity and Inclusion Benefits Everyone 23:31 - Encouraging Companies to Start D&I Initiatives as an Employee 30:45 - Company Exit Interviews 32:26 - Salary Transparency 35:51 - Flexible Working Structures Related Episodes Diverse Agile Teams with Marlena Compton, Betsy Haibel, and Jennifer Tu (http://www.techdoneright.io/38) Your First 100 Days at a New Company with Katie Gore and Elizabeth Trepkowski Hodos (http://www.techdoneright.io/36) Managing for Career Development with Claire Lew (http://www.techdoneright.io/12) Special Guests: Elena Valentine, Meara Charnetzki, and Michael Donnelly.
React Native with Gant Laborde, Ed LaFoy, and Brent Vatne Get your FREE career growth strategy information and techniques! (https://stickynote.game) TableXI is now offering training for developers and products teams! For more info, email workshops@tablexi.com. Rails 5 Test Prescriptions (https://pragprog.com/titles/nrtest3) is updated and available for purchase! Guests Gant Laborde (https://twitter.com/GantLaborde): Chief Technology Strategist at Infinite Red (https://infinite.red/). Gant on Medium (https://medium.com/@gantlaborde). Ed LaFoy (https://twitter.com/edwardlafoy): Director of Mobile Development at TableXI (http://www.tablexi.com/). Brent Vatne (https://twitter.com/notbrent): React Native and Expo Developer at Expo (https://expo.io/). Summary After many attempts at cross-platform mobile application tools, React Native seems to be the real deal, easy to use, powerful tools, and native look and feel. On this show, Ed LaFoy, Table XI's Director of Mobile Development, is joined by two longtime members of the React Native community: Gant Laborde of Infinite Red and Brent Vatne of Expo. We talk about why React Native succeeds, and how to be successful using it, and also give some resources for people who want to get started. Notes 02:18 - What is React Native (http://facebook.github.io/react-native/) and when would someone us it? 03:50 - The Competitive Advantage of React Native 05:48 - What makes React Native succeed as compared to other tools? JSX (https://facebook.github.io/jsx/) Redux (https://redux.js.org/) redux-saga (https://github.com/redux-saga/redux-saga) react-native-web (https://github.com/necolas/react-native-web) 13:15 - The Immediate, Out-of-the-box Experience Snack (https://snack.expo.io/) React Navigation (https://reactnavigation.org/) 20:23 - Limitations and Boundaries and Skills to be an Effective React Native Developer 29:18 - The React Native Core 38:03 - The React Native Community 38:52 - Resources The React Native Newsletter (http://reactnative.cc/) The React Native Conference (US) (http://infinite.red/ChainReactConf) The React Native Conference (EU) (http://react-native.eu/) React Native Express (http://www.reactnativeexpress.com/) ReactEurope 2017 React Native Workshop with Expo (YouTube Playlist) (https://www.youtube.com/playlist?list=PLCC436JpVnK2RFms3NG9ubPToWCNbMLbT) Animated (https://facebook.github.io/react-native/docs/animated.html) React Native Training (https://reactnative.training/) react-native-storybook (https://github.com/storybook-eol/react-native-storybook) Related Episodes Navigating the JavaScript World: A Panel Discussion (http://www.techdoneright.io/19) The Elm Programming Language With Corey Haines (http://www.techdoneright.io/17) JavaScript: Islands, Sprinkles, and Frameworks with Zach Briggs and David Copeland (http://www.techdoneright.io/005-javascript-apps) Special Guests: Brent Vatne, Ed LaFoy, and Gant Laborde.
How to Design Applications for Doctors and Patients Follow us on Twitter! @techdoneright (https://twitter.com/tech_done_right) Also, please leave us a review on Apple Podcasts (https://itunes.apple.com/us/podcast/tech-done-right/id1195695341?mt=2)! The newsletter is back! For more information on upcoming episodes, sign up at http://techdoneright.io/newsletter (http://techdoneright.io/newsletter) Guests Mark Yoon (https://twitter.com/wimyoon): Developer and Director of Talent at Table XI (http://www.tablexi.com/) Kyoko Crawford (https://twitter.com/klkcrawford): CEO of SkinIO (https://www.skinio.com/). Summary How do you design for both doctors and patients, two very different audiences that need the same data? If you are designing health care technology, how do you build the trust that lets users know it's okay to share sensitive medical data, such as full-body skin images? Kyoko Crawford, CEO of SkinIO, joins Mark Yoon of Table XI on the show to talk about the challenges of health care technology, and how empathy is always important in the end. Notes 02:02 - Designing for Liability 07:49 - Physicians and Technology and The Generational Divide in Doctors Podcasting and Audio Stories with Dr. Ed Livingston (http://www.techdoneright.io/26) 13:48 - Patients and Users 19:09 - Building Trust and Authority and Designing for Reassurance 26:41 - Testing and Detection 34:56 - Tech Team Exposure to Healthcare 37:16 - Attention Between Precision of Medical Data and Usability 41:21 - Empathy: Linking Together the Medical and Tech Fields Related Episodes Podcasting and Audio Stories with Dr. Ed Livingston (http://www.techdoneright.io/26) Live Panel: Hiring Developers in (and out of) Health Care (http://www.techdoneright.io/23) Using Software to Create Better Countries: Recovering Healthcare.gov with Andy Slavitt (http://www.techdoneright.io/006-healthcare-dot-gov) Special Guests: Kyoko Crawford and Mark Yoon.
Live Panel: Hiring Developers in (and out of) Health Care Follow us on Twitter @techdoneright (https://twitter.com/tech_done_right), and please leave us a review on Apple Podcasts (https://itunes.apple.com/us/podcast/tech-done-right/id1195695341?mt=2)! Guests Mark Yoon (https://twitter.com/wimyoon) Director of Talent at TableXI (http://www.tablexi.com/) Liz Vellojin (https://twitter.com/lizvellojin) Strategic Lead at Outcome Health (https://www.outcomehealth.com/) Lia James (https://twitter.com/Lia_James) Branding and Talent Consultant at HumanPredictions (https://humanpredictions.io/) Summary Hiring and retaining developers is hard. If you are in the health care industry, and require some specialized knowledge it's even harder. Joining the show for a live panel discussion are Lia James, Branding and Talent Consultant at Human Predictions, Liz Vellojin, Strategic Lead at Outcome Health, and Mark Yoon, Director of Talent at Table XI. Whether or not you work in health care, you'll find advice on your recruiting process from how to meet candidates, how to filter resumes, how to evaluate candidates, and how to keep your team. Notes 01:35 - Introductions 02:56 - Creating a Recruiting Process: Identifying Skilled and Empathetic Developers 09:46 - Looking for People Who Will Be Culture Additions 18:45 - Identifying Technical/Experience Levels of Candidates 25:42 - How do you funnel people through from an initial resume based on a job specification? 34:03 - What are we doing to recruit talent? What organizations are we a part of to get resumes to our door? 39:36 - How do you show developers that their work is important? 42:38 - What do you do to build up your initial team at a startup? 48:00 - How important is it that someone has healthcare experience? 52:44 - How do you workforce plan against staffing level changes? 57:20 - How do you choose to reward and compensate your new hires and employees? 01:07:56 - Clarity of Policies 01:10:26 - How do you find people that are going to be mission aligned? Special Guests: Lia James, Liz Vellojin, and Mark Yoon.
Tweet this Episode Allison is a developer in the Washington DC area. She is a non-profit executive turned developer. She helps organize the RubyConf and RailsConf Scholar Program. She organizes a local meetup call Silver Spring Ruby. She works at Collective Idea. The Rogues talk to Allison about being a mom in coding and work-life balance. They also talk about transitioning from non-profits to coding. This episode goes into depth on: Prioritizing your family and still having a great career Goal setting, focus, and growth Team collaboration Contributing to open source and much, much more... Links: Delayed Job Allison's Blog Baby Driven Development talk Rails Girls Ruby Dev Summit RSpec Minitest RailsCasts Interactor Gem Leah Silber from Tilde tweet Tilde article on Baby at Work Mother Coders RailsBridge Allison on Twitter Picks: Eric: Gallup Strengths Test Metabase Allison: Sticky Note Game by TableXI WriteSpeakCode Ruby Jewel Crystal DISC Assessment Dave Rails Guides
Tweet this Episode Allison is a developer in the Washington DC area. She is a non-profit executive turned developer. She helps organize the RubyConf and RailsConf Scholar Program. She organizes a local meetup call Silver Spring Ruby. She works at Collective Idea. The Rogues talk to Allison about being a mom in coding and work-life balance. They also talk about transitioning from non-profits to coding. This episode goes into depth on: Prioritizing your family and still having a great career Goal setting, focus, and growth Team collaboration Contributing to open source and much, much more... Links: Delayed Job Allison's Blog Baby Driven Development talk Rails Girls Ruby Dev Summit RSpec Minitest RailsCasts Interactor Gem Leah Silber from Tilde tweet Tilde article on Baby at Work Mother Coders RailsBridge Allison on Twitter Picks: Eric: Gallup Strengths Test Metabase Allison: Sticky Note Game by TableXI WriteSpeakCode Ruby Jewel Crystal DISC Assessment Dave Rails Guides
Tweet this Episode Allison is a developer in the Washington DC area. She is a non-profit executive turned developer. She helps organize the RubyConf and RailsConf Scholar Program. She organizes a local meetup call Silver Spring Ruby. She works at Collective Idea. The Rogues talk to Allison about being a mom in coding and work-life balance. They also talk about transitioning from non-profits to coding. This episode goes into depth on: Prioritizing your family and still having a great career Goal setting, focus, and growth Team collaboration Contributing to open source and much, much more... Links: Delayed Job Allison's Blog Baby Driven Development talk Rails Girls Ruby Dev Summit RSpec Minitest RailsCasts Interactor Gem Leah Silber from Tilde tweet Tilde article on Baby at Work Mother Coders RailsBridge Allison on Twitter Picks: Eric: Gallup Strengths Test Metabase Allison: Sticky Note Game by TableXI WriteSpeakCode Ruby Jewel Crystal DISC Assessment Dave Rails Guides
Agile UX Product Design with Yana Carstens and Jeff Patton Follow us on Twitter! @techdoneright (https://twitter.com/tech_done_right), and leave us a review on Apple Podcasts (https://itunes.apple.com/us/podcast/tech-done-right/id1195695341?mt=2). Guests Jeff Patton (https://twitter.com/jeffpatton): Author of User Story Mapping: Discover the Whole Story, Build the Right Product (https://www.amazon.com/User-Story-Mapping-Discover-Product/dp/1491904909) and owner of Jeff Patton & Associates (http://jpattonassociates.com/). Yana Carstens (https://twitter.com/YanaCarstens): Senior User Experience Designer at TableXI (http://www.tablexi.com/). Summary Agile practices help you build software. UX design helps you build the right software. Teams often struggle integrating UX design into agile practice. In this episode, Jeff Patton, author of User Story Mapping, and UX Designer Yana Carstens talk about the importance of bringing UX design together with development and how to bring your team from unconscious competence to conscious competence. Notes 01:47 - Jeff’s Involvement with Company Product Development 03:31 - The History of Agile Software Development (https://en.wikipedia.org/wiki/Agile_software_development) 05:37 - The Role and Integration of the UX Designer 09:00 - Creating Products Without a Design Process - FUBU (https://en.wikipedia.org/wiki/FUBU) 12:21 - Consciousness and Competency - The Four Stages of Competence (https://en.wikipedia.org/wiki/Four_stages_of_competence) 16:08 - Advice for Newbies Striving to Reach the Competence Level in UX - The User Experience Team of One: A Research and Design Survival Guide by Leah Buley (https://www.amazon.com/User-Experience-Team-One-Research/dp/1933820187) 19:11 - Deciding Design Cadences Within Cycles 23:20 - When Designers are Sprinting Ahead of Developers; Lean User Experience - Implementing Lean UX In Large Organizations (https://www.axure.com/blog/archie-miller-of-carmax-on-implementing-lean-ux-in-large-organizations/) 28:48 - Inceptions and Product Strategy Workshops to Integrate Design Into Agile Development 31:16 - Team Development: The Benefits of Hiring Experienced Professionals and Upscaling the People You’ve Got 34:38 - UX Practices in the 90's vs 2010's - Agile 2017 Conference (https://www.agilealliance.org/agile2017/) Special Guests: Jeff Patton and Yana Carstens.
MRS 014 Noel Rappin Today's episode is a My Ruby Story with Noel Rappin. Noel talked about his contributions to the Ruby community and how they explore new technologies like Elixir. Listen to learn more about Noel! [00:01:40] – Introduction to Noel Rappin Noel is in episodes 30, which was about Software Craftsmanship. He was also on episode 185, which was about Rails 4 Test Prescriptions. And then, the latest one was 281, which was about Take My Money. [00:02:45] – How did you get into programming? Noel is a stereotypical nerdy kid so he started programming when he was young. He had afterschool classes in Applesoft BASIC at a place near their house. He had TRS-80 and Texas Instruments, and a couple of other things. [00:03:35] – Computer Science degree Noel has a Computer Science degree and a Ph.D. from the College of Computing at Georgia Tech, which was in the intersection of user interface design and Ed tech. He was designing interfaces for teaching, specifically for teaching engineers and developers. [00:04:15] – How did you get into Ruby? Noel came out of grad school immediately and went to a small web development company. He started hearing about Rails in about 2005. Having been one of the people who have done a lot of the Java-Struts web development that Rails was created in opposition to, Noel searched it up pretty quickly. But he started using it in 2005 or 2006 for some internal tools for his team. He built a test tracker and other things that his team is using internally. He built a couple of web apps for them to collaborate because they were working with some developers in Poland. And as he got comfortable with it, he contracted to do a Ruby on Rails book and got a full-time professional Ruby job. [00:06:30] – What is it about Ruby that got you excited? Noel has always like scripting languages and dynamic languages. He did a lot of work on Python for a while. It was extraordinary how quickly you do things in Rails compared to Java tools, even compared to Django, which was more or less contemporaneous. Ruby emphasized testing and Rails was very similar to some of the tools that he was building in Python. [00:08:50] – Books and contributions to the Ruby community Noel had a book which was out of date, 30 to 40 seconds after it was published. It’s normal in this industry. Sometime after that, he started publishing Rails Test Prescriptions and submitted it to the Pragmatic Bookshelf, and they purchased it. They published Rails Test Prescription 6 years. After that, he did a series of self-published JavaScript books called Master Space and Time with JavaScript. They are also out of date but they’re free now. He also did a self-published book about projects called Trust-Driven Development that you can still get. He did a book about purchasing, handling money and web purchases, and mostly this API called Take My Money, which came out last summer. Noel is currently working on a Rails 5 Test Prescriptions, which will include all the new Rails 5.1. It will come out this fall. [00:10:35] – Table XI Noel works at Table XI, which is a web consulting firm in Chicago with about 35 people. They do Rails development, websites, mobile development and a lot of React Native development. They build websites for companies that are not web software companies but companies that need web pages like non-profit or start-ups. They like to focus on solid business problems in software, rather than technology problems in software. [00:11:15] – What are you working on these days? Noel has his own podcast called Tech Done Right. The latest episode was with Michael Feathers. There is also an episode with somebody who is in charge of the Medicare Program under President Obama, who was actually the person who was called in to fix healthcare.gov and had some interesting stories about what that was like from a software manager perspective. From the development side, Noel has been doing a lot of Rails development, some JavaScript development, building purchase-sides for nonprofit, and doing a lot of upgrade work recently. [00:12:40] – Rails upgrades story This upgrade was for a Rails 2 application that was still in active development. The Rails community, at one point, was so bad at managing upgrades. And now, it does seem like the community has gotten better at managing new tools without breaking old ones. The security needs have pushed people towards the best practices. [00:14:15] – Ruby and Elixir Like a lot of Ruby companies, they’ve been exploring what the next tools are. They ran an Elixir project. It’s originally an internal prototype, which is a great way to get new technologies into the company. They wound up building a small project that was largely API focused. That’s the kind of thing that Rails is not super great at. They’re exploring what to do with front-end because there’s a sharp understanding of what Ruby on Rails is good for and what might be the purview of other tools. Elixir does a couple of things that Ruby doesn’t do very well. A lot of people who start with Ruby can learn a lot from going off to a functional language like Elixir or something that has a pattern-matching type of language like Elixir. Picks Noel Rappin R programming Podcast: Tech Done Right Author: Martha Wells The Murderbot Diaries by Martha Well Atom Editor Audio Hijack Bear Twitter @noelrap noelrappin.com Charles Max Wood Mighty Mug Phrase Express
MRS 014 Noel Rappin Today's episode is a My Ruby Story with Noel Rappin. Noel talked about his contributions to the Ruby community and how they explore new technologies like Elixir. Listen to learn more about Noel! [00:01:40] – Introduction to Noel Rappin Noel is in episodes 30, which was about Software Craftsmanship. He was also on episode 185, which was about Rails 4 Test Prescriptions. And then, the latest one was 281, which was about Take My Money. [00:02:45] – How did you get into programming? Noel is a stereotypical nerdy kid so he started programming when he was young. He had afterschool classes in Applesoft BASIC at a place near their house. He had TRS-80 and Texas Instruments, and a couple of other things. [00:03:35] – Computer Science degree Noel has a Computer Science degree and a Ph.D. from the College of Computing at Georgia Tech, which was in the intersection of user interface design and Ed tech. He was designing interfaces for teaching, specifically for teaching engineers and developers. [00:04:15] – How did you get into Ruby? Noel came out of grad school immediately and went to a small web development company. He started hearing about Rails in about 2005. Having been one of the people who have done a lot of the Java-Struts web development that Rails was created in opposition to, Noel searched it up pretty quickly. But he started using it in 2005 or 2006 for some internal tools for his team. He built a test tracker and other things that his team is using internally. He built a couple of web apps for them to collaborate because they were working with some developers in Poland. And as he got comfortable with it, he contracted to do a Ruby on Rails book and got a full-time professional Ruby job. [00:06:30] – What is it about Ruby that got you excited? Noel has always like scripting languages and dynamic languages. He did a lot of work on Python for a while. It was extraordinary how quickly you do things in Rails compared to Java tools, even compared to Django, which was more or less contemporaneous. Ruby emphasized testing and Rails was very similar to some of the tools that he was building in Python. [00:08:50] – Books and contributions to the Ruby community Noel had a book which was out of date, 30 to 40 seconds after it was published. It’s normal in this industry. Sometime after that, he started publishing Rails Test Prescriptions and submitted it to the Pragmatic Bookshelf, and they purchased it. They published Rails Test Prescription 6 years. After that, he did a series of self-published JavaScript books called Master Space and Time with JavaScript. They are also out of date but they’re free now. He also did a self-published book about projects called Trust-Driven Development that you can still get. He did a book about purchasing, handling money and web purchases, and mostly this API called Take My Money, which came out last summer. Noel is currently working on a Rails 5 Test Prescriptions, which will include all the new Rails 5.1. It will come out this fall. [00:10:35] – Table XI Noel works at Table XI, which is a web consulting firm in Chicago with about 35 people. They do Rails development, websites, mobile development and a lot of React Native development. They build websites for companies that are not web software companies but companies that need web pages like non-profit or start-ups. They like to focus on solid business problems in software, rather than technology problems in software. [00:11:15] – What are you working on these days? Noel has his own podcast called Tech Done Right. The latest episode was with Michael Feathers. There is also an episode with somebody who is in charge of the Medicare Program under President Obama, who was actually the person who was called in to fix healthcare.gov and had some interesting stories about what that was like from a software manager perspective. From the development side, Noel has been doing a lot of Rails development, some JavaScript development, building purchase-sides for nonprofit, and doing a lot of upgrade work recently. [00:12:40] – Rails upgrades story This upgrade was for a Rails 2 application that was still in active development. The Rails community, at one point, was so bad at managing upgrades. And now, it does seem like the community has gotten better at managing new tools without breaking old ones. The security needs have pushed people towards the best practices. [00:14:15] – Ruby and Elixir Like a lot of Ruby companies, they’ve been exploring what the next tools are. They ran an Elixir project. It’s originally an internal prototype, which is a great way to get new technologies into the company. They wound up building a small project that was largely API focused. That’s the kind of thing that Rails is not super great at. They’re exploring what to do with front-end because there’s a sharp understanding of what Ruby on Rails is good for and what might be the purview of other tools. Elixir does a couple of things that Ruby doesn’t do very well. A lot of people who start with Ruby can learn a lot from going off to a functional language like Elixir or something that has a pattern-matching type of language like Elixir. Picks Noel Rappin R programming Podcast: Tech Done Right Author: Martha Wells The Murderbot Diaries by Martha Well Atom Editor Audio Hijack Bear Twitter @noelrap noelrappin.com Charles Max Wood Mighty Mug Phrase Express
MRS 014 Noel Rappin Today's episode is a My Ruby Story with Noel Rappin. Noel talked about his contributions to the Ruby community and how they explore new technologies like Elixir. Listen to learn more about Noel! [00:01:40] – Introduction to Noel Rappin Noel is in episodes 30, which was about Software Craftsmanship. He was also on episode 185, which was about Rails 4 Test Prescriptions. And then, the latest one was 281, which was about Take My Money. [00:02:45] – How did you get into programming? Noel is a stereotypical nerdy kid so he started programming when he was young. He had afterschool classes in Applesoft BASIC at a place near their house. He had TRS-80 and Texas Instruments, and a couple of other things. [00:03:35] – Computer Science degree Noel has a Computer Science degree and a Ph.D. from the College of Computing at Georgia Tech, which was in the intersection of user interface design and Ed tech. He was designing interfaces for teaching, specifically for teaching engineers and developers. [00:04:15] – How did you get into Ruby? Noel came out of grad school immediately and went to a small web development company. He started hearing about Rails in about 2005. Having been one of the people who have done a lot of the Java-Struts web development that Rails was created in opposition to, Noel searched it up pretty quickly. But he started using it in 2005 or 2006 for some internal tools for his team. He built a test tracker and other things that his team is using internally. He built a couple of web apps for them to collaborate because they were working with some developers in Poland. And as he got comfortable with it, he contracted to do a Ruby on Rails book and got a full-time professional Ruby job. [00:06:30] – What is it about Ruby that got you excited? Noel has always like scripting languages and dynamic languages. He did a lot of work on Python for a while. It was extraordinary how quickly you do things in Rails compared to Java tools, even compared to Django, which was more or less contemporaneous. Ruby emphasized testing and Rails was very similar to some of the tools that he was building in Python. [00:08:50] – Books and contributions to the Ruby community Noel had a book which was out of date, 30 to 40 seconds after it was published. It’s normal in this industry. Sometime after that, he started publishing Rails Test Prescriptions and submitted it to the Pragmatic Bookshelf, and they purchased it. They published Rails Test Prescription 6 years. After that, he did a series of self-published JavaScript books called Master Space and Time with JavaScript. They are also out of date but they’re free now. He also did a self-published book about projects called Trust-Driven Development that you can still get. He did a book about purchasing, handling money and web purchases, and mostly this API called Take My Money, which came out last summer. Noel is currently working on a Rails 5 Test Prescriptions, which will include all the new Rails 5.1. It will come out this fall. [00:10:35] – Table XI Noel works at Table XI, which is a web consulting firm in Chicago with about 35 people. They do Rails development, websites, mobile development and a lot of React Native development. They build websites for companies that are not web software companies but companies that need web pages like non-profit or start-ups. They like to focus on solid business problems in software, rather than technology problems in software. [00:11:15] – What are you working on these days? Noel has his own podcast called Tech Done Right. The latest episode was with Michael Feathers. There is also an episode with somebody who is in charge of the Medicare Program under President Obama, who was actually the person who was called in to fix healthcare.gov and had some interesting stories about what that was like from a software manager perspective. From the development side, Noel has been doing a lot of Rails development, some JavaScript development, building purchase-sides for nonprofit, and doing a lot of upgrade work recently. [00:12:40] – Rails upgrades story This upgrade was for a Rails 2 application that was still in active development. The Rails community, at one point, was so bad at managing upgrades. And now, it does seem like the community has gotten better at managing new tools without breaking old ones. The security needs have pushed people towards the best practices. [00:14:15] – Ruby and Elixir Like a lot of Ruby companies, they’ve been exploring what the next tools are. They ran an Elixir project. It’s originally an internal prototype, which is a great way to get new technologies into the company. They wound up building a small project that was largely API focused. That’s the kind of thing that Rails is not super great at. They’re exploring what to do with front-end because there’s a sharp understanding of what Ruby on Rails is good for and what might be the purview of other tools. Elixir does a couple of things that Ruby doesn’t do very well. A lot of people who start with Ruby can learn a lot from going off to a functional language like Elixir or something that has a pattern-matching type of language like Elixir. Picks Noel Rappin R programming Podcast: Tech Done Right Author: Martha Wells The Murderbot Diaries by Martha Well Atom Editor Audio Hijack Bear Twitter @noelrap noelrappin.com Charles Max Wood Mighty Mug Phrase Express
MRS O11 Greg Baugues This episode of My Ruby Story features Greg Baugues. Greg has been on two previous episodes, episode 142 where he discussed mental illness, and episode 258 where he discussed Twilio. Greg has been at Twilio for three and a half years. He worked on the developer/evangelism team for three years. A couple of months ago he became the lead developer of the community team. He lived in Chicago for eleven years, where he first started using Ruby. He moved to Brooklyn, New York a year ago. How did you get into programming? When he was five or six his parents owned a TRS-80 when he was five or six. It had a cassette drive and when turned on it booted into basic. He wrote programs in basic on this computer and it was an instant gratification to him. On a back cover of a magazine, he read there would be a code printed in basic that he would copy line by line. Later, his family bought a PC that had MS-DOS with QBasic, and his friends introduced him to Pascal, C, and C++. When he graduated high school he started PHP and got into web stuff. How did you get from PHP and web stuff to Ruby? In 1999 Greg used PHP to start a dot-com company with which they sold eight months later for all equity. He jokes that he “started and sold a company and all I got was a polo shirt out of it.” This reinforced that he always wanted to work in programming but that he would never be happy just programming. He wanted to be involved working on the people side of things, too. He got a job at a consulting agency at Table XI where he was a sales guy. He claims that he wasn’t good at sales, so stopped programming for one and a half to two years in order to become better. Then he traveled with his wife in Europe for a while. This showed him that he spent his free time programming. After this he picked up Ruby for the first time. Ruby was his first language of choice because Table XI and most of Chicago was using Ruby at the time. He also fell in love with it. What was it about Ruby that you thought was cool? Greg finds Ruby beautiful and expressive. He believes that it makes more sense than for loop and believes that you can explain it to someone who’s never done coding before and it makes sense to them. Writing Ruby is the closest you can come to writing pseudo code that actually runs. Ruby doesn’t look much different from pseudo code. He thinks it is a joy to write in Ruby. What contributions do you feel like you’ve made to the Ruby community? Greg believes that his biggest contribution would be in the vein of mental health. He has Bipolar Disorder and was on a Ruby Rogues podcast where he spoke about it. Because of his disorder, he failed out of college, had trouble with relationships, getting out of bed, paying bills, and a lot of guilt. He finally got treatment in 2007 where medication slowly helped. Four years ago he had a coworker who overdosed that had been showing symptoms of the same disorder. The next day instead of doing a lightening talk he had scheduled about fantasy football, he gave a talk about mental illness and started giving talks about mental illnesses everywhere in the Ruby community. Charles tells Greg that he heard someone speak about him and said he’d decided to go get help and have a relationship with his family again. He said that Greg’s episode of the podcast had helped him, and others have emailed him about it too. He explains that changing the way someone lives is just as important as writing source code. Greg says that he has learned that we are not alone in this community. There is a value of sharing your story and being vulnerable. It is easy to underestimate the compassion and empathy people have in the Ruby community. What are you working on now? Greg just had a conference called Signal for Twilio two weeks ago. There were 2,000 developers and 100 speakers at the conference. He was part of the team that organized speakers. Two months ago he started a leadership role with the developer community team for the first time. He’s trying to learn how to be in a management role for the first time. There were a million developers that signed up for Twilio so he is trying to figure out how to organize a community of developers instead of just having customers. Picks Greg: Phil Nash: https://philna.sh/ The Manager’s Path by Camille Fournier: http://shop.oreilly.com/product/0636920056843.do The Tim Ferriss Podcast with Jamie Foxx: https://www.youtube.com/watch?v=YGnnEfmP8K4 The Ezra Klein Show: https://www.vox.com/ezra-klein-show-podcast Charles: Ruby Dev Summit: https://rubydevsummit.com/ Links: Email: gb@twilio.com Twilio Voices: https://www.twilio.com/docs/api/twiml/say Twitter: https://twitter.com/greggyb
MRS O11 Greg Baugues This episode of My Ruby Story features Greg Baugues. Greg has been on two previous episodes, episode 142 where he discussed mental illness, and episode 258 where he discussed Twilio. Greg has been at Twilio for three and a half years. He worked on the developer/evangelism team for three years. A couple of months ago he became the lead developer of the community team. He lived in Chicago for eleven years, where he first started using Ruby. He moved to Brooklyn, New York a year ago. How did you get into programming? When he was five or six his parents owned a TRS-80 when he was five or six. It had a cassette drive and when turned on it booted into basic. He wrote programs in basic on this computer and it was an instant gratification to him. On a back cover of a magazine, he read there would be a code printed in basic that he would copy line by line. Later, his family bought a PC that had MS-DOS with QBasic, and his friends introduced him to Pascal, C, and C++. When he graduated high school he started PHP and got into web stuff. How did you get from PHP and web stuff to Ruby? In 1999 Greg used PHP to start a dot-com company with which they sold eight months later for all equity. He jokes that he “started and sold a company and all I got was a polo shirt out of it.” This reinforced that he always wanted to work in programming but that he would never be happy just programming. He wanted to be involved working on the people side of things, too. He got a job at a consulting agency at Table XI where he was a sales guy. He claims that he wasn’t good at sales, so stopped programming for one and a half to two years in order to become better. Then he traveled with his wife in Europe for a while. This showed him that he spent his free time programming. After this he picked up Ruby for the first time. Ruby was his first language of choice because Table XI and most of Chicago was using Ruby at the time. He also fell in love with it. What was it about Ruby that you thought was cool? Greg finds Ruby beautiful and expressive. He believes that it makes more sense than for loop and believes that you can explain it to someone who’s never done coding before and it makes sense to them. Writing Ruby is the closest you can come to writing pseudo code that actually runs. Ruby doesn’t look much different from pseudo code. He thinks it is a joy to write in Ruby. What contributions do you feel like you’ve made to the Ruby community? Greg believes that his biggest contribution would be in the vein of mental health. He has Bipolar Disorder and was on a Ruby Rogues podcast where he spoke about it. Because of his disorder, he failed out of college, had trouble with relationships, getting out of bed, paying bills, and a lot of guilt. He finally got treatment in 2007 where medication slowly helped. Four years ago he had a coworker who overdosed that had been showing symptoms of the same disorder. The next day instead of doing a lightening talk he had scheduled about fantasy football, he gave a talk about mental illness and started giving talks about mental illnesses everywhere in the Ruby community. Charles tells Greg that he heard someone speak about him and said he’d decided to go get help and have a relationship with his family again. He said that Greg’s episode of the podcast had helped him, and others have emailed him about it too. He explains that changing the way someone lives is just as important as writing source code. Greg says that he has learned that we are not alone in this community. There is a value of sharing your story and being vulnerable. It is easy to underestimate the compassion and empathy people have in the Ruby community. What are you working on now? Greg just had a conference called Signal for Twilio two weeks ago. There were 2,000 developers and 100 speakers at the conference. He was part of the team that organized speakers. Two months ago he started a leadership role with the developer community team for the first time. He’s trying to learn how to be in a management role for the first time. There were a million developers that signed up for Twilio so he is trying to figure out how to organize a community of developers instead of just having customers. Picks Greg: Phil Nash: https://philna.sh/ The Manager’s Path by Camille Fournier: http://shop.oreilly.com/product/0636920056843.do The Tim Ferriss Podcast with Jamie Foxx: https://www.youtube.com/watch?v=YGnnEfmP8K4 The Ezra Klein Show: https://www.vox.com/ezra-klein-show-podcast Charles: Ruby Dev Summit: https://rubydevsummit.com/ Links: Email: gb@twilio.com Twilio Voices: https://www.twilio.com/docs/api/twiml/say Twitter: https://twitter.com/greggyb
MRS O11 Greg Baugues This episode of My Ruby Story features Greg Baugues. Greg has been on two previous episodes, episode 142 where he discussed mental illness, and episode 258 where he discussed Twilio. Greg has been at Twilio for three and a half years. He worked on the developer/evangelism team for three years. A couple of months ago he became the lead developer of the community team. He lived in Chicago for eleven years, where he first started using Ruby. He moved to Brooklyn, New York a year ago. How did you get into programming? When he was five or six his parents owned a TRS-80 when he was five or six. It had a cassette drive and when turned on it booted into basic. He wrote programs in basic on this computer and it was an instant gratification to him. On a back cover of a magazine, he read there would be a code printed in basic that he would copy line by line. Later, his family bought a PC that had MS-DOS with QBasic, and his friends introduced him to Pascal, C, and C++. When he graduated high school he started PHP and got into web stuff. How did you get from PHP and web stuff to Ruby? In 1999 Greg used PHP to start a dot-com company with which they sold eight months later for all equity. He jokes that he “started and sold a company and all I got was a polo shirt out of it.” This reinforced that he always wanted to work in programming but that he would never be happy just programming. He wanted to be involved working on the people side of things, too. He got a job at a consulting agency at Table XI where he was a sales guy. He claims that he wasn’t good at sales, so stopped programming for one and a half to two years in order to become better. Then he traveled with his wife in Europe for a while. This showed him that he spent his free time programming. After this he picked up Ruby for the first time. Ruby was his first language of choice because Table XI and most of Chicago was using Ruby at the time. He also fell in love with it. What was it about Ruby that you thought was cool? Greg finds Ruby beautiful and expressive. He believes that it makes more sense than for loop and believes that you can explain it to someone who’s never done coding before and it makes sense to them. Writing Ruby is the closest you can come to writing pseudo code that actually runs. Ruby doesn’t look much different from pseudo code. He thinks it is a joy to write in Ruby. What contributions do you feel like you’ve made to the Ruby community? Greg believes that his biggest contribution would be in the vein of mental health. He has Bipolar Disorder and was on a Ruby Rogues podcast where he spoke about it. Because of his disorder, he failed out of college, had trouble with relationships, getting out of bed, paying bills, and a lot of guilt. He finally got treatment in 2007 where medication slowly helped. Four years ago he had a coworker who overdosed that had been showing symptoms of the same disorder. The next day instead of doing a lightening talk he had scheduled about fantasy football, he gave a talk about mental illness and started giving talks about mental illnesses everywhere in the Ruby community. Charles tells Greg that he heard someone speak about him and said he’d decided to go get help and have a relationship with his family again. He said that Greg’s episode of the podcast had helped him, and others have emailed him about it too. He explains that changing the way someone lives is just as important as writing source code. Greg says that he has learned that we are not alone in this community. There is a value of sharing your story and being vulnerable. It is easy to underestimate the compassion and empathy people have in the Ruby community. What are you working on now? Greg just had a conference called Signal for Twilio two weeks ago. There were 2,000 developers and 100 speakers at the conference. He was part of the team that organized speakers. Two months ago he started a leadership role with the developer community team for the first time. He’s trying to learn how to be in a management role for the first time. There were a million developers that signed up for Twilio so he is trying to figure out how to organize a community of developers instead of just having customers. Picks Greg: Phil Nash: https://philna.sh/ The Manager’s Path by Camille Fournier: http://shop.oreilly.com/product/0636920056843.do The Tim Ferriss Podcast with Jamie Foxx: https://www.youtube.com/watch?v=YGnnEfmP8K4 The Ezra Klein Show: https://www.vox.com/ezra-klein-show-podcast Charles: Ruby Dev Summit: https://rubydevsummit.com/ Links: Email: gb@twilio.com Twilio Voices: https://www.twilio.com/docs/api/twiml/say Twitter: https://twitter.com/greggyb
Agile Teams and Escaping Velocity with Doc Norton and Claire Podulka Follow us on Twitter! @techdoneright (https://twitter.com/tech_done_right), leave us a review on iTunes, and please sign up for our newsletter (http://www.techdoneright.io/newsletter)! Guests Doc Norton (https://twitter.com/DocOnDev): Co-Founder and CEO of CTO2 (http://www.wearecto2.com). Claire Podulka (https://twitter.com/cpodulka): Project Manager at Table XI (http://www.tablexi.com/). Summary How can you tell whether an agile software team is successful? Many teams use a single measure: velocity. Doc Norton, author of Escape Velocity, and Claire Podulka join the show to discuss why velocity is not a useful measure: it doesn't explain the problems with an unsuccessful team, and successful teams probably don't need it. We discuss the problems with velocity, what to use instead, and get on soapboxes for our least favorite agile anti-patterns. Notes 02:48 - Metrics for Agile Teams: Velocity - Escape Velocity: Better Metrics for Scrum Teams by Doc Norton (https://leanpub.com/escapevelocity) - Trust Driven Development by Noel Rappin (https://leanpub.com/trustdrivendevelopment) 06:15 - Using Velocity 07:49 - Problems When Relying Solely on Velocity and Estimation 12:35 - Theory of Flow 15:17 - Body Weight Analogy 17:17 - Assessing Team Health 18:37 - Team Temperature (Joy) 21:51 - Lead Time and Cycle Time 30:04 - Managing Estimation and Team Metrics When Teams and Scope Change 33:17 - Using Metrics: Large Organizations vs Small Organizations 39:18 - Breaking Down Team Velocity at the Individual Level Special Guests: Claire Podulka and Doc Norton.
From Idea To Company With Maci Peterson and Alicia Drucker Follow us on Twitter! @techdoneright (https://twitter.com/tech_done_right), leave us a review on Apple Podcasts, and please sign up for our newsletter (http://www.techdoneright.io/newsletter)! Guests Maci Peterson (https://twitter.com/MaciPeterson): Co-founder and CEO of On Second Thought (https://www.onsecondthought.co/). Alicia Drucker: Director of Software Delivery at Table XI (http://www.tablexi.com/) Summary How does an idea become a pitch become a company? Join Maci Peterson (http://www.twitter.com/macipeterson), founder of the startup On Second Thought, and Alicia Drucker, from Table XI, to discuss how a bad text can lead to a good pitch and then a funded startup. How hard is it to break into Silicon Valley if you don't match the expected image of an entrepreneur? Maci discusses how diversity and inclusivity improved her startup business. Notes We had an unusually high number of audio quality issues this time around, we're sorry. 01:39 - Starting On Second Thought 03:26 - Pitch Competitions 04:53 - From Idea To Company 07:04 - Sending a Bad Text To Getting To SXSW (https://www.sxsw.com/) 09:05 - Taking a Leap of Faith and Starting a Tech Company 10:46 - Funding the Company 12:30 - Breaking Into Silicon Valley 18:46 - Diversity and Inclusivity - Through the Looking Glass: When Upward Mobility and Access to Tech are a Train Stop Away by Stephanie Morillo (http://confreaks.tv/videos/madisonruby2015-through-the-looking-glass-when-upward-mobility-and-access-to-tech-are-a-train-stop-away) - Michelle Obama to Silicon Valley: 'Are you ready to have women at the table?' (http://money.cnn.com/2017/06/06/technology/culture/michelle-obama-wwdc-apple/index.html) 27:05 - Encouraging Inclusivity While Leveraging a Product 31:14 - Speaking Up and Sharing Stories 36:39 - Taking Action After Speaking Up - Quick note that this was recorded June 7th, and the Uber story has taken some twists and turns since them. We got cut off before we could give Maci's contact information, you can find her on Twitter at @macipeterson (https://twitter.com/MaciPeterson) and On Second Thought at https://www.onsecondthought.co (https://www.onsecondthought.co) and @onsecondthought (https://twitter.com/OnSecondThought) Special Guests: Alicia Drucker and Maci Patterson.
Managing For Career Development with Claire Lew and Dan Hodos Follow us on Twitter @techdoneright (http://www.twitter.com/tech_done_right), leave us a review on iTunes, and please sign up for our newsletter (http://techdoneright.io/newsletter)! Guests Claire Lew (https://twitter.com/cjlew23): CEO of Know Your Company (https://knowyourcompany.com/) Dan Hodos: Table XI’s (http://www.tablexi.com/) Director of Operations Summary How can you get honest feedback from co-workers, even when you are their manager? How can you support your team's career growth and support them as they improve their skills? Claire Lew, the CEO of Know your Company, and Dan Hodos, Table XI's Director of Operations, join Noel to discuss why listening is the most important thing you can do when getting feedback, how specific questions can break the "fine" reflex, how sticky notes can help with career growth, and the one thing you should never do in a one-on-one meeting. Notes 01:33 - Why One-on-One Meetings Are Important 03:16 - Creating a Safe Space for Employees: Make Empathy Your Mission 05:03 - Active Listening and Asking Questions 07:15 - How often should these meetings occur? 08:58 - Sponsorship and Career Mentoring 10:19 - Table XI’s “Sticky Note Game” 12:56 - What are the things you shouldn’t do during a one-on-one? 15:18 - Receiving Feedback - Crucial Conversations: Tools for Talking When Stakes Are High (https://www.amazon.com/Crucial-Conversations-Talking-Stakes-Second/dp/1469266822) - Yes, And: How Improvisation Reverses "No, But" Thinking and Improves Creativity and Collaboration (https://www.amazon.com/Yes-Improvisation-Reverses-Creativity-Collaboration-Lessons/dp/0062248545/) 19:41 - Favorite Questions 21:03 - Balancing Natural Conversation with Asking Tough Questions 24:12 - Conducting Remote One-on-Ones 25:29 - Investing in Your Mentees 29:17 - Surprising Revelations Learned While Building Know Your Company - Our Biggest Blindspots (https://knowyourcompany.com/learn/guides/1-blindspots/1-our-biggest-blindspots-as-CEOs/) 32:24 - Creating Environments for Employees to Flourish Resources: Claire: * Crucial Conversations: Tools for Talking When Stakes Are High (https://www.amazon.com/Crucial-Conversations-Talking-Stakes-Second/dp/1469266822) * The Know Your Company Blog (https://blog.knowyourcompany.com/@cjlew23) * The Know Your Company Knowledge Center (https://knowyourcompany.com/learn/) Dan: * Yes, And: How Improvisation Reverses "No, But" Thinking and Improves Creativity and Collaboration (https://www.amazon.com/Yes-Improvisation-Reverses-Creativity-Collaboration-Lessons/dp/0062248545/) * Drive: The Surprising Truth About What Motivates Us (https://www.amazon.com/Drive-Surprising-Truth-About-Motivates/dp/1594484805) * taking an improv class. Noel: * RSA Animate — Drive: The surprising truth about what motivates us (https://vimeo.com/15488784) * Bossypants by Tina Fey (https://www.amazon.com/Bossypants-Tina-Fey/dp/0316056898/) Special Guests: Claire Lew and Dan Hodos.
Design Sprints with Kai Haley and Zeke Binion Follow us on Twitter! @techdoneright or leave us a review on iTunes and sign up for our newsletter (http://www.techdoneright.io/newsletter)! Guests Kai Haley (https://twitter.com/kaihaley): Interaction Designer on Google’s Design Relations Team, leads the Sprint Master Academy (http://www.teacuplab.com/blog/get-to-know-the-google-sprint-master-academy/) Zeke Binion (https://twitter.com/ebinion): Former Director of Design for Table XI (http://www.tablexi.com/) and runs Code for Designers (http://codefordesigners.com/) Summary Do you have a product that needs improvement, or a process to define? Is your team looking for a way to generate and test new ideas quickly? The Design Sprint process, created at Google, is a structured way to explore a problem, create a solution, and get user feedback, all in five days or less. Join Kai Haley (https://twitter.com/kaihaley), who teaches sprint facilitation at Google, and Zeke Binion (https://twitter.com/ebinion), who has run many sprints, as they show Noel Rappin (https://www.twitter.com/noelrap) how to use Design Sprints. Notes 01:24 - What is a “Design Sprint?” Who should use them? What are they good for? 04:08 - The Sprint Book: Solve Big Problems and Test New Ideas in Just Five Days by Jake Knapp, with John Zeratsky, Braden Kowitz from Google Ventures (http://www.thesprintbook.com/) Design Sprint Kit (https://designsprintkit.withgoogle.com/) 06:49 - Implementing Sprints Into a Team and High-level Goals How to Conduct Your Own Google Design Sprint (https://www.fastcodesign.com/1672887/how-to-conduct-your-own-google-design-sprint) From Google Ventures, The 6 Ingredients You Need To Run A Design Sprint (https://www.fastcodesign.com/1672889/from-google-ventures-the-6-ingredients-you-need-to-run-a-design-sprint) 10:47 - Facilitating Design Sprints; or “Being a Sprint Master” 16:40 - “How Might We…?” Brainstorming Sessions 19:32 - Journey Mapping and User Experience Mapping 23:45 - Success Metrics 25:18 - Sketching, Comparison, and Presenting Ideas “Crazy Eights” Sketching Sessions (https://www.iamnotmypixels.com/how-to-use-crazy-8s-to-generate-design-ideas/) 32:12 - The Deciding Stage: aka Prototyping 36:29 - User Interviews / Usability Studies 40:36 - Learning to Facilitate Design Sprints Special Guests: Kai Haley and Zeke Binion.
Conference Speaking and Diverse Perspectives with Carina C. Zona and Mark Yoon Summary Want to start speaking at conferences? We go over how to get your first conference acceptance, then how to become a better speaker over time. For conference organizers, we also discuss how to find the best speakers from a diverse set of backgrounds and experiences. Carina C. Zona (@cczona) and Mark Yoon (@wimyoon) join Noel Rappin (@noelrap) on this episode of Tech Done Right. Notes Follow us on Twitter! @techdoneright (http://www.twitter.com/tech_done_right) or leave us a review on iTunes! Carina C. Zona (https://twitter.com/cczona): Longtime developer and advocate in the tech community, certified sex educator, founder of @CallbackWomen (https://twitter.com/CallbackWomen) Mark Yoon (https://twitter.com/wimyoon): Developer and Director of Talent at Table XI (http://www.tablexi.com/) 01:12 - @CallbackWomen (https://twitter.com/CallbackWomen): What it is and How it Came to Be Website with More Information (http://www.callbackwomen.com/) DevChix (http://www.devchix.com/) 05:45 - Questions You Should Ask as a First-time Speaker and Speaker Outreach 10:06 - The Goal and Mission of @CallbackWomen On BritRuby (Avdi Grimm’s Blog Post Re: Diversity at Conferences) (http://www.virtuouscode.com/2012/11/19/on-britruby/) Carina’s Talk: Schemas for the Real World (http://confreaks.tv/videos/gogaruco2012-schemas-for-the-real-world) 15:24 - Advice for Conference Organizers to Make Conferences Accessible to Everyone; Internal and External Barriers for Potential Speakers 23:29 - Everyone Has Something Valuable to Contribute and Talk About: Approaching Talk Proposals - Nadia Odunayo: The Guest: A Guide To Code Hospitality (https://youtu.be/hHzWG1FltaE) 32:28 - Getting a Talk Accepted - Nickolas Means: How to Crash an Airplane @ RubyConf 2015 (https://www.youtube.com/watch?v=S2FUSr3WlPk) 38:38 - Benefits and Impacts of Speaking at a Conference Special Guests: Carina C. Zona and Mark Yoon.
Open-Source Community Management and Safety With Coraline Ada Ehmke and Yana Carstens Follow us on Twitter! @techdoneright or leave us a review on iTunes! Guests Coraline Ada Ehmke (https://twitter.com/CoralineAda): Open Source Advocate, Creator of The Contributor Covenant (http://contributor-covenant.org/), Founding Panelist of Greater Than Code (https://www.greaterthancode.com/), Senior Engineer on the Community and Safety Team at GitHub (https://github.com/) Yana Carstens (https://twitter.com/YanaCarstens): Senior User Experience Designer at Table XI (http://www.tablexi.com/) Summary How can you manage a social media site to maximize community and make all contributors feel safe? Coraline Ada Ehmke (@CoralineAda (https://twitter.com/CoralineAda)), from GitHub's Community and Safety Team, and Yana Carstens (@YanaCarstens (https://twitter.com/YanaCarstens)), a Senior UX designer with Table XI, join Noel on this episode of Tech Done Right. We discuss tools for allowing users more control over their social media environment and community, and how to use personas in design as a way to understand user's goals and guide them toward positive community actions. Notes 02:59 - GitHub’s Community Management and Anti-Harassment Tools Team and the Problems that They Are Trying to Solve 06:47 - Exposing Anti-Harassment Features and Making Them Prominent, Improving User Experience, and Identifying Harassers 15:10 - Throwing Friction to “Jerkfaces”; Block Functionality 19:13 - Sentiment Analysis (https://en.wikipedia.org/wiki/Sentiment_analysis) - Eudora (https://en.wikipedia.org/wiki/Eudora_(email_client)) 26:38 - Working Together with Other Social Platforms - Chatham House Rules (https://www.chathamhouse.org/about/chatham-house-rule) 30:38 - What does success look like? “Social Coding” 33:05 - Visibility and Flagging of Comments Resources: Coraline: GitHub Community Guidelines (https://help.github.com/articles/github-community-guidelines/) Yana: Lean UX: Applying Lean Principles to Improve User Experience by Jeff Gothelf (http://www.jeffgothelf.com/lean-ux-book/) UX Booth (http://www.uxbooth.com/) UX Mastery (http://uxmastery.com/) Usability.gov (https://www.usability.gov/) Special Guests: Coraline Ada Ehmke and Yana Carstens.
Episode 007: Software, Open Source, and Rails with Eileen Uchitelle and Andrew Horner Follow us on Twitter! @techdoneright (http://www.twitter.com/tech_done_right) or leave us a review on iTunes (https://itunes.apple.com/us/podcast/tech-done-right/id1195695341)! Notes How does the Rails core team work? How are new features planned and implemented? How can I contribute? What should I do if I find a security issue in Rails? Our guest is the newest Rails core team member Eileen Uchitelle (@eileencodes) joins Table Xi senior developer Andrew Horner and host Noel Rappin (@noelrap) to discuss Rails, the new testing features in Rails 5.1, and the Rails Core Team. Guests Eileen Uchitelle (https://twitter.com/eileencodes): Senior Systems Engineer at GitHub on the Platform Systems Team; Member of The Rails Core Team (http://rubyonrails.org/community/) and the Rails Security Team Andrew Horner: Senior Developer at TableXI (http://www.tablexi.com/) Summary 01:12 - Eileen: Getting Started as a Developer and Getting Involved with The Rails Core Team - CRUD! What to do When Active Record, MySQL, and Your Data Betray You (https://www.youtube.com/watch?v=lOpVcqiAIiI) 03:29 - How Rails Governs Itself Internally 05:52 - The Role of the Release Manager 07:32 - Feature Discussions and Prioritization 08:46 - Requesting Features and Raising Issues as a Non-core Team Member - HackerOne (https://www.hackerone.com/) 17:52 - Backporting 21:44 - System Testing 27:13 - Potential Future Features in 5.1 - Security is Broken: Understanding Common Vulnerabilties (https://speakerdeck.com/eileencodes/security-is-broken-understanding-common-vulnerabilties) 32:12 - User Expectations - RailsConf 2017: Building Rails ActionDispatch::SystemTestCase Framework (https://railsconf.com/program#session-87) 36:12 - Getting Involved in Rails - RailsConf 2015 - Breaking Down the Barrier: Demystifying Contributing to Rails (https://www.youtube.com/watch?v=7zoD6NZy6vY) - Aaron Patterson: I am a puts debugger (https://tenderlovemaking.com/2016/02/05/i-am-a-puts-debuggerer.html) Special Guests: Andrew Horner and Eileen M. Uchitelle .
Episode 005: JavaScript: Islands, Sprinkles, and Frameworks Follow us on Twitter! @techdoneright (http://www.twitter.com/tech_done_right) or leave us a review on iTunes (https://itunes.apple.com/us/podcast/tech-done-right/id1195695341)! Summary Dave Copleand (@davetron5000 (http://www.twitter.com/davetron5000)) and Zach Briggs (@theotherzach (http://www.twitter.com/theotherzach)) join Noel Rappin (@noelrap (http://www.twitter.com/noelrap)) for a Tech Done Right discussion of JavaScript practices. When does it makes sense to build single page JavaScript app? How can your JavaScript and Rails interact? Is it an island of interactivity or a sprinkle of JavaScript? Which frameworks are handling community management well (hint: not Angular)? And how do you test any of this? Guests Dave Copeland (https://twitter.com/davetron5000): Author of Rails, Angular, Postgres, and Bootstrap (https://pragprog.com/book/dcbang/rails-angular-postgres-and-bootstrap) Zach Briggs (https://twitter.com/TheOtherZach): JavaScript Practice Lead at Table XI (http://www.tablexi.com/) Show Notes 02:15 - Reasons to Build a Single-Page App (https://en.wikipedia.org/wiki/Single-page_application) - Conway’s Law (https://en.wikipedia.org/wiki/Conway's_law) 09:37 - The Ease of Building Web Over Single-Page Apps 11:30 - Tooling; Navigating Good Choices vs Bad Choices 14:31 - Setup - Bower (https://bower.io/) - webpack (https://webpack.github.io/) - Browserify (http://browserify.org/) - Broccoli (http://broccolijs.com/) - Yarn (https://yarnpkg.com) - The Asset Pipeline (http://guides.rubyonrails.org/asset_pipeline.html) 16:30 - Combining a Rails App and a JavaScript App 18:34 - AngularJS; 1 vs 2 - Angular (https://angularjs.org) - React (https://facebook.github.io/react/) - Vue.js (https://vuejs.org/) 33:05 - Testing - jasmine-rails gem (https://github.com/searls/jasmine-rails) - Test Double (http://testdouble.com/) 35:35 - TypeScript (https://www.typescriptlang.org/) - Elm (http://elm-lang.org/) Tips & Resources: Dave: Check out Test Double (http://testdouble.com/). Zach: As a developer, don’t feel forced into choosing between a single-page app and a non-single-page app on the first day of development. There are infinite points in between when it comes to interactivity. Noel: Read about frameworkless JavaScript in Noel’s book Master Space and Time With JavaScript (http://www.noelrappin.com/mstwjs/). Special Guests: Dave Copeland and Zach Briggs.
Summary Allison McMillan (@allie_p) and Bradley Schaefer (@soulcutter) talk about remote work in the age of Slack. What makes a good remote worker, or a good remote working team? How can you support more junior team members who want to work remotely? How do you email cake to remote workers on launch celebration day? How can you improve code review for remote workers? Guests Allison McMillan: Software Developer at Collective Idea (http://collectiveidea.com/) and Rails Girls (http://railsgirls.com/) Bradley Schaefer: Senior Developer at Table XI (http://www.tablexi.com/) and the RSpec (https://github.com/rspec) Core Team Show Notes 01:07 - Working Remotely: Getting Started, Setups, etc. Allison McMillan: Even the Justice League Works Remotely @ RubyConf 2016 (https://www.youtube.com/watch?v=d7Z0uS2x_cY) 03:19 - Coworking Spaces STARTMART (http://startmart.us/) 04:34 - What makes an individual successful to be able to work remotely? 07:30 - Gains and Challenges of Working Remotely 10:18 - Transitioning From Onsite to Offsite Work 11:48 - Being the Only Remote Person: How can companies help remote workers feel included? Slack (https://slack.com/) Know Your Company (http://www.knowyourcompany.com) 21:10 - Building Trust Between Companies and Remote Workers 24:30 - Working Remotely in Other Fields First 25:42 - Working Remotely as a Newbie 30:08 - Cultivating Teams and Positivity - rubocop (https://github.com/bbatsov/rubocop) Tips & Resources: Allison: Schedule weekly pairing sessions and make it a goal to ask questions. Zach Holman: Remote-First vs. Remote-Friendly (https://zachholman.com/posts/remote-first/) SheNomads (http://www.shenomads.com/) Bradley: Try to find pairing tools that work well for you. Remote: Office Not Required (https://www.amazon.com/Remote-Office-Required-Jason-Fried/dp/0804137501) Special Guests: Allison McMillan and Bradley Schaefer.
Description Brandon Hays and Pete Brooks join the Tech Done Right podcast to discuss career development. We'll discuss some career development questions like: What makes somebody a senior developer? How do you acquire senior developer skills? What can you do to prepare yourself for a lifetime career and ensure that you are properly valued? Show Notes Pete Brooks: Software Developer at Table XI (http://www.tablexi.com/). Author of "How I landed my first programming job" (http://www.tablexi.com/developers/first-programming-job/) Brandon Hays (https://twitter.com/tehviking): “My friend” and line-level developer at OJO Labs (https://www.ojolabs.com/) 02:07 - Classifying Yourself as a Developer - The Conjoined Triangles of Senior-Level Development (12 Traits Blog Post) (http://frontside.io/blog/2016/07/07/the-conjoined-triangles-of-senior-level-development.html) 05:51 - Working Independently" “Throw a couple juniors at it!” 09:19 - What does it meant to progress? - Brandon Hays: The long strange trip as a software developer @ RubyConf 2016 (http://confreaks.tv/videos/rubyconf2016-the-long-strange-trip-of-a-senior-developer) - Brandon Hays: Hacking Spacetime for a Successful Career @ RubyConf 2015 (https://www.youtube.com/watch?v=TrLDU6u_-rY) - Occam’s Razor (https://en.wikipedia.org/wiki/Occam's_razor) 13:43 - Quantifying Value and Talking About Money 17:27 - The Cult of the New: The Approach to Technology and Breaking Into the Industry - Impostor Syndrome (https://en.wikipedia.org/wiki/Impostor_syndrome) 22:54 - Learning New Things and Becoming Professionally Proficient; Levelling - Software Engineer Career Ladder (http://www.myescareer.com/explore-career-ladders/engineering/software-engineer.aspx) 32:04 - When do I need to move on? Where do I see myself going? 34:20 - What should new developers be doing? Resources: Brandon: - John Allspaw: On Being A Senior Engineer (http://www.kitchensoap.com/2012/10/25/on-being-a-senior-engineer/) - Find and befriend a software developer with 25+ years of experience. Pete: Keep following your interests. Special Guests: Brandon Hays and Pete Brooks .
We talk about the role that trust has in building teams, and how improv games can help build that trust and improve the way you deliver feedback. Guests Mark Rickmeier: CEO of Table XI (http://www.tablexi.com/) Jessie Shternshus: Founder of The Improv Effect (http://www.improveffect.com/) and Author of the book, CTRL-SHIFT (https://www.amazon.com/CTRL-SHIFT-Mike-Bonifer/dp/0986296597) Show Notes 01:08 - The Improv Effect (http://www.improveffect.com/) and Improv as an Effective Method of Communication - Yes, And! (https://www.dramanotebook.com/drama-games/yes-and/) 03:21 - Working with Teams to Build Communication and Trust 05:20 - Ops Conf (http://www.ops-conf.com/) 06:02 - Tools or Games for Establishing Trust with Others Quickly in a Conference Environment - Commonality Boggle (https://medium.com/@sarajainephipps/improv-ising-your-on-boarding-ab8deb4dc73d#.m5po1sguc) - Six Degrees of Kevin Bacon (https://en.wikipedia.org/wiki/Six_Degrees_of_Kevin_Bacon) - Extreme Rock, Paper, Scissors (http://www.icebreakers.ws/large-group/extreme-rock-paper-scissors.html) 15:23 - Group Facilitation Techniques 18:13 - Kickoff Techniques for Smaller, New Teams - Agile Software Development (https://en.wikipedia.org/wiki/Agile_software_development) 22:30 - Techniques for Remote Team Communication 26:59 - Talking About Failure to Build Trust 28:42 - Giving and Receiving Feedback Special Guests: Jesse Shternshus and Mark Rickmeier.
This week, we have Ed LaFoy, who is Table XI’s Director of Mobile Development. Table XI’s mobile team does amazing work and uses a lot of external tools for testing, interface design, code quality, and beyond. If you are a web developer and looking to get a sense of how to match parts of your developer experience, listen to this interview. If you are a mobile developer, and you are having some developer pain in those areas, listen to this interview. Special Guest: Ed LaFoy.
This one is with Table XI front-end developer Aly Fluckey and it’s all about how the Table XI team organizes CSS to best manage the demands of a large code base with lots of styles. We try to avoid common CSS problems, mostly involving having to guess what styles will actually be applied to any given element. The goal is to have the CSS be as predictable and easy to find as possible. I learned a lot from this interview, and if you work with CSS, I bet you will too. Special Guest: Aly Fluckey.
In this episode, Noel Rappin, developer at Table XI, comes on the show to talk about his new book, Take My Money: Accepting Payment on the Web. Noel Rappin: @noelrap | blog | GitHub Transcript: CHARLES: Hello everybody and welcome to the Frontside Podcast Episode 47. I'm Charles Lowell and with me today is Noel Rappin. Before we get into who you are, because I know that a lot of people know you already and you need no introduction, you're actually calling in from Chicago today, right? NOEL: That's true, yes I am. CHARLES: Did anyone actually show up for work today? NOEL: Yeah, people did actually show up for work a little bit later. So, this is being recorded the day after the Cubs won the World Series last night. I will say that my commute in the parking lot at the commuter rail station in the suburbs was surprisingly empty this morning. The people were a little bit slow to come in. The game didn't end till about midnight last night. CHARLES: I'm neither a Cleveland nor a Chicago Cubs fan but it was a harrowing game. It almost gave me a heart attack. NOEL: Oh, man. CHARLES: I can't even imagine what it was like. NOEL: A Cubbie Blue since I was a kid. So yeah, it was something. CHARLES: So, you're from Chicago? NOEL: Yeah, I grew up in Chicago. I grew up in the Chicago suburbs. I went away for school and I worked in Boston for a while, but came back about 12 years ago. CHARLES: Okay. So, that kind of leads me into the perfect setup for one of our questions is how did you get into development? I've known about you since I got into the Ruby community, probably back in 2010 or something like that. How did you come to be there? NOEL: I was one of those kids who was a developer at a certain age, I guess and I had an Apple II. I started programming Applesoft BASIC in the mid-80's, I guess, and eventually decided that I enjoyed it enough and got pretty over-educated at that and that's just a very traditional background. I went and worked at what we would now call web consulting company around 2000, my first professional job was '98 - 2000. I had done a lot of different languages as a student. That job was mostly in Cold Fusion and then eventually bounced around doing a bunch of different web development solutions. At some point along the way, I picked up the Ruby Pickaxe book and then eventually came to Rails. I started Rails as a hobbyist, either pre-1.0 or very early 1.0. I used it to build some task tracker for my team and a couple of other little tools like that. And relatively shortly thereafter, I started doing it professionally. CHARLES: I think you're kind of the same generation that I am. I call this [inaudible] from that early 2000's web development background where it's kind of fueled by [inaudible] network. NOEL: Yeah, a little bit. My first professional job was at a company that is a very, very small consulting company based in Miami and Boston and they were not developers who run the company. They've been documentary film makers and there's like a whole 90's technology trajectory here because they were documentary film makers and then they were documentary CD makers and then they were asked to add interactive stuff to the CDs that they were putting out and then they became web developers as a sort of a natural extension. And suddenly, it was like 1998, every company in the universe wanted to be on the web and they were like, "Oh, this seems like a good business to be in." And they started trying to hire actual programmers who knew what they were doing even though I was just out of grad school and didn't know what I was doing but it was convincingly put in. We did all the stuff then that would be like the first application that I worked there, the production server lived under my desk and was also the staging server and the development server. We didn't use, at that point, search control although eventually we did. There were no established conventions on what was the good thing to do. CHARLES: Yeah. The production server under the desk: a more elegant weapon for a more civilized age. NOEL: [Chuckles] Certainly old. CHARLES: That was a while back but you've obviously been doing a lot more structured, a lot more formal development over the course of your career. So, most of us, myself included, were kind of content to write the software, maybe blog about it every once in a while, give the occasional conference talk, but you've really, really delved in to those activities and really kind of taken the time to really, for the topics that you're interested in, really kind of research them very thoroughly to the point where you've actually written several books. When I think about the concept of writing a book, it sounds like, "Oh, my goodness! That sounds terrible. That sounds like a hundred of my teeth pulled out," or something like that. But you've done it multiple times. I'm curious, did you experience that kind of fear and uncertainty and what was kind of the decision making process that led up to, "No, this is something that I've got to do. I'm going to sign up for this. I'm going to do this. And I'm going to make this commitment." NOEL: Fear and uncertainty is a different question. I've always written things. I was a writer in some ways even before I was a programmer. So, being able to combine the two is something that I really enjoy doing. And I've always really enjoyed teaching. The more cynical way to doing that is I enjoy explaining things in a way that makes me sound smart. But I've always enjoyed doing it in whatever context. So, when I'm not writing, I've always often been involved in training at the places that I work or other things like that. And I've always been a little bit of a theater background and a little bit of a performance background and conference talks are a way to still scratch that itch a bit. CHARLES: You mentioned that you have a graduate degree. NOEL: No, my graduate degree isn't Computer Science but I did a lot of amateur theater things in high school and college. It's not something that I have a whole lot of other outlet for other than talking about development. CHARLES: [Chuckles] You wouldn't think that it's a natural thing but I think the best talks and the best walks. What's it like to have that element of theatricality to them? NOEL: I try in the books to give them a little bit of a voice. Sometimes you get interesting responses when you try to make a technical book a little bit funny. Some people really don't like it and other people really respond to it. I do it sometimes just as a way to maintain my own interest in the 14th page of this chapter or something. As far as fear and uncertainty, that never really goes away. I have a book out that I'm writing now about payments which is a very serious topic. And as much as I've done work in that and as much as I've done research on that, there are obviously people out there who have done more work and know more certainly about individual pieces of it. And there are a lot of people who are going to take anything that I write and implement it that way. They're going to take it as the way that things are done. So, that does introduce a tremendous amount of unsettling. CHARLES: Yeah, you're on the hook. They're like, "But Noel told me that this is the way to do it and I ran out of business." NOEL: Yeah. Actually, the payment book which is called 'Take My Money' is actually only a second book in the history of Pragramatic Programmers to have a legal disclaimer at the beginning which I'm very proud of. I think that the thing that is the most worrying especially when writing something long is not so much factual errors because I can check facts. Facts can be checked. Emphasis is much, much harder to check and the cultural community practices are much, much harder to check. And so, I'm often much more worried about the idea that I might spend a lot of time on something that nobody really is interested in or that I might not spend time on a really important thing just because it's a part of the world that I don't know as well as other people in there, and therefore, I miss something. Factual errors, I worry about them too. But factual errors are relatively easy to catch often, not always. Many, many years ago, I wrote for Rock's Beginner Rails book which was purchased by approximately nobody. But it's got one of those beautiful rocks black and white cover pictures of the author on it looking terrible. At that point, I had worked in Rails professionally but only for a very, very short time and there were certainly people who had a lot more experience than I did. But for whatever reasons, I had the book contract. In that context, there's a lot of uncertainty around not being sure that I know what the newest tools are or what the best practices are. CHARLES: How do you mitigate that? How do you address that? NOEL: Research is one way. There are pluses and minuses to not being the greatest expert or something when you're writing a book like this. One of the pluses is that your experience is a little bit more immediate and it's a little bit easier for you to make it relevant to somebody coming to it for the first time. But then a lot of times, you wind up doing the kinds of things that you might do if you were actually trying to learn it. But then I am a pretty good researcher and then I can compress that down into something that took me 4 or 5 hours to Google or research, or days to figure out the best practice, or talk to some experts sometimes and then I can hopefully distill that down to something so that you don't have to go on that entire journey. You can just cut the chase a little bit. It's researching. It's finding the people who do seem to be prominent in a particular technology or a particular skill and finding out what they're doing. Sometimes, it's getting it wrong, hopefully not very often. And sometimes, it's just like this is the best I can do and I have to like, "I can't solve every problem." CHARLES: Right, just being satisfied with that. NOEL: Yeah. CHARLES: I get it. That makes a lot of sense. You mentioned that the book you just wrote, the one about taking payments on the web, I saw that. I looked at it and I was like, "Oh, that totally needs to be this book. This book totally needs to exist." And thanks that it actually got written. But in hindsight, it's obvious that there wasn't really anything that like it treated web payments as this holistic topic that needed to be addressed and yet, when I look at the last 5 years or the last 10 years, this is a body of knowledge. It's been part of 90% of the applications that I've developed and it's been something inter-rolling like they've been patterns and stuff developed around it but I've never really thought about it, "We need to draw this circle around this practice." And this needs to be researched and there needs to be at least some guide on how to do this. And so, I think from my perspective looking in hindsight, seeing why it was published, "Oh yeah, that's totally obvious that that should have existed." But being on the other end, looking into the future of, given the infinite number of things that I could write about or I could research, I need to go about kind of the selection process and say, "This is something that really ought to exist." NOEL: This came about kind of interesting to me, I guess. The purpose of the book states it out pretty clearly. I, a few years ago, started working on - not a large web project by any means, but certainly one that had a fair amount of complicated business logic around their payments. And we inherited it with the payment gateway in place and I kind of thought that, "Oh, the payment gateway is there. That's the hard part." We just basically sat and pretty quickly learned that that was not the case. As I was really looking for best practices, things people who had delved to more problems on the assumption that a lot of people had to solve some more problems. One thing in particular that I was looking at was handling the failure case where I have to do something in my database and I have to process the credit card and they can't happen simultaneously but the failure of one affects how I process the other. I'm just looking around for how other people had solved that and really being surprised how little information I found about something like that. I kind of filed that away. About a little over a year ago, I had this weird idea that I was going to start doing some self-publishing again and sooner writing about this or thought about writing this as part of that, writing about payments and data modeling and something like that. And as I started getting into it, I was like, "I had enough issues here. This is longer than like a blog post and this longer than a magazine article. There's kind of a lot here." I worked with Pragmatic, so I know the editors there and I sent them a proposal and they pushed back a little bit on the idea of, "Aside from the documentation, what else do you need?" And I was like there are all these issues here. They know, Dave, they run their own web store, they wrote their own code and I actually was - part of when I got the contract because I got to interview Dave Thomas about how the Pragmatic store works which was great. It was really neat. CHARLES: Did that material actually make it into the book itself? NOEL: Not as such because I was a little reluctant to directly quote him about the internals of the Pragmatic store, but some of the principles Dave talked about. It was actually kind of reassuring that about 85% of it agreed with stuff I already thought I knew, and about 15% of it sort of went beyond that. They have some problems that are -- because they're actually managing physical inventory which a lot, not all web stores do, which introduces a whole host of other problems. It became a combination of I actually really do think I've worked on a lot of these problems and they're interesting. And a lot of people seem to have similar problems and there's now a whole lot here, and so it seemed like a book was a way for me to go on that. Other people might have gone a different direction. I am getting kind of an interesting reaction from people. I get a lot people who are saying, "Well, I really could have used that book two years ago." And not a lot of people say, "I really need to buy this book right now," which indicates maybe the marketing needs to be tweaked a little bit. I'm pretty sure it will. It's not even fully out yet, so it will find its audience. But it's interesting how I think people still even seeing the book is there assume that they know more about what they're getting into when they start doing payments. And then they come out the other end a couple of years later and they're like, "Oh wow! I really wished I had the guide on that." CHARLES: So, what you need to do when marketing this, you need something along the lines of 'you don't need this book two years from now' or like 'don't be the person who wishes they read this two years from now, read it now'. NOEL: If I had this book when we started, I would have saved so much time and not made so many mistakes. CHARLES: Yeah. It's always interesting to me the interplay between kind of the patterns evolving and documenting the patterns and how eventually that kind of precipitates code that makes those patterns automatic. But it feels like there's always this kind of knitting edge where you have to kind of explore the problems phase and do the research and then eventually you can kind of turn and digest and write little pieces of it, but eventually it becomes like code. Have there been actual code like plug-ins or stuff that has fallen out of this, or that people can reference directly? NOEL: Yeah. Not as such. There's a reference application in the book, but I submitted a couple of patch requests to a couple of gems along the way but nothing significant. It's pretty unusual for me to co-model a book like this with a lot of new open source tools. I'm usually more about using the things that are already there. But the book definitely has an opinionated set of thoughts about how you design a Rails application and it's pretty upfront about that. We're going to put all our workflow logic in their own objects and we're going to not put a lot of stuff in the active record models and we're going to do it for these reasons. The first chapter of the book actually is not even payments. It's just shopping carts and a way to talk about the data model and the design because ultimately, money has some word aspect but a lot of it is just principles of doing good software design, encapsulated software design, and the way you will deal with any big external 3rd party dependency. But then on top of that, you have the specific pieces of money is weird, like money has real world implications and has legal implications and things like that. CHARLES: Yeah, definitely. Whenever you're dealing with money, there's an elevated level of pressure that seems like it's put on. And I know personally when I think of -- lately, I was writing my very first payment system. We actually maintained for a while the stripe-rails gem which had moderate popularity but we don't maintain it anymore. But it was that project where we did that where I kind of became an information recorder. And it kind of started me on this journey of never destroying information, kind of that immutability and like functional programming and stuff like that because I was so worried about over-writing any information about the payments coming in. I was like, let's capture it from the web hook and write it to the database and replicate it and back it up and let's never throw away a fact. NOEL: The specific advice in the book is save as little of your user's personal information as you can and as much of the transaction information as you possibly can. It definitely recommends saving the entire response in the payment gateway. It recommends making sure that you store all of the pieces of your partial price calculation so that you can recreate it even if the logic changes because that is something that has specifically bitten me in actual world. CHARLES: Can you elaborate on that when you say partial price information? NOEL: Yeah. The application that I work on, it sells tickets. And it has a processing fee. Originally, the processing fee was whatever the processing fee was and I hard-coded it as a constant in the code base because I thought I do not need to write this processing fee to the database for every individual transaction because I was wrong. And eventually of course, they changed the processing fee which would be fine if you never had to look backwards at all and try to run a report of old transactions and try to validate that the prices on old transactions still held. So, they changed the transaction fee and then they started running reports and all of the reports are off by whatever the changed amount was. CHARLES: Right, I see. So you could still maybe store that constant in the code base but you have to at least write out what it was at that point when you did the transaction. NOEL: Yes. Not all of this has managed to make its way back to the legacy code mass that I'm actually dealing with. But what I would recommend is saving all of the individual pieces. Unit price, any processing fees, any shipping fees, any tax fees, any discounts, saving all those as they were calculated as part of the transaction so that you always have them and they're not dependent on the code or the logic staying the same because all of that logic will change. CHARLES: I'm all about the information hoarding. I think it's useful stuff. [Chuckles] NOEL: I even started recommending originally a failed transaction was in a database transaction so it would go away. But I think that it's a bad idea. I think that you need to save -- whether you actually save a partially failed transaction in your database or whether you log something, the information of those failed transactions is really important and you want to make sure that you hold on to that stuff and you can go back and look at it. The idea that a bunch of transactions are always failing and you don't know about it, that's problematic. CHARLES: It sounds like you're still working on this application which [inaudible] the book. NOEL: Although I'm a lot more critical of the code now that I've gone through -- the book made me sort of think about this stuff a little more systematically that I had and made me make a lot of things concrete that weren't quite in the original application. So, the code in the book is actually better than the code in the application. CHARLES: Of course. NOEL: It's also a lot simpler. CHARLES: Exactly. [Laughs] Because it doesn't actually have to do the real work, it just has to capture the principles. NOEL: It just has to be a good enough façade to show the ideas. CHARLES: Right. So, you're still working in this application that kind of service [inaudible] for the book. But I'm curious then how you manage that because for me, writing a blog post is hugely time consuming. Writing a book must be even more so. Do you just have it dialed in that well that you can just bang it out or do you mix doing the book writing with working on the application because obviously, it sounds like both are kind of crucial to each other. You've already said, "The fact that I wrote the book is actually informing the way that I structured the code that made me write the book in the first place." And so, how do you interleave those activities to make a continuous workflow? NOEL: There's a separation there because the book is the thing I do not at work, it's my side project effectively. I'm not ever mixing them in the sense that I'm really going back and forth between one thing and the other. The application is the thing I do at work; the book is the thing I do at home. They inform each other, obviously, but separating them is not usually a problem. They're not the thing I do at the same time, so they don't relate to each other that directly. CHARLES: I see. NOEL: It's time consuming but it's what I do instead of maintaining an open source project or doing some other community thing in what would be side project kind of work. CHARLES: So you just do it on your spare time. NOEL: Usually, the book is written between 10 and midnight for people who are reading between 10 and midnight. CHARLES: [Laughs] I like that conception. Do you think it would work at all if say, with your job there were some amount of time allocated for writing the book because I think there's some interplay and hopefully, it's [inaudible] interplay between the two activities. NOEL: The way my work job is structured right now, I actually do a certain amount of time for blogging but that's company blogging. It wouldn't necessarily cover working on the book. It would certainly go faster if I had time because certainly trying to squeeze some parts of this into my allegedly spare time becomes challenging. Writing a book like this is not just writing a book. You're actually writing to some extent an application and it's not a fully featured application but it does have to work and the tests have to pass and things like that. It has to work well enough so that if somebody were to copy it, it would run. That can be frustrating when to come to writing the book and find out that, "Some gem is updated and now, there's some weird test failure in my book," is sometimes a little frustrating. CHARLES: Yeah, I know. I can imagine. You said that the book, most of the examples are in Ruby on Rails. Would you see it being valuable to someone who was not doing Rails development at all, maybe he was doing something in Python or Clojure? NOEL: Some of it is in JavaScript because the client-side Stripe library is in JavaScript. That's kind of the central part of it especially for security purposes. Some of the code would carry because the Stripe API is actually pretty similar across a lot of these languages. I think some of the principles would still hold. Some of the tools are a little bit Rails specific but some of the basic ideas of separating things in the background jobs, the way that you need to think about the administration, handling failure, like some of that I think would have some value outside of the Rails world. CHARLES: Were you explicitly thinking of how the developers with the web payment problem in general is your audience or were you really thinking this is more for Rails people or where did the kind of needle fall there? NOEL: The tricky part here is that it becomes very, very hard to write a book simultaneously using the Rails API and the Python API. It's very confusing. It's a 300-page book as it is and you have to make some decisions there. While I would like it to be valuable to anybody who's doing web payments as sort of a practical matter, Rails and the Ruby API are the ones I know best and that's where the examples are because they have to be in something and they can't be in everything. CHARLES: I remember a lot of those books that I read that used Java kind of as the one [inaudible] of the system that they were talking about. But it really was like, you're right, there's a line that we have to tread there because you can't just wave your hands and talk in one piece abstract principles that have no ground in reality. But at the same time, by giving concrete examples, you may limit the potential audience. I do think there is a path in there where your examples are accessible to people from different backgrounds. NOEL: Examples are really hard, actually. It's a very tricky thing to have an example that is complicated enough to get the point across but not so complicated to get buried in extraneous details. It's really a problem actually when you try to write about testing because almost any problem that is simple enough to be an example in a book is not complicated enough to show why test-driven development is a good idea. [Inaudible] has the same issue a lot of times like you start bringing these relatively robust methodologies to this little toy problems and it's hard to get across why they're valuable when you're working on a toy problem. Not impossible. There are people who do it. CHARLES: If I can count the number of tutorials that were like modeling cats and dogs and people, it's like I've never written a single class that even remotely resembled any of that stuff. NOEL: You're bringing in more complicated problems but then you become so sensitively dependent on the weird crooks of whatever problem you've chosen which can be difficult if you make it feel like it's less universal. If the idea is that these techniques or these tools are going to help you manage the complexity in your application, then you need to show an example that actually has enough complexity for them to sort of work. It can be really challenging. CHARLES: You mentioned also the examples [inaudible] some of them are in Ruby that you're actually opinionated about making sure that the main logic is captured in objects which I think actually furthers that goal where you're not really bound so much to the Rails APIs. But then you said obviously, the other stuff is in JavaScript just because the client side Stripe library is implemented in JavaScript. You wrote a book on JavaScript a few years back. So clearly, it factors into your development story. I like to often kind of try and tell people like we are all JavaScript developers, whether you know or not. Do you have any advice for people who were approaching JavaScript from outside the core of [inaudible]? What's the best way to make your [inaudible] approach? NOEL: I have opinions on this. The problem is that I don't do big single page JavaScript apps, for the most part. It's just not part of my nutritional background at the moment. Mostly the JavaScript I'm doing is relatively at the kind of thing they sort of derive as sprinkles of JavaScript. CHARLES: Like I said, I think it's a far larger attempt than anyone cares to acknowledge. NOEL: I feel like my decision to try very hard to stay out of the JavaScript ecosystem battles has paid off for me tremendously in most ways. At the same time, I don't have really strong opinions about JavaScript build tools because I hadn't really had a whole lot of occasion to use them. I very strongly recommend that people coming into JavaScript now that you use some of the ES6 features especially things like classes and stuff that like to give you a better structure. Structure in JavaScript gets a little bit more consistent than what you see in other programming languages. A lot of those changes were I think pretty beneficial to how I work with the language. One thing that I like to do when I am doing something that is smaller, too small to really bring in a framework because I'm still doing mostly kind of jQuery, is I have a style where I really do try to isolate the jQuery in the DOM from the logic in a way that they don't always see people do on the theory that the DOM is a big 3rd party dependency in a way that on the server side, the database is a big 3rd party dependency. And in both of those cases, we kind of pretend that they're not big 3rd party dependencies because it's easier to integrate them, but eventually that kind of hurts. And I find raw jQuery and raw JavaScript is very hard to read and hard to understand. So, I think it does a little bit better if you start burying it behind some stuff that has some more semantic [inaudible] and things like that. And then we get to the point where you need a framework that actually has data binding even if it's a small framework like Vue.js or something like that, then you have some habits that will help you as you start building them. CHARLES: I think it's been interesting. Obviously, you did JavaScript a lot here but having that separation in kind of a mental model of what is my representation of the data and how am I actually presenting that to the user. It's kind of scary how universal that concept is and how well it will serve you as you grow from the simplest little one liner JavaScript thing to a whole full-fledged single page application using whatever framework you choose. If you abide by those principles, it may not be easy but it's going to be a lot more tractable. NOEL: Your transition to using one of those tools is going to be a lot easier if you already in habit of separating out your display logic from your actual logic. CHARLES: Yeah. Believe me, I'm not looking to like draw you into any kind of controversy here with JavaScript or Rails. But in the last several Ruby conferences that I've been to, there's been a lot of talks and a lot of discussions about 'where's the Rails community headed', 'where's the Ruby community headed'. How does it fit into this kind of new ecosystems that are emerging and what's the role that it's going to play down the road? And so, I'm just kind of curious to get your take on that as someone who operates in a bunch of different environments. Is Rails something, if you're starting an application from scratch, you would pick up again? NOEL: Yeah, I still pick up Rails for new applications. I think that, especially because the ecosystem is still so far ahead of all the newer tools ecosystems, I still think it's still the best way for a small team to act like a big team. We're definitely investigating other stuff, other tools. All of our Table XI developers are trying to pick a framework that they don't use everyday ideally in a language that they use every day and build a common app in it just to try out some new muscles and get a sense of what the strengths and weaknesses of some of these other tools are. We're starting to bring them in slowly to our server and client side repertoires where they're appropriate. I think that Rails is great but it's not perfect which leads the possibility that there will be something better eventually. I think it will take a while for something like Phoenix and Elixir to build up the ecosystem and the number of 3rd party tools that the Rails community has. CHARLES: We've been playing around with a bunch of different tools here. I actually started a side project and I was using Rails and I was blown away. I was like, "Oh, I forgot how easy it actually was." And that actually can't be discounted and things like speed and things like this lightweight feeling, you can [inaudible] for the lack of an ecosystem. I certainly made that mistake with Node.js. NPM installs at the very beginning were super fast and that was the reason that you weren't installing anything at all. [Laughs] NOEL: Rails still prioritizes a certain kind of developer experience in a way that is really great for projects up to a certain size. I think there's a significant dispute of where that certain size is. I have a coworker who did a Rails project recently after also having done a bunch of JavaScript projects and had a very similar reaction, "I forgot how easy some of the stuff actually can be." Eventually, you get to a size where some of that easy search could be less [inaudible] in terms of something a little more structured. But there's still a lot of value there. I find the Node ecosystem honestly really complicated and confusing relative to the Ruby ecosystem. And some of that is just my lack of experience with it. CHARLES: We're [inaudible] everyday and it's complicated. It's just that it's huge. It's just mammoth compared to the Ruby ecosystem and I don't think it started out that way, but it certainly is like that today. NOEL: Rails is at least somewhat focused on a particular size problem. And I think that that makes the ecosystem a little bit more manageable. I think the JavaScript tools are trying to solve a lot of different problems for a lot of different people sort of under the same umbrella and it gets very hard to do that. CHARLES: Well, that's about it for our time. Thank you so much for coming and talking with us. NOEL: Thanks for having me. CHARLES: Yeah. The name of the book that you're currently writing is? NOEL: It's 'Take My Money: Accepting Payments on the Web'. It is available at PragProg.com. And then you can find anything I'm doing at NoelRappin.com. Keep an eye out there because there's going to be a new project that hopefully will start by the end of the year. I'm a little less confident that it's going to than I was, but I'm still hoping. Also you can find me on Twitter @noelrap. CHARLES: All right, fantastic. Bye everybody!