We sit down with developers to talk about the latest and greatest in web development. These conversations will take you deeper into the human side of coding web applications and deliver insight that you might not expect.
Alex took spent the last year and a half creating his course, The Ultimate Guide to Understanding DOM Events, at egghead. Finding the time to work on a side-project like this isn't easy, and it requires one to examine their current priorities in life. Do they want to be a rockstar developer? Or do you want to have a lot of free time to spend with your family? No matter what sacrifices have to be made. But the best way to handle it is to have candid discussions with the people around you who will be affected the most by these sacrifices. Alex worked it out so that he'd work on his course one day a week. Despite the cost in time, side-projects are important to Alex. He says that he wouldn't be where he is now in his career without them. They enabled him to grow as a software engineer and to learn things that he wouldn't be able to during his day job. Because of this, he was able to get a more complete picture of how all the pieces fit together, which made him a better dev. So remember, really be careful about what you are committing yourself to when you take on a large project.ResourcesMaster DOM EventsAlex ReardonTwitterWebsiteTaylor BellTwitterWebsite
Ryan's background as a musician taught him many lessons that would eventually apply to his current career. As a musician, he learned about composition, sales, and even programming so he could build his band a website.Ryan also had an actual sales job where he learned that you can do something so well that you'll be unable to do it anymore. In sales that meant being good at generating leads which lead to a lot of clients which lead to ceasing to generate leads. But, that eventually lead to you have no clients because you let your stream of leads dry up.It's easy to become so narrowly focused on what's in front of you that you get blindsided by what's coming down the pipeline 6 months from now.React changed the front-end landscape. We went from having a mutation-based approach to a functional approach. But, React has made it so easy to write code that we are forgetting our fundamentals. React websites are becoming bloated.Remix's goal is to bring back the Web 1.0 ways of doing things that lead to lean, performant websites. It's Web 1.0 that is progressively enhanced with React and React Router.“The technology that sticks, and wins, is the technology that can sneak its way into your existing stack because no one wants to rewrite!” Remix is built on this philosophy, allowing you to incrementally incorporate Remix into your existing application.—-ResourcesMichael Jackson's YouTube video on component compositionRemixRyan FlorenceTwitterWebsiteJoel HooksTwitterWebsite
Perhaps the most important skill that a software developer can have is the ability to ask good questions. Questions will lead to the answers that you actually need. Formulating good questions is key. Often, you'll find that you answered your own question in the process of forming it. Mentorships are a great learning and growth opportunity but it's important that you respect the person that you desire mentorship from. Don't just take up their time by asking questions regularly without being upfront about the relationship that you are wanting. It's also important that when you do ask your mentor questions that you continue to respect their time by making sure that your question is good and well researched. Included in the links below are a couple of articles on how you can take your questions game to the next level. Try to read them before asking your next question!ResourcesStack Overflow - How do I ask a good question?Julia Evans - How to ask a good questionJacky AlcinéTwitterWebsiteJoel HooksTwitterWebsite
Programming might be the quickest path for someone to start earning six figures. But, it may be a quick path, it is not an easy path. You have to either be having fun or be interested in some way. You have to have some backing motivation that's going to keep you in this.Many people try to learn to code only to stop. They either decide that they don't want to sit in a chair for eight hours a day for the rest of their life, or they don't think they're smart enough, or somebody's telling them they can't do it. People also get hung up on trying to learn the "right" language or framework instead of choosing something that they actually enjoy.You should learn whatever keeps you doing it tomorrow.When Chris played sports he figured out that the only thing that made him good at anything was that he showed up nearly every day. His skills, athleticism, and networking opportunities all came from showing up every day. Your mindset plays a significant role in everything you do and you need to pay attention to it, if you don't, then you're not going to do as well as you could have.Chris BiscardiTwitterGithubWebsiteLinkedInJoel HooksTwitterWebsite
Getting a job as a web developer right out of the gate isn't easy. People often face rejection after rejection. But, you don't have to take the "front-door" to get a developer position. You can also take the "back-door" by taking a developer-adjacent role like a support engineer and then work to become a developer in the company.There are many disciplines and technologies for you to choose to learn. There is always the question of do you become really good in one area, or do you become more of a generalist? You can be successful as a generalist or a specialist. Founders often have to be generalists since they have to figure out how to manage the trade-offs of choices in multiple disciplines. At the same time, specialists can be successful since people will seek you out for your expertise.It doesn't matter if you choose to generalize or specialize. You have to build a reputation in order to fully realize your potential success. Programming is a special industry when it comes to making a name for yourself. You can build your own reputation and network much more freely than in any other industry that Shawn knows about, which is good for you long-term.Once you've established a reputation, it's not uncommon for people to ask you to mentor them. An ongoing one-on-one mentor/mentee relationship isn't often the most efficient use of your time. You could be broadcasting what you know to a wider audience—Shawn advocates for a "project-based" mentorship style where the mentorship is not uncapped. You engage with them on their thing. You meet together, let your minds meld together for a while, and then you part waysResourcesAntifragileFree Code CampHacker101fast.aiShawn WangTwitterWebsiteegghead.ioJoel HooksTwitterWebsite
Epic React is Kent's attempt at making the biggest impact on the world. It's Kent's philosophy that he can have a much larger impact by teaching other people to write excellent software instead of just doing it himself. Epic React has been in the making for a long time. Its methods are much more thought out than your average course. You can't just throw it on your Chromecast and 2x your way through all of the videos. You have to put in the work. Kent uses the proven methods from the book "Make It Stick" which have you trying to solve the problems yourself first before Kent provides his instruction. Epic React has 350 videos. How did Kent even begin to climb that hill? Kent didn't think Epic React would be as epic as it is today when he started. When he started thinking about doing Epic React, he thought it'd be like Testing JavaScript. He made Testing Node for the Testing JavaScript relaunch and he used a workshop format instead of the egghead style and it was a big success. So he decided to do the same thing, but for React. Having a team also made a huge difference. A lot of people do this themselves but Kent worked with a production team. There are so many advantages. Lots of instructors struggle with all the extra stuff you have to do when selling content that isn't creating the content. The production team let Kent focus on the content and the hype. Kent did not want to deal with editing, support, payments, design, or copy. He wants to take knowledge from his head and put it into other people's heads. What's the next Epic Journey for Kent? He likes the idea of updating stuff. He plans on continuing to update Testing JavaScript. Kent also has a laundry list of ideas for future Epic React content!Epic ReactEpic ReactJoin the Discord!CreditsKent C. DoddsTesting JavaScriptkentcdodds.comTwitterGithubJoel HooksTwitterWebsite
Tomasz highly recommends companies hire interns and train them because you can get some amazing engineers that you know are going to fit the company's needs. Another great advantage of training interns is that it levels up the senior engineers by giving them mentoring experience!But, what really is a senior engineer? Basically, a senior engineer isn't a person who programs more, faster, or better. They're a person who makes others better at what they do and a person who can solve problems.So how do you advance your career? Tomasz says that speaking at conferences had a major impact on his career. He strongly recommends that if somebody wants to start talking at conferences, to start at local meetups because one, you will get experience, and two, they're always looking for speakers.Transcript"What is a Senior Engineer with Tomasz Łakomy" TranscriptTomasz ŁakomyTwitterGithubDev.toWebsiteJoel HooksTwitterWebsite
Shirley Wu is a freelance data visualization expert. Data visualization, at its core, is when you take lots of data, and it's hard for you to look in Excel. You visualize that into some graph or chart, and the most simple could be a bar chart or some graph so that you can understand trends within it easier. In data visualization, there is an entire spectrum of approaches you can take with a dataset. You have to decide on the balance between art and the data. With clients, choosing where in that spectrum is asking yourself, "What do I want for the end-user to experience?" The difference between a purely artistic piece and a visualization is that with data visualization, there's a goal to it. You're taking data, and you're trying to communicate something, or you're trying to build a tool to help people explore that data. Transcript"How Shirley Wu Built A Career As A Freelance Data Visualizer" TranscriptResourcesData Visualization SocietyData Stories Podcastscrollama.jsGreenSockShirley WuTwitterGithubYouTubeWebsiteMediumLinkedInFrontend MastersJoel HooksTwitterWebsite
"Indie Hacker" - An entrepreneur that is working to gain some form of independence.Courtland Allen is the founder of indiehackers.com. He didn't take the venture capital approach. He just wanted to make enough money to support what he was trying to do. Courtland was trying to build a community of indie hackers who would share their stories, help each other, and support one another.You can't force community growth. It takes good content, time, and consistency. At first, Courtland would make good content and share it with his mailing list, and he'd also make fake accounts and have discussions with himself on the indie hackers forum to try and spark real interactions. The efforts paid off. Over a year, a real community blossomed.It's tempting to rely on your intuition when you are first starting as an indie hacker. But, Courtland encourages you to take a more thoughtful approach by relying more on the experiences of others. Over time you'll develop wisdom.You can go too far, though. If you spend too much time preparing and learning, you'll realize how much you don't know, and it can be crippling. In Courtland's interviews with indie hackers, the most common advice people have is to go for it! Be okay with experiencing failures and starting over.Transcript"How Courtland Allen Found Freedom with Content, Consistency, and Community" TranscriptResourcesIndie HackersHacker NewsNomad ListstratecheryOwn goalsDiscourseCourtland AllenTwitterLinkedInJoel HooksTwitterWebsite
Rosie Sherry is both an unschooling parent and the founder of the Ministry Of Testing. There's a disproportionate number of bootstrappers who homeschool their kids, and maybe it's for the same reason why they built something themself instead of fitting into the mold, they think they can do it better. Ministry of Testing is a company Rosie founded, officially as an online community in 2007, but then formally as a business in 2011. It's a community of software testers who geek out on testing, host conferences, have online talks, host trainings, and participate in an online community.You can't fake a community like that. You can growth hack numbers, members, et cetera. But, you can't fake community. A strong community has to have people who care, that's what it generally comes down to. The people who lead it have to care, show that they care, and care about the industry as a whole.Transcript"Real Community Can't Be Faked With Rosie Sherry" TranscriptResourcesMinistry Of TestingIndie HackersRosie SherryTwitterWebsiteJoel HooksTwitterWebsite
Design systems are your component library, documentation, tools, et cetera. And then there are the operations of it. So like an agile team uses agile methodology, a design system is about making your teams work better.After Bootstrap, we all ended up building our own Bootstraps. We all like to think that we're special and the problems we're solving are specific to our company, but the reality is the way that your system is built is probably not that special. It's the way that your system is used that's special.Everybody should be able to access your products, and you can't just make a bunch of accessible components, you have to give your users guidelines on how to use them. Sarah says that accessibility should be considered in every step of development. Transcript"Accessible Design Systems With Sarah Federman" TranscriptResourcesDistilling How We Think About Design SystemsSarah FedermanTwitterWebsiteJoel HooksTwitterWebsite
Segun Adebayo was turned off of web development after struggling with Wordpress' themes and plugins, and so he went straight into UI design entirely using Sketch and Figma for quite some time. It was React that brought him back into the development fold. The way React made it so easy to create components stuck with him.Segun is still a designer at heart, but his skillset goes beyond design. If he calls himself a designer, it limits what people want from him. By calling himself, a UX Engineer Segun can create higher expectations of his skills, and people come to him for a broader range of problems.One of the key reasons Segun started his side-project, Chakra UI, was to learn. One of his fundamental values is learning in public. Chakra UI is a passion project for Segun. It breaks his heart that most applications aren't accessible. Accessibility is one of the three core principles of Chakra UI along with composition, and being easy to style. Accessibility was one of the other key reasons for Segun starting Chakra UI. He wanted to create a design system that would make it easier for other developers to make the web accessible.Transcript"Why Segun Adebayo Calls Himself A UX Engineer Instead Of A Designer" TranscriptResourcesReact TrainingDesign For DevelopersRefactoring UIChakra UISegun AdebayoTwitterJoel HooksTwitterWebsite
T7 Chicken was where it all began with Nick's journey into development. Nick had no development experience. Still, he wasn't satisfied with the websites and apps available for Tekken framerate data, so he took it upon himself to learn Android development to create his mobile app. Nick had the support of the Tekken community and received programming help from people online. Projects like these are so crucial for rapidly growing as a developer, and you won't get the same experience at work. It's making something you need for your community. It's also a place where you are free to experiment with new technologies. Most of us wouldn't be where we are today in our careers without the help of the online programming community. Nick gives back through his work as a mentor at the Resilient Coders bootcamp. Resilient Coders is different from most bootcamps. They pay their students to learn to code! They are a non-profit and rely on donations from generous individuals and companies to operate. Paying their students allows them to be truly inclusive by providing an opportunity for people who don't have the privilege of being able to survive without some form of income. Transcript"Why do you do it? With Nick DeJesus" TranscriptResourcesResilient CodersT7 Chicken TwitteriOS: T7 ChickenAndroid: T7 ChickenApprenticeship Patterns: Guidance for the Aspiring Software CraftsmanNick DeJesusTwitterWebsiteJoel HooksTwitterWebsite
Monica Powell didn't have the most straightforward path to her first job as a developer. She took a couple of years of graphic design in college, took a computer science class, joined a student-led web development agency, and then joined a tech startup where she did email marketing and development. At that point, Monica knew that she wanted to be a developer, but she knew too much to attend a boot camp and not enough to get a job. So, she took classes, landed an internship, and then eventually got hired as a web developer. Meetups were an important part of Monica's development. When she was in college, she'd attend meet up events to get an opportunity to get off campus and see how people are using technology. She gravitates to women in tech events since she's always found those events to be safe places for her to learn new technologies and meet other people. As of November 2018, Monica is now organizing a meetup called "React Ladies" in NYC!Contributing to open-source was also important for Monica. Open-source de-mystifies the software that you use. You can look through the source-code of any package that you're using in your project. There's also plenty of opportunities to contribute, and it doesn't have to be code, many projects need contributions to their documentation as well.Transcript"Personal Growth From Open-Source And Meetups With Monica Powell" TranscriptResourcesaprilzero.comReact Ladies MeetupCode NewbieReact Conf 2019ToastmastersWrite/Speak/CodeGlobal Diversity CFP DayMonica PowellTwitterGithubDev.toWebsiteMediumLinkedInJoel HooksTwitterWebsite
At first, React looked like it might have been a fad, and JSX seemed weird. But, it didn't take long for people to see the power and beauty of it. React makes reuse easy, which makes accessibility a lot easier. Every time you needed an input, you had to remember all of the accessibility attributes and write it all by hand. With React, you can make a reusable input with all of the accessibility built-in. You must make your components accessible. There's a broader range of people who need accessible features than you might think. Most of us think of people with visual impairments, but they're also for people with cognitive, auditory, and motor skills issues. We also don't think about the temporary issues that nearly everyone faces at some point in their lives, such as broken limbs, and medication side-effects. Accessibility features are even helpful under certain environmental conditions like exceptionally bright or noisy places. Even internationalization can be seen as an accessibility issue if your site isn't supporting all languages and localizing all dates. Accessibility is very multifaceted.Try taking a test-driven approach when it comes to accessibility. Start with the low hanging fruit, static code analysis, and running a scan with a browser plugin. Then try to use your app with accessibility tools yourself, figure out how you can make it a better experience for your users. Finally, have real people with various disabilities test out your app and give you feedback.Transcript"Test Driven Accessibility with Erin Doyle" TranscriptResourcesAria in HTMLFirefox: Axe Developer ToolsChrome: Axe Developer ToolsChrome: LighthouseErin DoyleTwitterGithubJoel HooksTwitterWebsite
D3.js is the defacto library that people use to create custom data visualizations on the web today. It's powerful and flexible. You can do whatever you want with it. However, that kind of power and flexibility comes at the cost of complexity. You have to know what you're doing, and it takes a long time to learn. There's existing content written on D3, but there's always room for another voice. With the help of Newline, Amelia wrote the book of over 600 pages, Fullstack D3 and Data Visualization. In this book, she teaches all the theory and application you need to know to make badass visualizations using D3. Amelia also takes the unique approach of having you use your own dataset! Data that means something to you is going to be much more interesting than anything that could be provided.As a React developer, Amelia wrote the excellent blog post Thinking in React Hooks. She says that you have to make a paradigm shift with hooks. You can't keep thinking about your components in terms of lifecycle, but instead, think about them in terms of data synchronization. Transcript"Writing The Book On Data Visualization With Amelia Wattenberger" TranscriptResourcesFullstack D3 and Data VisualizationThe Visual Display of Quantitative Information by Edward TufteThinking in React HooksAmelia WattenbergerTwitterWebsiteJoel HooksTwitterWebsite
Hiro started coding HTML and CSS back in middle school so she could make internet friends and talk about anime. She never thought of coding as anything more than a hobby, and she stopped when she began college. She got her master's in special education, but due to a traumatic injury, she had to make a career pivot. She got a job as a helpdesk engineer and eventually worked her to a sysadmin position at a startup. Hiro quit the comfortable sysadmin job. She asked herself if ten years from now, if she'd be proud that she stuck with the company for another six months. The answer was no. Hiro quit her job to focus full-time on teaching technology. It was a huge leap, and yet again, she was in unfamiliar territory, but she's been able to find success. Hiro has released four intro-level AWS courses for non-engineers on LinkedIn, writes independent articles, and gets paid to write blog posts for small business owners. You don't have to be a specialist to find success. Yes, the world needs people who can go all-in on something and produce fantastic work, but it also needs people who can bridge the gaps and solve problems with the breadth of their experiences. Transcript"Making A Fufilling Career Out Of Multiple Interests With Hiro Nishimura" TranscriptResourcesAWS NewbiesStripe AtlasHiro NishimuraTwitterWebsiteLinkedInJoel HooksTwitterWebsite
Khalal's first language was Java, he learned his it in school. He didn't like coding in school because all they did was learn algorithms and data structures. How many people have completely turned away from this amazing career where you get to build cool things like dad jokes in text messages simply because classes get structured around data structures, algorithms, and Java?New coders should take a step back before jumping straight to a Bootcamp. Take time to learn on your own to make sure this is what you want to do or what you want to invest in. You'll still be doing a lot of self-lead learning anyway when attending a Bootcamp.Try to find people who went to the Bootcamp. Don't look on websites like Course Report where almost every Bootcamp is five stars. Get on LinkedIn and find developers who graduated the Bootcamp and talk to them, you'll get honest insights.ISAs are the only option for most people to attend Bootcamps. You have to be coming from a place of privilege to pay the 18-20 thousand dollars upfront. So instead they'll take 20% of your income for two years. You get a job for $100,000, and now, you have an $18,000 Bootcamp that just went up to $50,000. You got $50,000 worth of debt in 13 weeks. That's what people may get after a year or two of college, or three or four depending on where you go.Transcript"Get Comfortable Learning On Your Own With Khalal Walker" TranscriptQuotesJoel:"what sort of habits have you developed or you think are important if you want to break into this field, and do it and kind of in a sustainable way?"Khalal:"You literally just can't give up or quit. And that sounds like the most cliche thing ever. But it's literally so important, because you're going to hit walls. You're going to struggle. I think, the biggest thing with being a developer is just banging your head against your keyboard for eight hours of the day. And the last hour, you just see the light and you just keep finding different ways until something works."Khalal:"So, I take that with learning how to code. In the beginning, you're going to mess up on syntax. You're going to forget a semi-colon. You're going to miss a quote. And some of these things may really, really bother you. But if you keep at it, these things will become second nature. And then, you'll have new struggles. Because when you have new successes, you move on to new problems."Khalal:"And so, as long as you know that in this industry, it's always... Things are going to get easier, but you're always going to be learning something new. You're always going to be learning. You're always going to be growing and you just have to have the willingness to take on that challenge every single day."Khalal WalkerTwitterWebsiteGithubJoel HooksTwitterWebsite
Making technical decisions for your business when you don't have experience as a developer is difficult. It's scary to make decisions that you don't know the consequences of.Tracy got into development when at one point she had the freetime to take an HTML, CSS, JavaScript course online. Becoming a developer taught Tracy the importance of grouping her meetings so she could have uninterrupted blocks of time to get work done. Before, she didn't realize the impact that breaking people's flow had.A lot of people are trying to become developers. One of the more common routes now is attending a bootcamp. But be careful, not all bootcamps are equal. Graduates from some bootcamps struggle a lot harder in the hiring process than others. Make sure that you do your research and talk to people who graduated from the program.Transcript"Out With The 10x Developer And In With The 10x Mentor With Tracy Lee" TranscriptQuotes"I feel like if you're not technical, it's almost like you're scared to make the decision"". . . I group together all my meetings, because I used to be like, 'Oh, co-founder, you're not in a meeting. Oh, he's probably bored. Oh, he's not involved.' Like, my god, I was just killing his productivity the entire time.""You should be really promoting the idea of a 10x mentor. So, helping everybody within an organization, within a development organization, should be helping facilitate each other to be successful.""But unless you keep doing the same thing, the thing over and over and over again, and getting really good at it, then you're never going to actually grow"". . . do your research and find people that have gone to the bootcamp, and ask them directly what their experience was"ResourcesThinking in Systems: A PrimerThe Hard Thing About Hard Things: Building a Business When There Are No Easy AnswersTracy LeeTwitterGithubWebsiteJoel HooksTwitterWebsite
To executives, new features mean more money, but even if you had terrific features, they wouldn't be worth a thing if they only worked half the time. Reliability isn't something you want to put off until later after the project has grown, it will save you a lot of time and money if you factor it in from day one. Everyone has adapted to a speedy internet these days. Users leave if the site is taking more than even a few seconds to load. It's easy to get overly focused on features while losing the context of the overall application. The first and foremost solid you can do future you is to keep things as simple as possible. Never get overly complicated, that's where you run into scaling troubles. Complexity also causes significant headaches when bringing other people on. In addition to keeping complexity low, make sure documentation gets written and that it's kept up to date. A solution that Molly's company has put in place to keep the docs fresh is to give every document an expiration date three months out from when it gets written. When someone references the docs, they check if it's past the expiration date, if it is they go through and make sure that the information is still current, and afterward extending the expiration date another three months. Transcript "Build Performant And Reliable Applications With Molly Struve" Transcript Quotes "To me, a site reliability engineer is a software engineer, but with their focus on performance and reliability." "So, it's a dev, but they've got a little bit of something extra in there that just helps them kind of step back and look at the whole system and ensure that it's performing and reliable." "There's only so much you can just attribute to the black box. Sometimes you actually got to go in there and figure out what's going on." "You can have all the great features in the world, but if they're only working 50% of the time, none of your clients are going to be happy." "A lot of times, if you're just focused on just the feature you're building, you'll lose the context of the overall application." Resources Making On-Call Not Suck What It Means To Be A Site Reliability Engineer Scaling Elasticsearch Part 1: How to Speed Up Indexing Scaling Elasticsearch Part 2: How to Speed Up Search Molly Struve Twitter Github Dev.to LinkedIn Website Joel Hooks Twitter Website
How many of us still almost exclusively use console.log() when trying to debug something? It's okay, plenty of us do it that way, but you could be saving yourself a lot of pain and suffering by using the debugger and stepping through the execution. There are several advantages to using a debugger, you get a tighter feedback loop, a lot more information, and it allows you to go into places you wouldn't have even thought about. Now debugging can take you far, but there are times when we need another human to help us. Asking questions is anxiety-inducing, "what if this is something I should already know?" "am I being annoying?" "am I interrupting them from doing something important?" The key is to remember that there is no such thing as a dumb question, but there are questions that haven't been thoroughly vetted. Stack overflow has an excellent wiki on asking good questions. Learn how to form good questions, and everything will end up being okay! Justin is doing good work in bringing awareness to Atlanta's rich culture and advocating for people who are under-represented in technology. Be sure to check out the Render(ATL) conference upcoming in May 2020. Transcript "Learn To Debug Properly And Ask Better Questions With Justin Samuels" Transcript Quotes "It's a good combo though. Computers, business, and teaching people, and passing on information. I think it's a trifecta, right? It's a killer combo." "But I loved React, because I already knew JavaScript. So it was like, 'Hey, here's some tools that you could just wrap around your JavaScript and you could make things better.'" "I feel like when you use the debugger, that invokes a curiosity. It allows you to go into places that you wouldn't have even thought about. It also gives you a sneak peek of what's going on underneath the hood." "So you'll always have three lanes, I call it. You either know what you do know, or you know what you don't know, or you don't know what you don't know. And I'm like, 'Okay, I could get past the first two.' But the last category of you don't really know what you don't know is scary all the time." "You have to learn how to formulate a question that engineers are going to be able to be like, 'Oh, here's your problem.'" Resources The Power of Habit Atomic Habits Render(ATL) Stack Overflow: How do I ask a good question? Justin Samuels Twitter Dev.to LinkedIn Stack Overflow Joel Hooks Twitter Website
Everything is a system, and every system is a box in another larger system. It's up to managers to think in systems to make choices and understand their consequences. The manager has an obligation to their team. The decisions of managers make a tremendous impact on folk's lives.But managers are only human."When we go into school there's kind of this sense that authorities are these all-knowing kind of perfect figures that are responsible for everything." The reality is that managers are humans that are dealing with their circumstances. It's easy to put all of the responsibility on them, but they need to be seen as people.People fail. Managers aren't the only people burdened with responsibility. There's the "10x Engineer" or "The Hero Programmer," that end up with severe burnout.Managing is an ethical and moral profession. Managers have to make ethical decisions in regards to deciding who gets promoted, fired, given a raise. How do we get justice and results? That's what makes management an elegant puzzle.Transcript"The Elegant System of Management - with Will Larson" TranscriptEpisode Quotes"At companies that are struggling there is a lot of opportunity. And sometimes it's not easy opportunity, and it's not structured super well it's not packaged up, or you just get to have an easy entry into management.""There's not someone teaching you there's not an easy path. You just have to go learn by trying, thinking, um going back to the principles and trying to figure out how to make it all come together.""When we go into school there's kind of this sense that authorities are these all-knowing kind of perfect figures that are responsible for everything.""Really any fast-growing company is the best place in the world to learn quickly about systems and how they work in reality.""if you get good at the cold email of asking one short, crisp question that's a good question you can meet anyone."ResourcesAn Elegant Puzzle: Systems of Engineering ManagementThinking in Systems: A PrimerGreenhouse.ioWill LarsonTwitterWebsiteJoel HooksTwitterWebsite
Marisa Morby is a professional product manager. A common question she gets is "what's the difference between a product manager and a project manager?" There's a lot of overlap, but the difference is a product manager has to understand what needs to get done and why and be able to communicate that, and the project manager makes sure that everything stays on the rails and results in a cohesive product.Many teams put significant of focus on user outcomes. A user outcome is the ultimate goal of the user. It's what they need to happen. If we don't know what the user needs to happen, we'll end up focusing on the wrong thing.To figure out what a user wants user research needs to get conducted. No, you don't have to break out the lab coat. Research doesn't have to be so rigid. Just have conversations with your users and try to gain an understanding of their wants, needs, and frustrations. Make sure that you don't make assumptions about your user's needs. Ask questions that might seem painfully obvious to youMarisa also talks about working with all-remote team. We live in an amazing day and age that allows us to do our work wherever we want, but there are challenges we have to overcome for everyone to still be productive. We have lizard brains that make it challenging to build trust with people whose faces we never see. Regular video meetings that give some space for non-work conversations are essential in building that trust with people. Meeting people in person also has a substantial positive impact on communication; it gives you a lot of context with people's mannerisms!Transcript"Putting Emphasis on User Outcomes with Marisa Morby" TranscriptResourcesJust Enough ResearchMarisa MorbyTwitterWebsiteJoel HooksTwitterWebsite
When you are a consultant, you can't just learn a framework and then choose a place to work that uses it. Your clients will have their own needs and constraints that you're going to have to adapt to serve your client well.The constant learning can feel like a freefall. Constantly feeling dumb is panic-inducing. There's this trough of despair in software, where you swing between feeling like a genius and then going right back to despair.We can't just learn, but we have to learn well. It's critical to retain what you learned. Keep a developer journal, start a blog for yourself, discuss what you learned in a study group, etc. The less you have to relearn things, the less time you'll be spending in the trough of despair.The dreaded technical interview tends to have the problem of not testing you on anything that you should be learning. You have to spend your time cramming and hoping that the interviewer gives you problems that are still fresh in your mind. A one size fits all solution doesn't work and doesn't end up being objective. Candidates should get the opportunity to show off their skill and what they already know instead of figuring out what they don't know.Transcript"Escaping the Software Trough of Despair - With Laurie Barth" TranscriptLaurie BarthTwitterWebsiteJoel HooksTwitterWebsite
There are a few options for those trying to start a career in web development, teach yourself, join a bootcamp, or go to college. Veni chose the college route, she got a master's degree in computer science, which is awesome, but it didn't fully prepare her for web development. Computer science is primarily theory and it doesn't really prepare you for the engineering side of the job. There are only so many research positions where you'll get to applying your degree directly, the vast majority of us are facilitating commerce.When Veni was earning her degree the competition between her peers was fierce, but in order to grow she had to let go of that competition mentality. It becomes a puzzle for you to solve instead a competition between others. Having this kind of growth mindset is key to unlocking your learning potential.You hear about JavaScript fatigue everywhere and all the time. It's exhausting to try to keep up with the Joneses. Let go of the competition and do this for yourself. Each new technology is an interesting puzzle for you to solve.Veni is currently working towards increasing the diversity in the tech industry. She's building a community, figuring out what people need, and building awareness of opportunities. A lot of companies are trying to improve their diversity, but a lot of them aren't aware of how to do it in the best away.To work for diversity we need to realize that we all have biases, and figure out how to do something about them. We also need to understand that visibility and representation has a considerable impact. When you're a white male you get role models everywhere you look, people to look up to and help you realize that you too can get where they are. Underrepresented people don't have role models everywhere you look in every field you could possibly want to be in.Transcript"Embrace Challenges With A Growth Mindset - With Veni Kunche" TranscriptResourcesDiversify TechVeni KuncheTwittercodewithveni.comDev.toDiversify TechJoel HooksTwitterWebsite
You don't have to be passionate about code to have a successful career as a developer. Pariss Athena talks about how it isn't the code itself that motivates her to get better at understanding it. It's what being good at code provides that drives her.The financial freedom code gives Athena enables her to give more to the people and communities that are important to her. Success to her is freedom and helping others find success too. She is working on the Black Tech Pipeline, a platform to bring resources and exposure to the black tech community.What can those of us who are already established in this industry do to help underrepresented people? Athena says speak up, reach out to the community with opportunities for jobs, speaking engagements, podcasts, etc. Diversity doesn't just happen by default. Systemically we don't have a society that enables that. We have to be active and be a part of the team to make it happen.Transcript"Gaining Freedom and Helping Others Find Success - with Pariss Athena" TranscriptResources#BlackTechPipelinePariss AthenaTwitterJoel HooksTwitterWebsite
Vue has a reputation of being the most beginner-friendly framework, but that didn't just happen by accident. The Vue CLI is an excellent example. New developers often struggle with using the terminal and remembering all the commands. The Vue CLI provides a visual interface for the developer to generate a project. By making it easier for newcomers to make Vue projects, they've reduced the barriers to entry. Beginner-friendly doesn't mean basic. Many large-scale projects use Vue.Another example of something that fosters beginners and benefits established developers is how friendly, and inclusive the Vue community is. Natalia Tepluhina talks about gender mismatch in JavaScript and how the Vue Vixens are making efforts to make the gender ratio evener.The Vue Vixens are using free and accessible education as the primary means of getting more women into tech. Natalia Tepluhina goes on to share her two main ideas when it comes to designing a good workshop. Stay accessible to people of all skill levels; don't assume what people know. Stick to one stack and one concept. People have a finite amount of mental resources; trying to do too much can end up just overwhelming people.Transcript"How Vue Earns Its Beginner-Friendly Reputation - with Natalia Tepluhina" TranscriptResourcesVue VixensCognitive Load TheoryNatalia TepluhinaTwitterGithubDev.toJoel HooksTwitterWebsite
J.C. Hiatt put together the conference MagnoliaJS in the town of Jackson, Missouri to help his community and combat the growing problem of brain drain in his state.MagnoliaJS is not only for his community, but it was put together with the help of it too. J.C. put it together, publically by using Github issues, blogging, and posting about it on Twitter. The community responds well when you are genuine and trying to do something good, and bringing them in and giving them a sense of ownership is what J.C. attributes as the single most significant contributor to the conference's success.If you have the opportunity to do something like this for your city, go for it. Bring in as many people as possible, contact your city officials, plan it publically. Technology can have a significant positive impact on a community!Transcript"Organizing a Conference to Combat Brain Drain in His Hometown - with J.C. Hiatt" TranscriptResourcesTwitter - Shawn WangJ.C. HiattWebsiteTwitterJohn LindquistTwitteregghead.ioGithubWebsite
What do we do when all of our needs are met when we are making seventy-five thousand plus a year, working for a company with some prestige, have a home, and don't have to worry about food. Jason Lengstorf wrestled with this after the company he was contracting with didn't have anything for him to do, but kept him around. New goals have to be set, and growth still has to happen.Jason discovered that what he wanted was to help other people grow in their personal and professional lives. To help other people you have to have a set of skills beyond your technical skills, typically these skills would be called "soft skills," but they are often just as important as technical skills, Jason prefers to call these skills "meta" or "catalytic" skills. These are the skills used in planning, bringing people together, decision making, all of these being essential in our careers.You don't just use these kinds of skills in a software project; they are also the tools that are used to build communities of people. Jason explains how the trick to bringing a group of people together with something is to make everyone feel invested in what they are a part of, and like they belong.Transcript"Figuring Out What's Next after Your Needs are Met - with Jason Lengstorf" TranscriptResources:GatsbyJSJason LengstorfTwitterlengstorf.comGithubJoel Hooks:TwitterWebsite
Teaching provides a learner with more information, but the information isn't the only thing that is required to teach effectively. Doing is almost just as essential as the information itself for the learner to solidify what was taught. Creating an effective learning path is challenging, and we tend to start from what we know and take it from there. Janelle challenges the tendency to start from our knowledge, and instead, we should start from where we want our learners to end up being and work backward from there, this is called Backward Design.Backward design doesn't just apply to education, it applies directly to software development. As developers, it's essential that we get out of our head and start with the user.How do you start teaching if you have no one to teach? Janelle says there are three critical components to building your audience, having an email list, providing valuable content, and consistency. If you stay genuine and provide value you'll filter out anyone who doesn't resonate with you and what you offer.Transcript"Get out of Your Head and Start with Your Users - with Janelle Allen" TranscriptResourcesBadass: Making Users AwesomeShambhala: The Sacred Path of the WarriorJanelle Allen:TwitterJoel Hooks:TwitterWebsite
Jen Looper, developer advocate and the founder of Vue Vixens, didn't study software development in college, she has a Ph.D. in French Literature. Her degree might seem unrelated, but it strengthened her ability to explain complex ideas as well as her overall communication abilities, skills that are essential for her role as a developer advocate. These skills also come into play in her work building the Vue Vixens community, which now has over 20+ chapters all over the world!The workshop has been a powerful tool for growing the Vue Vixens. Jen explains how the shared experience of learning, eating, and hanging out together can build a lot of lasting connections. Vue Vixens has also branched out from workshops into also hosting meetups, the structure of which is determined by the local chapter leader to suit the needs of their particular location. But what makes a great workshop? Minimal installation, maximum output. Codesandbox and Nativescript playground have massively cut down on the initial setup times for the Vue Vixen workshops by doing away with all of the installing and installation issues that will always come up. Jen likes to use a cute app project to make the workshop more fun and to make exploring the deeper concepts less dry. To Jen, workshops are about empowerment first and foremost. If a student can leave the workshop feeling empowered and hungry to learn they'll end up much better off than if they learned more but left feeling disinterested. Transcript"Building Vue Vixens With Education and Inclusiveness – With Jen Looper" TranscriptResources:VueVixensyomamaisa.devZen and the Art of Motorcycle MaintenanceNotionJen Looper:jenlooper.comTwitterGithubJoel Hooks:TwitterWebsite
There's a kind of "black box" mystery that surrounds illustrators and programmers, to someone who isn't one their skills seem like a form of magic, but to someone who is these skills are just the tools that they've been learning to use through time and hard work. Maggie is the course logo illustrator at egghead.io, and she has the challenge of turning the concepts being taught in the course into something more visually concrete. The challenge isn't necessarily the drawing, but the research that is needed to understand a topic to the point of being able to create an accurate metaphor that people who don't know what is being taught can grasp. Maggie discusses her process in research and creative thinking to get to that point.The beginner's mindset is critical to Maggie for creating these illustrations. When someone becomes an expert in something, they tend to overlook things that have become muscle memory to them that make beginners struggle. You don't have to be an expert to teach something to someone! The problems that you ran into when learning a topic and the things that helped you wrap your head around it are still fresh in your mind and can be extremely valuable for other beginners and even those with experience. Maggie started a site called illustrated.dev to bring visual learning perspective of web development and internet concepts. There is a lot of content out there that teaches with language, but for many people, that style of learning makes it difficult for things to click. Never be afraid to teach things that are already being taught, often it is the way that you teach that matters most. Transcript"Turning Technical Concepts into Approachable Illustrated Metaphors - with Maggie Appleton" TranscriptResources:SchoolismNew Masters AcademyIllustrated.devDesign SynecticsArt SyneticsAddiction by DesignMaggie Appleton:Twittermaggieappleton.comJoel Hooks:TwitterWebsite
JavaScript fatigue is a topic that has been trending for a while now. It's easy to get overwhelmed with the constant influx of new technology, but it's also thrilling to learn the latest cool new thing! Stacey Mulcahy discusses how she embraces this deluge of technology by being a generalist, allowing her to make connections with more people than she would have if she specialized in one thing.Stacy is a Maker, a kind of tech-based DIYer and inventor. Creativity is, of course, important for the DIY hacker, but it's essential for everyone else too. Creativity is creative problem solving, and it's something that you can train. If you aren't "working your creativity muscle," your creative skills are going to degrade. Try to push the envelope and find outlets where you can apply your creative skills!Like a lot of people in the tech world, Joel has a box of Arduino stuff that is gathering dust somewhere. How do you get past that initial "hello world" LED blink project? Stacey recommends to immerse yourself, see what other makers are doing and find inspiration from them. Try to find something that you enjoy and find fun and see if you can do it with an Arduino. Lastly, Stacey tells us her story of what caused her to begin teaching children technology, and how she got to where she is now. It's rewarding to celebrate people's successes and provide them with a space where they can fail safely. If there isn't a community meetup for something you enjoy in your area you have the complete ability to start one yourself and be the organizer. There are multiple platforms that help organize events. The key for your community to grow is to be consistent with it. Transcript"Being Curious and Facilitating the Success of Others - with Stacey Mulcahy" TranscriptStacy Mulcahy:Twitterthebitchwhocodes.comJoel HooksTwitterWebsite
Web development is a fantastic field where people, for little to no money, can self-teach everything you need to make a career, and it's amazing, right? That doesn't mean that there isn't a time cost though, it isn't easy, but the internet has an overwhelming amount of information that you can use to teach yourself. Authors who write this free content are the life-blood of the internet and provide an invaluable service to countless people.However, in the sea of information, it's easy for your content never to get noticed. You wrote that blog-post that killer blog-post on medium, but no-one seemed to have seen it. Where you write your content is important, there are communities like the amazing dev.to that reach a specific audience and are more focused towards engagement, but the reason why you create your content is also important. People can smell inauthenticity if you are writing your content for the sole purpose of brand-building and getting views people are going to notice. Create content that you love and that you find interesting. You don't even have to be an absolute expert to teach, writing about what you are learning helps people learn right along with you!Learning a discipline you love profoundly is invaluable, but that doesn't mean you should turn a blind eye to other subjects. It's valuable to have a breadth of general knowledge across different disciplines and be able to have high-level conversations.A huge part of learning is asking people good questions. When you don't ask good questions, you are doing both yourself and the person you are asking a disservice. When you are too vague about what you are missing, and you don't give enough context, it's difficult to get a clear answer, and you are putting the burden of figuring that stuff out on the person you are asking.Resources:Stack Overflow: How do I ask a good question?Chris Fritz: 7 Secret PatternsJason Lengstorf: Cutting Work in HalfEmma Bostian:TwitterGitHubWebsiteJoel HooksTwitterWebsite
Marcy Sutton is the Head of Learning at GatsbyJS, but what does that mean? One of Gatsby's core focuses is the community, and a part of that is making the experience with Gatsby as friendly as possible. A large part of making Gatsby friendly is having excellent documentation, so that learning and debugging experiences would be smooth. So the learning experience is smooth but what is Gatsby's potential on the web? Marcy talks about how Gatsby has the potential to make a huge impact. Currently WordPress is powering about a third of the web, that's huge, but it has its issues. WordPress is centered around the authoring experience but the front-end experience is not good. Gatsby is looking more towards the future, it doesn't use a database, it can build out static HTML, it's accessible, and it's also democratizing the experience with a themes ecosystem. This brings up the point that JavaScript is eating the web and it's making it more difficult for folks who've had a different intro to webdev. This is a real challenge and people are having their careers impacted, what can we do to reconcile this? The decisions made by tech teams aren't considering this when the pick the technologies that they use, they're picking tech that's going to deliver a high preformance application, where does HTML and CSS fit into this? Marcy discusses how we can bridge the gap and find ways to include people with different skill sets. Marcy also discusses the inclusive community that she has helped build, NW Tech Women, a small group out of Bellingham WA that hosts social events, but also volunteers and pairs with non-profits to make a community impact. Transcript"Heading Gatsby's Learning Experience and Bridging Gaps - with Marcy Sutton" TranscriptResources:NW Tech Women TwitterBlack Girls CodeGatsbyJSMarcy Sutton:TwitterWebsiteGitHubJoel HooksTwitterWebsite
Sara Vieira, developer advocate and professional maker of dumb shit, talks through why she does her weird experiments on the internet. Sometimes it is out of need, but honestly a lot of the time it is a random thing that she thinks of or something that someone says that brings up the idea, and she just has to make it. A lot of it is out of boredom, and also procrastination from other projects that she just doesn't want to do. Sara calls herself a lazy developer, but that doesn't mean she isn't working. She finds simpler solutions that involve less coding and also avoids things that aren't necessarily interesting or fun for her to do, like CSS or writing her talk for a conference... A part of being a lazy developer is using the right tool for the job. GraphQL and Redux have an almost cult-like following, but for small apps, their solutions for state management and fetching data are complete overkill.Netlify and Zeit's Now are great for deploying your projects, they allow you to get your unique dumb-shit out there quickly. There was this period where services were all focusing on scalability, but it wasn't easy to just throw your wacky side-projects out on the internet. Sara is organizing the conference ReactJS Girls which will be happening in London on May 3rd, 2019. It started last year while Sara was living in London. She hosted a meetup where all the speakers would be women, but everyone was welcome to attend as a guest. Organizing it this way had multiple benefits, it acted as a filter for the dicks who wouldn't want to learn from women, and it empowered first-time speakers who'd otherwise feel imposter syndrome or fear of judgment. Transcript"Making Dumb Stuff That Makes Strangers on the Internet Smile - with Sara Vieira" TranscriptResources:ReactJS Girls ConferenceReactJS Girls Twittermeme.iamsaravieira.comdan.churchawesometalks.partySara Vieira:TwitterWebsiteGitHubMediumJoel HooksTwitterWebsite
Today we are joined by Ali Spittel, a Software Engineer and Developer Advocate at dev.to, who speaks with us about:The skills she gained from a developer teaching jobHow she kept up on her coding skills without writting production code by doing daily code challengesWhy she began to blog and how she made a habit out of itBlogging on a platform vs having your own websiteUsing visual feedback to teach beginners to codeInvolving herself in the local developer communityTranscript"Developing Yourself While Teaching Others - with Ali Spittel" TranscriptResources:dev.toAli Spittel:TwitterAli on dev.toalispit.telJoel HooksTwitterWebsite
Today we are joined by Chris Biscardi where we discuss:Learning in public and him live-streaming open-source developmentGatsby as a PWA generator and its potential to become the dominant force on the internetMDX's power and its potential of replacing markdown as the default content typeChris' project, MNTNR, and the assistance it'll provide to open-source maintainers.Transcript"The Changes Gatsby and Mdx Are Making to the Internet - with Chris Biscardi" TranscriptResources:MNTNR Systems TwitterChris Biscardi:Twitterchristopherbiscardi.comJoel HooksTwitterWebsite
Lindsey Kopacz, web-developer and accessibility blogger, joins us today to discuss:The positives that being authentic and public with your emotional state provides.Her blog and the excellent dev.to communityThe business value of accessibilityAccessibility in a sense that isn't limited to people with physical disabilitiesTranscript"Championing a11y and Being Authentic - with Lindsey Kopacz" TranscriptResources:dev.toLindsey Kopacz:Twittera11ywithlindsey.comJoel HooksTwitterWebsite
Tae'lur Alexis, self taught programmer and founder of CodeEveryday, talks to us about:Figuring out that software was what she wanted to doLearning to code from scratch on the modern web.How front-end development was appealing as a beginner due to visual feedback and opportunity to be creativeHow social media was key to her success in landing a job as a self-taught developerThe CodeNewbie and 100DaysOfCode communities on twitter and the roles they play in supporting developersSetting up realistic habits and goals to prevent burnoutWhat the interview process was like for a new-commer to the industryTranscript"Learning to Code from Scratch on the Modern Web with Tae'lur Alexis" TranscriptResources:freeCodeCampColt Steele on UdemyCodeNewbie100DaysOfCode ChallengeTae'lur Alexis:TwitterCodeEveryday TwitterJoel HooksTwitterWebsite
Josh Doody, the author of Fearless Salary Negotiation, joins us today to discuss:What you need to look out for to stay ahead in the industryHow to find leverage despite the information asymmetry between the employer and the job candidateWhy questions on what your current salary is or what you'd like it to be boxes you out of opportunitiesThe best way to put in the work towards a promotion.Tradeoffs of working for a startup versus a big tech companyEquity in the salary negotiation, and how it weighs in.Transcript"Negotiating Your Salary and Advancing Your Career with Josh Doody" TranscriptResources:Fearless Salary Negotiation CoachingFearless Salary Negotiation BookThe Dreaded Salary QuestionSoftware Developers: How to get a RaiseSalary Negotiation GuideSalary Negotiation for Software Developers egghead TalkJosh Doody:TwitterLinkedInWebsiteJoel HooksTwitterWebsite
Tania Rascia works as a web developer full time. However, just a few years ago she was working as a professional chef. How and why did she make such a dramatic career switch? It isn't uncommon for culinary professionals to realize that they don't want to spend the rest of their life doing it. It is a very demanding job and isn't sustainable if passion isn't there.So, having always been interested in computers and making websites, Tania decided to make the transition into programming as a profession. Starting with one-off small odd jobs on Craigslist, then an internship, and then a full-time web developer! There were a lot of skills and concepts that had to be learned in those three years, especially starting from near zero.Sharing what she learned publically played an essential role in Tania's development. It's like writing documentation for herself, but everyone who read her posts got to benefit from it too. Tania also places a lot of importance in creating your own version of something to fully understand it. For instance, she didn't understand how bootstrap worked, so she experimented and worked on creating her own dynamic CSS grid framework to achieve that more in-depth understanding.Transcript"Switching Careers and Learning in Public with Tania Rascia" TranscriptResources:Getting Started with ReactDerek SiversA Smarter Way to Learn JavaScriptYou Don't Know JavaScriptTania Rascia:TwitterWebsiteGithubJoel Hooks:TwitterWebsite
Today Angie Jones, a master inventor and automated testing engineer, speaks with us about what a master inventor is and what it took to receive that title, what testing automation is, having parallel between testers and developers, what developers can be doing to build more testable apps, and finally how modern web development has complicated automated testing.Angie talks about some common problems when it comes to testing. The test team is often separate from the developer team, and it leads to communication problems. Testers should be working in parallel with the dev team to ensure that from the get-go they are writing a testable app!Another common problem is that 100% test coverage gets pushed. However, that's the wrong idea. Automated testing is expensive to implement, so Angie talks about how she figures out what'll give the most "bang for your buck" when deciding what tests get automated.Apps aren't as simple as they used to be, and thicker client-side UIs have made it much harder to implement automated tests. Automated Engineer is a fully fledged development position requiring skill across platforms, which is why Angie says that developers shouldn't be leading automated testing. There is a lot that automated testers have to do and separate skills that they need to develop. There's only so much a person can keep up on at once.Transcript"Incorporating Testers with Every Development Phase with Angie Jones" TranscriptResources:Level up: playing the automation gameBartle taxonomy of player typesWhy Developers Should Not Lead Your Automation EffortsWhich Tests Should We AutomateAngie Jones:TwitterGithubWebsiteYouTubeJoel HooksTwitterWebsite
Diana Rodriguez, Worldwide Community Organizer for the Vue Vixens Initiative, joins us today to talk about her early experiences with development as a child, her transition into a becoming a full-time professional and her work with getting women from communities all over the world involved with programming!In the days of yore, gathering programming knowledge wasn't easy, the community was exclusive, and the books were expensive. The only ways to learn were through college, expensive books, or a cool friend willing to give you some information. Despite these difficulties Diana managed to be involved with the Java community, she also had the support of her parents who bought her books. Eventually, Diana's skills grew, and she would put herself out there taking programming gigs. However, it wasn't until six years ago that she decided to go full time.Eventually, she became jaded with backend work and was craving something new, that's when she discovered Vue and its excellent and welcoming community. This community was much unlike the Java community back in the day, and Diana is working to be a part of that push for inclusivity full-force through Vue Vixens. Diana works to open and grow chapters all over the world.Diana talks about her recent work in South America and how the dev community was exploding, it was almost overwhelming! There were women from ages 13-72 at the meetup that the Vue Vixens organized in Argentina, the event even had to be split up over two days because there were so many people. Being careful of tunnel vision and thinking about these communities of people from foreign countries, women, and other underrepresented people in the tech and welcoming them can have a substantial positive impact.Transcript"Opening Programming's Gates to Women's Communities with Diana Rodriguez" TranscriptResources:Vue VixensDiana Rodriguez:TwitterWebsiteJoel HooksTwitterWebsite
Julia Evans, is a zine author and software engineer at Stripe. She joins us to talk about teaching specifics as opposed to high-level overviews, using zines to show that things that sound hard aren't hard in practice, the longevity of Julia's zine empire, and the impact that monetizing her zines had on her audience and the way she approaches working on them.Julia writes zines, short tutorials in comic form for software developers. She recently starting monetizing them, it had an impact on her audience but not as much as you would think. Monetizing even had the unforeseen side effect of her zines getting taken more seriously, a college professor even made then required reading in his class.She tries to keep the zines focused, with the topics breaking down something very particular. High levels talks often have the problem of not imparting anything useful. The specificity respects people's time and also can give greater context than a high-level overview. It's also much easier to be motivated to start a twenty-page zine as opposed to a three-hundred-page book.Julia has many ideas for her zine empire. She wants to continue to collaborate with other developers so she can deliver content that isn't entirely in her wheelhouse. She also wants to start getting into some non-programming concepts, statistics in particular at some point. The possibilities with the medium are pretty much endless.Transcript"Exploring Concepts and Teaching Using Focused Zines with Julia Evans" TranscriptResources:Wizard ZinesJulia Evans:TwitterGithubWebsiteJoel HooksTwitterWebsite
Joel and Brian Lonsdorf discuss the pain and growth of learning, math as a source of truth, dispelling that idea that you need to be a wizard to enter the functional programming space, and finally how you can start including functional concepts in your day to day work.There's a reason that mathematicians tend to be the best functional programmers. The theories and patterns directly apply, it has truth and purity. It's powerful, almost powerful enough to describe everything, so what makes people turn away from it?Traditionally, math gets taught in a dry manner from a young age, tables are memorized, and facts get drilled. It isn't until much later that interesting concepts like set theory get introduced, and at that point, it's too late for many people.Material that's "dry" doesn't have to be taught that way. It's been three and a half years since Brian first put Professor's Frisby's guide up on Github and it brought light and friendly perspective to heavy material. It showed that the functional programming paradigm was learnable without requiring a deep dive into Haskell.The deep dive doesn't work for everyone. There's merit in starting with something like Gatsby and just getting something out there that you can play with immediately, and then later learn the fundamentals of Javascript. The same thing applies to learning functional programming. You can start composing with Lodash and ease into the deeper patterns and concepts.Transcript"Math and Functional Programming Aren't Exclusive to Wizards with Brian Lonsdorf" TranscriptResources:Professor Frisby's Mostly Adequate Guide to Functional ProgrammingProfessor Frisby Introduces Composable Functional JavaScriptFunctional Composition with LodashState Monad in JavaScriptBrian Lonsdorf:GithubTwitterMediumJoel Hooks:TwitterWebsite
Today we are joined by Jem Young, a senior software engineer over at Netflix. Jem is here to discuss his programming philosophy and how it is an extension of himself, how engineers should have the freedom to have ideas and veto things, the difference passion makes, and being informed about the libraries that you include in your code and if they are actually needed.Netflix's homepage got 50% faster when Today Edwards had the idea of not shipping React to the client. All event handling was done with vanilla javascript and React remained on the server side. Finding this balance of developer productivity and performance is important. Jem talks about how you should really examine the reasons why you are including a library in your codebase, and to ask yourself if it could be implemented in a simpler way with what you already have.Jem discusses what it means to love the work you do and to have a real passion for creating software. Passion makes a difference in a developer's career path, the devs who are just looking to make a paycheck and don't really care don't end up in the same place that those who really care about their work do. Jem is curious, he experiments with software on his weekends, he'll sometimes wake up at 1am with the solution to a bug he's been thinking about all day, software is an integral part of his life beyond it just being how he puts food on the table.Transcript"Being a Passionate and Deliberate Engineer with Jem Young" TranscriptTopics:Trusting your engineers to know what they are doingWeighing the performance costs of included librariesThe difference that real passion for software makesHow programming is like solving a puzzleHow the code you write represents youJem Young:GithubTwitterWebsiteJohn Lindquist:TwitterWebsite
Keith Peters joins us today to talk about his experiences with experimenting with code and math, the transition from Flash to Go, woodworking and blacksmithing, and getting books published.Keith talks to us a bit about multi trochoids; they're what happens when you take a circle and roll it around something, like a spirograph. He was inspired to do this project by Sodaplay, a site back in the flash days that had stuff you could hook up to various engines.What language did Keith use to write his multi trochoid experiments? Initially, Keith wrote it in Go, but he wanted to put it out on the web and make it interactive, so he ported it to Javascript.Back in the 90s Keith worked with Flash, when Flash left he moved over to Javascript and using the html5 canvas. Javascript is great if you want it live on the web but for still images and animations it was a pain in the neck, so Keith tried out Rust, Python, and finally settling on Go.Keith is into some non-coding hobbies like woodworking and knife making, Joel has even bought some of his knives. It started when Keith wanted to build an arcade cabinet, he bought tools and got into learning how to use them. Keith has found a lot of crossover with working with his hands and building things with code, both of them can be boiled down to learning a technology to create things and solve problems.Finally, Keith explains the pros and cons of going through a publisher to get your book out. He says that self-publishing is easier than ever, but a publisher provides you with a lot of assistance with editing, marketing, artwork, and a healthy dose of pressure.Transcript"Learning and Experimenting with Physical and Digital Mediums with Keith Peters" TranscriptResources:Trochoid Experimentsplayingwithchaos.netKeith Peters:TwitterGithubWebsiteJohn Lindquist:TwitterWebsite
Dave Smith is on the Alexa Team at Amazon, he hosts the Soft Skills Engineering podcast and headed up the recent Utah JS Conference.Recently Dave asked on Twitter "on a scale of 1 - 10 in difficulty how would you rate the task of writing a function that iterates over a list of strings and returns the top 10?" This sparked up a lot of good, and most people rated it a 2-3 until people started asking "wait, is this question in an interview context? In that case, it's a solid 10." Dave talks about how the external stresses of an interview can turn even a "simple" question into a very stressful and challenging experience.The topic of interview "red flags" comes up, and Dave explains how the biggest one is refusing to answer a question. He says that even if you don't have an answer to something try to follow up with more questions and have humility, you are there to present yourself. Dave also says not to make up or guess at something if you don't know the answer, try to ask them to rephrase the question and give the angle of your own understanding.Dave has his own excellent podcast with his co-host Jamison Dance called Soft Skills Engineering, check it out in the link below.Transcript"Success and Failure in the Interview Process with Dave Smith" TranscriptResources:Soft Skills Engineering PodcastUtah JS ConferenceDave Smith:LinkedInGithubTwitterMediumJohn Lindquist:TwitterWebsite
Today we are joined by Eve Porcello, who teaches Javascript, React, and GraphQL with Moon Highway. She is also the author of the books Learning React and Learning GraphQL.Eve explains her process in preparing her conference presentations and how she uses techniques she learned in her theatre and improv background to really bring something professional and engaging to the stage.Why is GraphQL blowing up recently? Eve says she believes it's because people realize that are a lot of clients that need data and they only need to load the smallest amount of data that's necessary.Everyone always says to have a project app to learn something new but what do you even build if you have "no good ideas"? Eve talks about what makes a good learning project. Keep the scope really small. Some variant of a to-do app is a great project.Finally, Eve talks about her work with the High Fives Foundation. High Fives works with injured extreme sports athletes to help them pay for the high health care costs of an injury.Transcript"Eve Porcello on GraphQL" TranscriptResources:Moon HighwayEve Porcello - Everything You Need to Know About GraphQL in 3 ComponentsLearning GraphQLGatsbyHigh Fives FoundationEve Porcello:GithubTwitterMediumO'ReillyJoel Hooks:TwitterWebsite
Jason Lengstorf is a developer on the GatsbyJS team.Jason didn't start his career even remotely in the tech field. He was a musician.Jason's band didn't have much money, so he learned design to make merch, learned some markup to edit their myspace, eventually learned to build a website for them, then learned backend so his bandmates could upload images and post things.Jason talks about Gatsby's plans to compete with the more seamless WordPress model. He also talks about gatsby's differences from WordPress and the use cases for each service.One of Gatsby's strengths is how good it is for learning Javascript and React, you can quickly go from the command line to getting stuff on the screen in two minutes, much like create-react-app, the differences is that with Gatsby you get a data layer and a good deployment story.Finally, they talk about what it's like to manage a repo that has 964 contributors, 5500 commits, and 936 issues. It was more chaotic in the early days, but they have brought on some people who are helping manage it and are defining better processes.If you are interested in learning Gatsby, they have recently put much work into revamping their official tutorials.Check them out hereTranscript"Jason Lengstorf on GatsbyJS" TranscriptTopics:His early musical aspirations that lead to his career as a developerGatsby's goals in creating an agnostic unified data layer.The differences between Gatsby and other static site generatorsGatsby 2 and its many performance upgradesManaging a large and active repositoryResources:GatsbyGatsby on TwitterGatsby TutorialsNetlifyJason Lengstorf:WebsiteTwitterGithubJohn Lindquist:TwitterWebsite