
Sign up to save your podcasts
Or


Today’s episode of the Dev Ed podcast is joined by Tyler Legget, a structural engineering major working in the construction field primarily, and also on a number of side projects including property development, designing and building homes, co-founder of a company that made software for cycling race management. He also worked as a Product Manager on a platform that managed complex inventory of wood products. He then got involved in ng-conf, which spawned into an event management company called Zero Slope Events which he manages currently. Zero Slope Events provides event planning for conferences such as ng-conf, React conf and so on.
After listening to Tyler’s diverse background where coding had been only a partial activity, Joe asks what made him not go into full-fledged software development. Tyler answers that while he enjoyed different aspects and the variety of it, he never felt like making a career out of it. To determine if software development may not be a good career, it needs to be tried first, one has to see if it fits their skillset and work ethic. The panelists also share that it is very important to enjoy the task at hand, be able to fully immerse into the work and not keep waiting for the day to get over. Even though the public notion is that developers get paid really well, salary should not be the only criteria for a career switch, it is basically like setting yourself up for a lifelong disappointment or even failure. The good news, however, is that you can always go back to what you were doing if you do not enjoy it. Job shadowing is a good idea to closely see the day-to-day workings of the job and make an informed decision.
They then discuss if there are any situations where programming languages have proved to be extremely beneficial to the job. They give examples of Microsoft Excel, Microsoft Access where they were able to do awesome things and automate stuff, which piqued their interest in programming in general, and was also helpful to other team members as well, which can eventually foray into development. Teaching can also lead up to becoming a developer, through situations such as involving the search for good materials. Problem-solving is a great way to get into it as well, as are hobbies involving building or customizing things.
The panelists discuss tools that help in programming, automate or organizing things while working. They recommend some great ones like the Office suite, Glitch, CMS systems, Webflow, If This Then That (IFTTT), Zapier, StackBlitz, Google docs, YouTube, Airtable and Stack Overflow.
They then move onto talking about techniques to help out developers when they get stuck on something on the job and there is no one to turn to, during which they suggest a basic google search, YouTube videos, Stack Overflow, and Twitter channels. When trying to get better at programming, not just for fun but in a task-focused manner, some effective resources can be reading books including but not limited to the Dummies series, YouTube tutorials and Meetup groups.
Speaking on finding platforms to work with custom applications, Shopify, WordPress, Google pages, can be of great help if working on your own. As the applications get more complex, it can be advantageous to hire a professional. Finally, in terms of hiring expenses, do not compromise on quality, make sure the requirements are clear and really know what the person can offer.
Joe Eames
Brooke Avery
Jesse Sanders
Preston Lamb
Luis Hernandez
Joined by special guest: Tyler Leggett
Thinkster.io
Adventures in .NET - Devchat.tv
Adventures in Angular - Devchat.tv
CacheFly
Zero Slope Events
Glitch
Webflow
IFTTT
Zapier
StackBlitz
Airtable
Stack Overflow
Jesse Sanders:
Nebo
Preston Lamb:
Our Fake History podcast
Luis Hernandez:
unDraw
Brooke Avery:
Webflow
Star Wars: Galaxy Edge - Disney Parks
Tyler Leggett:
Reply All
In this episode of the Dev Ed podcast, the panelists talk to Joe Skeen. Joe is a Developer and a Mentor, who started tinkering with computers since childhood and later taught himself web languages. After getting into University, he started working with strongly typed languages as well. He gives a brief background of himself and his work and shares his Angular journey.
The panel discusses the most effective steps involved in mentoring a brand new developer who is just starting out. The first thing that can be done is to hone any skills the developers already possess through their previous line of work or education so as to ensure a smooth transition into a new environment. Another idea is giving them relevant and meaningful things to practice which are needed for the job or the project rather than something vague or generic. They need to feel motivated and connected to the things they are learning. Another piece of advice is, as a mentor, make sure to be there for them, keep the commitment strong, don’t leave things unfinished and do not quit in the middle. As they are putting in a lot of effort into being a good developer, it is very important that the mentor puts in consistent effort as well. Give them constructive feedback.
Practicing is the best way to learn something extremely well. Building apps and personal projects is a great way to put things into practice, leading to more and more learning in the process, so recommending beginner developers to create something based on the theoretical knowledge gained can be an effective suggestion. From the beginning, bringing them to meetings even though things are going above their head, keeping them actively involved thereby creating a feeling of belonging and being included, and making sure that they are aware that the team works interdependently, are crucial to boosting their motivation and self-confidence as well.
They then discuss the differences between mentoring someone in a work environment versus mentoring a friend. In the professional sense, there tends to be more motivation since they are getting paid for learning or doing the job. But on a personal level, this gets harder as it is easy to give up and thus the responsibility of continuing falls on the mentors. Pair programming is a great technique to understand things through the process of working with someone.
In the context of dealing with people who carry the attitude that they know more than the mentors, the panelists state that there is no need for mentoring as it simply cannot be done. It is important to have a conversation to make things clear and understand what is required from everyone involved. It helps to get to know the person better in this case, and respect and humility should be both ways. Making them comfortable, having open discussions on any mistakes and failures faced along the way, removing embarrassment around these topics and stressing on the fact that it is ok to not know something, giving them opportunities to share what they have learned before, are some of the remedial actions that can be taken while dealing with seemingly difficult individuals.
Shedding light on the other side of things, they talk about dealing with developers who feel discouraged and helpless given that they are new to the workplace and everyone else seems to know more than them. They discuss giving them confidence so that they are capable of handling stuff on their own, accepting them as major contributors from the get-go, believing in them, repeating things if they don’t understand something, making sure to not overwhelm them, and giving positive feedback and achievable goals, making yourself vulnerable to them so that they can relate to it. The bottom line is no one is an expert and everyone is learning just like them.
While talking about dealing with developers who write bad code, panelists mention pair programming, learning how to do things the right way from industry experts, teaching by example, having formal code reviews, and maintaining a balance between criticism and appreciation. They end the show on the note that the relationship between the mentor and mentee is the most important part of mentoring.
Joe Eames
Brooke Avery
Luis Hernandez
Joined by special guest: Joe Skeen
Thinkster.io
Adventures in DevOps - Devchat.tv
My Angular Story - Devchat.tv
CacheFly
Joe’s Twitter
Joe on Medium
Luis Hernandez:
The Pragmatic Programmer, 20th Anniversary Edition
Brooke Avery:
Magic Jigsaw Puzzles
Joe Eames:
Netlify
Deploying Apps to Netlify
Joe Skeen:
Dominion Companion
Dominion Companion Randomizer
In this episode of the Dev Ed podcast, the panelists talk to Nell Shamrell-Harrington, Principal Engineer at Chef Software. Nell introduces herself and gives a brief background about her software development journey so far and talks about how she started working with DevOps. She is also a co-host of the Adventures in DevOps podcast on Devchat.tv.
The meaning of the term DevOps can be quite cloudy, so before discussing learning DevOps, they talk about what it actually means and how it differs from traditional development. Nell breaks down the term and describes in detail the approach of merging developers and operational professionals. Joe highlights the cultural aspect of DevOps and how it plays into the way of working. Nell explains the right way of organizing teams, the internal interactions among them, accountability, and some of the dos and don'ts involved.
Other panelists chime in with their views on the DevOps culture as well. They discuss the best practices, challenges faced, eliminating silo and sharing responsibility. They tackle the question of how to encourage seamless communication among teams and avoid conflicts. Nell explains that what works well in these cases instead of getting everyone together leading to chaos and blame games, is selecting representatives from both development and operations and ironing out the miscommunication.
The next topic of discussion is why should a beginner developer care about DevOps at all. As applications become more complex, the need arises to think about their underlying infrastructure in order to optimize them and it is beneficial to have an idea of where they might be deployed. As a developer progresses from the beginning stages to advanced ones, it is natural to know about the deployment environment, data centres, and DevOps concepts in general. Due to advancements in technology, these areas have become very accessible as well.
They steer the discussion towards what parts of DevOps should one focus on while getting started, given that there are a plethora of tools and technologies involved. Nell advises listeners to pick any major cloud provider and learn the basics by working with it, which can later be applied to any other cloud provider. She also recommends learning programming languages to get a good software development foundation. Sam shares his own experience with Digital Ocean and highly recommends their learning materials. Mike and Jesse suggest understanding how Continuous Integration works and mention that it is a great starting point. Mike points out that knowing that there are multiple environments at play - staging, production, testing and so on, helps a great deal.
Speaking about Docker, Nell says that while it is an amazing technology which made containers extremely usable on a large scale, it is not a good idea to run the entire infrastructure on just containers, given that containers can be very ephemeral and there is a risk of losing data. For learning purposes though, she recommends Docker as it runs well on local environments. She explains what Chef is and the difference between Docker and Chef.
The panelists then describe what Netlify is, how it works, and how good it is from the learning perspective. They then talk about some great resources for beginners to start with, Nell recommends Kubernetes, and explains what it means to orchestrate containers. Sam talks about Bruno Krebs' Kubernetes tutorial and Thinkster's Docker courses as awesome learning materials. They end the show with picks.
Joe Eames
Sam Julien
Jesse Sanders
Luis Hernandez
Mike Dane
Joined by special guest: Nell Shamrell-Harrington
Thinkster.io
Sustain Our Software - Devchat.tv
My Ruby Story - Devchat.tv
CacheFly
Nell's Twitter
Adventures in DevOps
The Phoenix Project
Digital Ocean
The Illustrated Children’s Guide to Kubernetes
Kubernetes Tutorial
Docker Courses - Thinkster.io
Luis Hernandez:
Markdown
Mike Dane:
Day One
Sam Julien:
Ulysses app
Nell Shamrell-Harrington:
Round Health
Jesse Sanders:
In this episode of the Dev Ed podcast, the panelists talk to recurring guest Aspen Payton, who is currently working as a Lead Analyst Programmer at Mayo Clinic, has been in the software industry for about 20 years, and has over 32 granted patents to her name. Joe starts the discussion by giving a background on why he chose to talk about the essential developer skills. He divides the topic into different categories of skills and poses the first question to the panel - what fundamental technical skills should every developer have.
Brooke shares her boot camp experience and stresses the importance of learning basic command-line operations. Sam mentions debugging with console.log in any language in any environment and explains how it can be a savior while troubleshooting all kinds of situations. Luis says that it is important to know how to efficiently use the editor, understand related tools and know how to type faster. Joe agrees and shares a funny anecdote from his initial days as a fast typist. Aspen mentions coding efficiently, reducing duplication and writing reusable code as some of the most essential skills.
The panelists then discuss the pros and cons of AHA (Avoid Hasty Abstractions), the gist of which is to prefer abstraction over duplication and, to remove duplication when it is seen happening more than once. Brooke talks about learning how to solve problems and knowing what resources to use. Luis suggests that while working on different frameworks, it is important to learn the language associated with those frameworks and gives examples to further elaborate his point.
The topic then shifts to languages and if there are any specific languages that developers need to learn. Aspen answers in the negative, saying that logic is the most crucial aspect of programming. Sam agrees, and talks about learning the basics and experimenting with various languages based on developers' requirements and comfort levels. Brooke advises listeners to go for the languages they are passionate about and mentions that they need to focus on learning the right way of thinking more than anything else.
They discuss programming paradigms essential to be a good developer, which are mainly a mix of functional and object-oriented programming concepts. Talking about good software engineering practices, they list problem-solving, debugging, testing, reading documentation and understanding source code written by other developers, effective pair programming, code reviews, software patterns in the later stages of development, and version control systems such as git, as important strengths to have.
The next category spoken about is educational skills. Some of the necessary ones being effective communication, ability to teach others well and convey ideas constructively, ability to pick up new languages and having a smooth transition from the old ones, not giving up and working on problems relentlessly (banging head on the wall!), tenacity, diligence and also, asking for help.
They then list essential personal skills including the ability to work in a team while listening to others' ideas, giving them feedback and taking in criticism as well, time management, people skills, good writing, managing personal time and setting boundaries, humility, and empathy.
They wrap up the episode by discussing organizational skills - organizing code, managing time across the team, being organized while learning something new, and task organization and move on to picks.
Joined by special guest: Aspen Payton
Luis Hernandez:
Brooke Avery:
Sam Julien:
Aspen Payton:
Joe Eames:
Joined by special guest: Dylan Israel
In this episode of the Dev Ed podcast, the panelists talk to Dylan Israel. Dylan is a self-taught software engineer working as a developer and a content creator. His YouTube channel has over 60k subscribers where he aims to help people trying to learn programming on their own. He teaches a course on Thinkster.io called "100 Algorithms Challenge", aimed at developers preparing for technical whiteboard interviews or those wanting regular challenges to improve their skills, and has a collection of the top most commonly asked interview questions on algorithms and data structures.
Joe starts the discussion by throwing the fundamental question to the panel - What is the meaning of the terms "data structures" and "algorithms". Dylan explains that these are fairly common concepts in software development, and traditionally data structures represent the way data is organized and algorithms define how to parse through them while maintaining optimum performance using fewer iterations and reduced time. Others chime in as well and explain these terms using the analogy of building blocks and recipes.
After the basics, they discuss why should one bother learning data structures and algorithms in the first place. The main reasons mentioned are cracking job interviews especially for high paying jobs at large companies, efficient computing, forcing one to think differently and out of the box, studying time and space complexity leading to a better understanding of the software.
Joe mentions that what we learn in a computer science class is rarely used at an actual job, and asks the panel to challenge his statement that learning data structures and algorithms except for clearing job interviews, is inherently a waste of time. Brooke explains that learning about them helps in getting into the right mindset, whereas Dylan says that he has had a chance to use them in certain significant applications on his e-commerce platform, and Jesse adds that they help in honing developer skills to a large extent. Thinking on a level higher than what is expected in order to create efficient solutions, and understanding things well through problem-solving are some of the important takeaways from learning these concepts.
The panelists then discuss some great ways to learn data structures and algorithms. They share their own interesting interview experiences offering insight into what worked for each of them, and suggest books, online resources including courses, and emphasize that practicing a ton of problem-solving on a whiteboard/paper is one of the best ways to go about it. They also mention that recognizing repetitive patterns in problems is a good approach, and using a different language to solve can be beneficial too. They also advise listeners to take into consideration the opportunity cost involved in spending a significant amount of time learning data structures and algorithms, so that they can take an informed decision.
They talk about how much the knowledge of these concepts affects their hiring decisions and what exactly do they look for in candidates. They wrap up the show by each giving one piece of advice to someone preparing for a job - comparing solutions with others and learning from them, consistent attitude, test-driven development, interviewing a lot and researching about the interview as well as the interviewing panel. They end the episode with picks.
Luis Hernandez:
Brooke Avery:
Dylan Israel:
Mike Dane:
Sam Julien:
Jesse Sanders:
Joe Eames:
Joined by special guest: Erik Hanchett
In this episode of the Dev Ed podcast, the panelists talk to Erik Hanchett, a software developer focusing on Vue and Angular, author of Vue.js in Action and Ember.js Cookbook, educator and YouTuber. Erik starts the discussion by stating the benefits of working remotely and others join in with their inputs.They list several important advantages including work freedom, not having to commute, utilizing time well, privacy, less distractions, increased productivity and flexible schedules. They then discuss the downsides of it as well - less social interaction, no particular end time leading to long hours and difficulty in setting boundaries, feeling of being left out and managing different time zones. They also talk about techniques such as resorting to physical activity and proactive networking to combat these downsides.
They then discuss the benefits and drawbacks of remote education. Learning from coworkers easily, productive interactions, collaboration and physical pair-programming could be some of the best parts of being on-site. On the other hand, being forced to solve problems independently and becoming self-reliant can prove to be beneficial when working remotely. They talk about how human contact is essential for learning and how classroom sessions are much more effective and increase retention of information. While speaking from the teachers' perspective, they point out that in case of classroom courses, teachers can customize the topics based on what students want, also, the decreased teacher-student ratio helps to build a good rapport between them leading to a better learning experience. They wrap up the episode by each sharing one tool/tip that has proven to be effective for remote work.
Mike Dane:
We Work Remotely
Luis Hernandez:
Visual Studio Live Share
Sam Julien
Zoom for Slack
Erik Hanchett:
Tuple
Joe Eames:
StackBlitz
Brooke Avery:
Loom
Joined by special guest: Preston Lamb
In this episode of the Dev Ed podcast, the panelists talk to recurring special guest Preston Lamb who is a software developer at MotivHealth. They start the discussion by each explaining how and when the imposter syndrome has affected them in their work. They talk about it being more frequent than generally thought of and how it impacts their confidence and leads to self-doubt. They share their experiences where switching career paths and learning something new tends to become intimidating and hard at times, causing anxiety and resulting in the feeling of not knowing things, especially on stage or while doing something like consulting where you are expected to be an expert.
They discuss which activities are more likely to cause the imposter syndrome - teaching, being around other developers, conferences, getting new jobs and promotions, and also cases where they don't encounter it. They then describe useful strategies to combat it during each of the above mentioned activities and offer great tips for listeners along the way. They end the episode on a hopeful and encouraging note and mention one thing they would like to learn in the near future.
Joe Eames:
Jest
Mike Dane:
Webpack
Sam Julien, Brooke Avery, Jesse Sanders:
CSS
Preston Lamb:
Understanding how the web works
Luis Hernandez:
Regular expressions
CacheFly
Joined by special guest: Mike Brocchi
This episode of the Dev Ed podcast is joined by Mike Brocchi, who is currently working as a Front-End Developer for Ultimate Software, and has done significant work on the Angular CLI in the past. Joe begins the show by asking the panel what reinventing oneself means to them, starting off an interesting discussion. They each talk about some triggers that made them think about changing course in their ongoing professional path or even starting over again. They share their own experiences where they reconsidered their life choices due to certain roadblocks and took necessary actions, ultimately resulting in a fulfilling and happy career. They discuss how comfort works against all of this, and how reinventing does not necessarily have to be a better job or higher salary, it can simply mean choosing something satisfying and challenging.
In the end, the panelists help listeners understand how to comprehend and recognize the need of reinventing themselves, how to go about the process, and different ways and resources that can be used to do so.
Mike's Twitter
Luis Hernandez:
How It Actually Works
Sam Julien:
Standing Desk
Mike Brocchi:
The Umbrella Academy
Brooke Avery:
Star Wars: Jedi Challenges
Joined by special guest: Mike Ryan
In this episode, the panelists talk to Mike Ryan, Software Architect at Synapse, Google Developer Expert, and a core team member of the NgRx team. Joe starts the discussion by elaborating on the topic chosen and explains what constitutes a "problem" in a developer's life. He asks the panel how often do they use classical algorithms in their everyday work. They then steer the discussion from implementing classical algorithms to logical ones, and discuss how they tackle and overcome complex computing challenges that can be very taxing. They talk about a technique called "Rubber Duck programming", how to go about creating a conducive environment for problem solving, and explain the concept of "flow" in software development along with its importance while dealing with issues. They discuss if pair-programming and mob-programming help in problem solving and their benefits.
After discussing problem solving in computing, the panelists change the direction of the conversation towards solving team and process pitfalls. They talk about how important friendships and emotional investments can be, especially when there are challenges at work and Jesse explains a methodology called the Quadrant System. In the end, they speak on handling personal problems as an engineer and offer helpful tips to listeners.
Mike Dane:
Pomodoro Technique
Brooke Avery:
Pomelo Travel
Sam Julien:
Rocket emoji app
Luis Hernandez:
GitHub projects
Mike Ryan:
React for CLIs
Joe Eames:
Stormboard
Joined by special guests: Bonnie Brennan, Samantha Brennan
In this episode of the Dev Ed podcast, the panelists talk to the mother-daughter duo, Bonnie and Samantha Brennan, who have been working on teaching web development to people with learning difficulties and bringing about an awareness in the community. While talking about her background, Samantha explains that she has been programming since she was 8, and realized that she was dyslexic while learning Angular, as it is an abstract framework where a bunch of things happen at the backend. Keeping in mind the struggles faced by dyslexic learners, she, along with her mother Bonnie, decided to start the course — Angular for the Visual Learner, where they use visual methods such as pictures and 3D animation in order to overcome the learning challenges. Further in the show, they discuss how to detect if a person is dyslexic and also do an interesting demonstration of the “Cake test” on Joe, a test which helps in the identification of dyslexia.
The panelists discuss what it actually means to have dyslexia while dispelling some common myths associated with it. Samantha and Bonnie explain what a trigger word means and give details about ng-club, a fun initiative for kids to learn programming, and Blockly, a library for adding drag and drop block coding to an application. They also talk about using these visual tools from the perspective of non-dyslexic people, different learning techniques prevalent today, and the current education system. The panelists then mention some of their own learning challenges, how they overcame those and move on to weekly recommendations.
Bonnie Brennan:
Mike Dane:
Samantha Brennan:
Angular Denver Conference
Brooke Avery:
Kahoot!
Luis Hernandez:
Code Radio
Sam Julien:
Magic Move in Keynote
Joe Eames:
Yesterday - movie
From the publisher's feed