
This episode of the DevEd podcast is joined by special guest Thomas Desmond. Thomas is a software engineer currently working with .NET and Angular, has been a university instructor for three years and has a course coming up on Thinkster.io - Creating an API with ASP.NET Core. He defines ASP.NET, and describes its relation to ASP.NET Core. He explains the process of working with .NET on a Mac, differences between Visual Studio Code and Visual Studio Mac 2019, and the learning curve involved in C# and types languages such as TypeScript.
The panelists share their learning transition from .NET to other languages and frameworks such as Angular, React and vice versa. They talk about the hurdles as well as effective strategies in learning ASP.NET, why is .NET considered to be Microsoft-specific, how does it compare to technologies such as Rails or Node, cloud development, and discuss reasons why bootcamps don't generally focus on learning ASP.NET. They end the show with picks.
Panel
Brooke Avery
Luis Hernandez
Mike Dane
Jesse Sanders
Lukas Ruebbelke
Joined by special guest: Thomas Desmond
Sponsors
Thinkster.io
Ruby Rogues
CacheFly
____________________________________________________________
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!
____________________________________________________________
Links
Thomas's Twitter
Creating a C# ASP.Net Core API - Introduction
Picks
Thomas Desmond:
The Fearless Organization: Creating Psychological Safety in the Workplace for Learning, Innovation, and Growth
Luis Hernandez:
Visual Studio Dev Essentials
ASP.NET
Mike Dane:
Alta 21 Pack
Jesse Sanders:
Taxi Driver
Bike Helmet
Garmin watches
Lukas Ruebbelke:
Ed Motta
Kurt Elling
Brooke Avery:
Noah Kahan - Busyhead
Biteable
The DevEd podcast is produced by Thinkster.io and published by DevChat.TV.
Question #1: What is ASP.NET?
Open source web application framework used to develop and build web apps using .NET.
Question #2: How to use .NET on a Mac?
Use Visual Studio for Mac, good support available.
Question #3: What are some hurdles in learning ASP.NET?
Understanding and reinforcing the idea that there is an API between the application and the server.
Question #4: What are some effective tips while learning .NET?
Do a lot of examples, repetitions, discuss questions with other students.
Dec 10, 2019
48 min

In this episode of the DevEd podcast, the panel discusses Testing and Test Driven Development. They start the conversation by talking about automated testing with the help of unit tests using various tools available. Luis explains the terms regression testing, refactoring, mocking, continuous integration and continuous delivery (CI/CD).
Everyone shares their experience with testing, mainly how and when they started learning automated testing and their journey with it so far. They then dive into the learning aspect of testing including some of the best ways to learn unit testing and give great tips and tools along the way. The next topic discussed is Test Driven Development - the definition, division of the development community into those support the methodology and those who do not, and more importantly, how effective it can be, it's benefits and drawbacks and the comparison between TDD and BDD (Behaviour Driven Development).
They also talk about mocking, how testing can improve the quality of applications, and visual testing. In the end, they each mention their most favourite and least favorite testing tools.
Panel
Joe Eames
Luis Hernandez
Jesse Sanders
Mike Dane
Sam Julien
Sponsors
Thinkster.io
Adventures in Angular
____________________________________________________________
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!
____________________________________________________________
Links
Uncle Bob - TDD
The Magic Tricks of Testing by Sandi Metz
Code Kata
TDD Kata 1 - Roy Osherove
cypress
Jest
SuperTest
Testable
Picks
Mike Dane:
YouTube Music
Luis Hernandez:
Microsoft Whiteboard
Jesse Sanders:
Tile for Keys
Star Wars: The Rise of Skywalker - Final Trailer Easter Eggs
Sam Julien:
Strange Planet - Nathan W. Pyle
Joe Eames:
Stackbit
The DevEd podcast is produced by Thinkster.io and published by DevChat.TV.
Question #1: What is regression and refactoring?
Regression is handling new changes that affect or break legacy code, refactoring is changing the way code is written without changing the functionality.
Question #2: What are ways to learn unit-testing?
Learning by example, practicing using open source codes, studying existing tests from a large codebase, trying to increase code-coverage, writing simple math based tests and Code Katas.
Question #3: What is TDD?
Writing tests before designing the implementation code, red-green-refactor approach - write a test and make it fail (red), write code to make it pass (green) and eventually refactor the code.
Question #4: What is a mock?
Artificially created responses that can be used and controlled by tests.
Nov 26, 2019
54 min

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is available on Amazon. Get your copy here today only for $2.99!
Nov 20, 2019
14 min

In this episode of the DevEd podcast, David Graham - founder and CEO of Code Ninjas, introduces himself, gives a background of how he got into software development, briefly describes his vision that led to the creation of Code Ninjas and the interesting work that goes on there. The company essentially consists of coding centres for kids in multiple locations throughout the US, with cool learning programs catering to several age groups, its main purpose being teaching hands on software development combined with a lot of fun.
The panelists share their views about the current state of programming education in schools, if it is adequate, and what can be done to supplement it. They discuss that it is important to teach kids how to think and how to solve problems rather than relying on memory based learning. They mention ways to get students excited about programming, different learning tools and platforms, and similarities and differences in learning patterns between kids and adult learners.They talk on why should everyone care about coding education for kids, even those who do not have them, and how people can help out in getting youth involved in software development. They also discuss if there is anything they wish had existed to aid learning for young individuals also how it would help them in return. In the end, David explains how can people volunteer for Code Ninjas.
Panel
Brooke Avery
Sam Julien
Mike Dane
Preston Lamb
Joined by speacial guest: David Graham
Sponsors
Thinkster.io
iPhreaks - Devchat.tv
Views on Vue - Devchat.tv
________________________________________________________________________________________________________________________
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood will be out on November 20th on Amazon. Get your copy on that date only for $1.
________________________________________________________________________________________________________________________
Links
Code Ninjas
Code.org
CodeCombat
Picks
Mike Dane:
JBL Clip 3
David Graham:
The Wheel of Time
Preston Lamb:
Disney+
Brooke Avery:
Harry Potter Kano Coding Kit
Sam Julien:
Create Your Own Hacker Nebula with Angular Blockly by Jeff Whelpley & Madelyn Whelpley
Blockly
ng-club
The DevEd podcast is produced by Thinkster.io and published by DevChat.TV.
Nov 12, 2019
51 min

In this episode of the DevEd podcast, Brooke interviews Sam on Gatsby, and Sam's new course on Thinkster.io. Sam works in Developer Relations at Auth0, is a Google Developer Expert for Angular and Web Technologies, and is very passionate about teaching. Sam starts by explaining in detail what Gatsby is and what it is used for. He talks on the performance benefits of Gatsby, its comparison to React in terms of tooling and usage as well as learning, and if there are any tools or technologies needed as prerequisites to use Gatsby. He elaborates on what made him learn Gatsby, how it helped him advance his programming career, and both his favorite and not so favorite aspects of Gatsby. He then talks at length about his course - Up and Running with Gatsby, reasons he chose this topic specifically, the course design, and compelling reasons why people should go for it. In the end, he shares his thoughts on how Gatsby is getting popular and can help speed up development in enterprise companies and large organizations.
Panel
Brooke Avery
Sam Julien
Sponsors
Thinkster.io
Links
Up and Running with Gatsby: Introduction
The DevEd podcast is produced by Thinkster.io and published by DevChat.TV.
Nov 7, 2019
44 min

In this week's episode of the DevEd podcast, the panelists talk on comments in programming. To give a context of the chosen topic, Joe mentions that he sends out regular newsletters to Thinkser.io subscribers related to a variety of concepts, and has recently been sending out some on code smells, in one of which he talks about commenting. He gives an idea of what code smells are, and shares his opinion on using comments. His point of view is that a comment can be looked at as a failure or an inability to express the code functionality or even the technology involved, or is needed to make the code completely readable to other programmers. Comments can become out of date or get replaced.
The other panelists join in the discussion on whether comments are good or bad, and they state that for beginners they can be very useful while not so much for experienced programmers. Too many comments can cause a mess, so they ideally should be used for large complex functions. They are mostly used to specify if refactoring is needed at a later stage, they should explain the "why" instead of "how", and in general the code should ideally be self-sufficient.
They talk about when do they actually like to use comments. If a certain piece of code is doing something unusual or non-obvious or might break the consistency with the rest of the code, then it is imperative to explain why it is written that way. It can also be a good idea to document things for new or junior developers in the team in order to explain what is going on or what should not be done, and also to pair program with them in case things are not clear. Commit messages could be a replacement for comments as well. Comments are also useful when static values and constants such as URLs or UIDs are used in the code, and for explaining specific error mechanisms.
They share great practical advice for programmers who are in the earlier stages of their software development career and have generally been taught to use comments by their professors or mentors. The tips they give include taking time to look through the codebase, checking how and where comments are being used by other developers, refactoring the code to write more readable functions wherever things are unclear, using good naming conventions, trying to write self-documenting code, asking a lot of questions to whoever has written the code including asking the reasons why it is written a certain way, and not being afraid to add comments of your own.
They then discuss some replies to the newsletter sent by Joe about code smells related to the importance of comments in the messy reality of engineering, pros and cons of their usefulness, tradeoff between maintaining self-documented vs heavily documented code. They end the show with picks.
The DevEd podcast is produced by Thinkster.io and published by DevChat.TV.
Panel
Joe Eames
Jesse Sanders
Luis Hernandez
Preston Lamb
Mike Dane
Sponsors
Thinkster.io
The Freelancers' Show
React Round Up
CacheFly
Picks
Luis Hernandez:
Sourcetree
Mike Dane:
Google Fi
Preston Lamb:
Office Ladies podcast
Jesse Sanders:
Tesla cars
Joe Eames:
Gaslands
Question #1: What are code smells?
A pattern that indicates that there may be a problem in the code with a possibility of improvement.
Question #2: When should comments be used?
Comments could be useful for beginners, not so much for experienced folk. Too many comments can cause a mess, so they ideally should be used only for large complex functions. They can be used to specify if refactoring is needed at a later stage, and for explaining the "why" instead of "how".
Question #3: What are some good reasons to use comments?
1. If a certain piece of code is doing something unusual/non-obvious/might break the consistency with the rest of the code. 2. For new or junior developers on the team in order to explain what is going on or what should not be done. 3. When using static values and constants.
Question #4: Tips for new developers regarding comments?
1. Taking time to look through the codebase. 2. Checking how and where comments are being used by other developers. 3. Refactoring the code to write more readable functions wherever things are unclear, using good naming conventions. 4. Trying to write self-documenting code, asking a lot of questions to whoever has written the code including the reasons why it is written a certain way. 5. Not being afraid to add comments of your own.
Oct 29, 2019
55 min

In this episode of the DevEd podcast, Brooke and Preston mainly talk about Netlify, JAMStack (JavaScript, APIs, and Markup) and Preston's new course - Deploying Apps to Netlify. Preston starts with explaining what JAMStack is, why is it popular right now and it's numerous benefits. He talks about the difference between single-page applications and JAM, and how Netlify comes into the whole picture. He answers questions on how to do authentication with Netlify, what is CMS (content management system) in the context of JAMStack, CMS alternatives to Netlify, how Netlify handles dynamic data, serverless functions, Netlify pricing, possible substitutes for it and finally what makes it stand out from the others.
He then talks about what made him choose Netlify as the topic for his course, the authoring process, what the course is all about, and why should developers resort to the courses on Thinkster.io in general.
Panel
Brooke Avery
Preston Lamb
Sponsors
Thinkster.io
Links
Deploying Apps to Netlify
The DevEd podcast is produced by Thinkster.io and published by DevChat.TV.
Oct 24, 2019
32 min

This week's episode of the DevEd podcast is joined by Hudson Baker. Hudson has been a developer for five years now, specializing in Angular, and is currently working at BrieBug Software.
The panel kickstarts the episode by answering the basic question - What is Gatsby? Sam explains that it is a static site generator which means that it takes in data and converts that into static files that can be hosted on any server. It has a lot of tooling and build process stuff built-in, and uses modern javascript concepts along with GraphQL to build fast-performance static sites. It is also a part of JAMStack.
Speaking on what languages and technologies it is based on, Sam elaborates that Gatsby is built with React, the build process is webpack, the content can be written in markdown or any outside sources, and data querying is done using GraphQL. The next topic of discussion is static sites. They talk at length about what static sites are, if they can be written without a static site generator, the difference between Gatsby and other frameworks such as Angular and React, what makes the sites static, how to identify them, and how to make a clear distinction between static and dynamic sites.
Next, they discuss that Gatsby can be a good starting point for people interested in learning React because it has a plethora of cool inbuilt tools, plugins and pre-packaged templates which can make the learning process easier, rather than starting to learn React from scratch. From a teaching perspective, React is a better choice if the goal is to teach web applications, whereas Gatsby is good for teaching how to build websites.
They talk about the difference between Gatsby and server-side rendering frameworks such as Next.js. Luis explains that in server-side rendering, there is data on one side and template on the other, and each time a request is made to the server, the data and template are assembled on the fly and not at build time. On the contrary, in case of Gatsby, this is done at build time, so everything that is sent from the server is basically pre-calculated. Talking about performance considerations, he says that in server-side rendering there is a price to pay in terms of just-in-time calculations. Sam also chimes in with his views on the comparison and mentions that they are really close performance-wise and feature-wise.
They then move on to discussing the learning aspect of Gatsby. Sam explains that if developers possess some knowledge about things like React, GraphQL, CSS in JS, etc., it can be easy to get fast results with Gatsby, however, it is still possible to secure some quick wins by using a simple starter project as a template and building on it. He then talks about the best use of Gatsby being in content-based sites, portfolios, product sales pages and so on.
Joe asks how does Gatsby deal with adding other aspects on top of it, to which Sam answers that there may be some tweaking needed to get things done, but overall it works well given that there are a ton of plugins available to get things from external resources. Joe talks about learning GraphQL, and Sam explains how much of it is used in Gatsby. He talks about the positives of Gatsby documentation and the developer community. They end the show with picks.
The DevEd podcast is produced by Thinkster.io and published by DevChat.TV.
Panel
Joe Eames
Brooke Avery
Sam Julien
Jesse Sanders
Mike Dane
Luis Hernandez
Joined by special guest: Hudson Baker
Sponsors
Thinkster.io
Adventures in .NET - Devchat.tv
Elixir Mix
CacheFly
Links
Hudson's Twitter
Comparison of Gatsby vs Next.js
Picks
Luis Hernandez:
Focused and Diffuse: Two Modes of Thinking
Mike Dane:
Splitwise
Jesse Sanders:
Grumpy Cat :(
DuckDuckGo
Hudson Baker:
Storybook
Keep Talking and Nobody Explodes
Brooke Avery:
Star Wars Pinball
Sam Julien:
Overcooked!
Joe Eames:
Claudia.js
What is Gatsby?
It is a static site generator that takes in data and converts it into static files that can be hosted on any server. It has a lot of tooling and build process stuff built-in, and uses modern javascript concepts along with GraphQL to build fast-performance static sites.
What languages and technologies is Gatsby based on?
Gatsby is built with React, the build process is webpack, the content can be written in markdown or any outside sources, and data querying is done with GraphQL.
What is the difference between Gatsby and server-side rendering frameworks such as Next.js?
In server-side rendering, there is data on one side and template on the other, and each time a request is made to the server, the data and template are assembled on the fly and not at build time. On the contrary, in case of Gatsby, this is done at build time, so everything that is sent from the server is pre-calculated.
How does Gatsby deal with adding extra aspects on top of the basic functionality?
There may be some tweaking required to get things done, but overall it works well given that there are a ton of plugins available to get things from external resources.
Oct 22, 2019
46 min

In this week's episode of the DevEd podcast, the panelists talk to Tara Z. Manicsic. Tara is an Angular Developer Experience Engineer at Netlify, a blogger, and loves to work in her community educating and learning from other developers. The topic for this episode is work-life balance with an emphasis on balancing learning as a programmer.
The first thing they discuss is if programmers are good at balancing work-life. The general consensus is that they aren't, but mostly because they love their job, and it is also always fun to learn newer technologies and concepts. They talk about hackations and coding in beautiful environments away from their regular desks.
They talk about some strategies to maintain a good work-life balance especially in high-pressure scenarios where the work seems to never get over. They suggest time management, blocking off hours and segregating them into strictly work and non-work periods. Tara mentions working non-traditional hours while having an infant at home, while Brooke explains how to schedule things beforehand so that knowing the tasks ahead of time helps in managing them effectively. Others chip in with their suggestions as well. Tara also speaks on the importance of having a good manager with realistic expectations.
They then touch on work-life balance from the perspective of managers too, where they advise them to make sure that their employees work reasonable hours, check in with them regularly and encourage them to take personal time off for their own mental health. They share their experiences related to death marches and the stress associated with it. They mention that while working as a junior developer in a high pressure environment that is hard to keep up with, it can be hard to change jobs. To deal with these kind of situations, they talk about how important it is to like the work being done, and if it is not something enjoyable, it is time to start looking for something completely different or take some time to unwind. Trying to do interesting things such as reading books, listening to music or podcasts at work during lunchtime, or while commuting, can also help in thriving in such environments.
The next point discussed is how to deal with the need to learn along with working at a regular job and still manage to maintain a balance. Consuming relevant content in the background while going about our day-to-day chores, not underestimating the learning done on the job, carving out time for self development during work hours, writing regular blog posts of things learned which can eventually lead to an awesome portfolio, are some great recommendations.
The last thing the panelists talk about is organizational tools for an awesome work-learn-life balance. They suggest Toggle, Asana, OmniFocus and Calendar. Luis mentions that given that we are constantly bombarded with information, it can be beneficial to sift through that, remove the unnecessary noise and concentrate on what is needed to free up significant amount of time. Joe recommends using a bullet journal, being physical and tactile while organising rather than digital, and Mike suggests switching the airplane mode on, among other things. Tara and Sam talk about meditation and mindfulness. They end the show with picks.
The Dev Ed podcast is produced by Thinkster.io and published by DevChat.TV.
Panel
Joe Eames
Brooke Avery
Sam Julien
Luis Hernandez
Mike Dane
Joined by special guest: Tara Z. Manicsic
Sponsors
Thinkster.io
Adventures in DevOps - Devchat.tv
The Freelancers Show
CacheFly
Links
Tara's Twitter
Picks
Joe Eames:
Beginner's Guide to Bullet Journaling | How to Start a Bullet Journal
Boho Berry Bullet Journal introduction
Tara Z. Manicsic:
Check out the local children's museums
JAMstack conf
Mike Dane:
LingQ
Brooke Avery:
Sporcle
Star Wars Myths & Fables
Luis Hernandez:
Rework
Getting Things Done
Sam Julien:
The Great British Bake Off
How to maintain a great work-life balance, as an employee?
Good time management, blocking off hours and segregating them into strictly work and non-work periods, scheduling tasks ahead of time.
How to maintain a great work-life balance, as a manager?
Making sure that employees work reasonable hours, checking in with them regularly and encouraging them to take personal time off for their own mental health.
How to maintain a great work-learn-life balance?
Consuming relevant content in the background while going about our day-to-day chores, not underestimating the learning done on the job, carving out time for self development during work hours, writing blog posts of things learned eventually leading to an awesome portfolio.
What are some organizational tools to maintain work-life balance?
Toggle, Asana, OmniFocus, Calendar, Bullet journals, Meditation
Oct 15, 2019
55 min

Dillon Kearns is an Elm consultant who provides coaching and training to help people accelerate the way they write Elm to keep their codebases maintainable as they grow. He's the author of elm-graphql, and recently announced a new static site framework, elm-pages.
Today the panel is discussing how building libraries and frameworks can aide with the learning process. Dillon talks about how building frameworks and working with languages has helped him. He uses them as a laboratory to learn new techniques. When working on a library or framework, he always tries to bring his best programming self to that project.He believes that libraries and frameworks are a low risk way to practice your skills because they’re unlikely to get adopted when you’re starting out.
The panel defines what libraries and frameworks are and how they differ from one another. Libraries and frameworks are a type of project, with a library solving a specific class of problems. A framework is plugable and can be extended to solve problems that a framework author may not have imagined, though it does a set of core things. A library is something you put into your existing code base, a framework is the core you’re building on top of. They talk about an article, The Difference Between a Library and a Framework, that compares a library to a trip to Ikea when you already have a home, but you need to fill it with furniture, and a framework to building a home.
Next they talk about how libraries and frameworks are built and who builds them. Both are often built in open source, and some are funded by big companies while some are passion projects. They talk about the libraries that they’ve created and how it helped them to become a better developer. When Preston Lamb builds libraries, he learns how to do things he’s never done before. He doesn’t have a huge user base, but he finds it fun to sit down and have an idea, figure out how to do it, and make it reusable. Jesse Sanders talks about the company Rebug, and how somebody gave him the idea to write it as a schematic. Making libraries and frameworks is a continual way for developers to take a look at situations they don’t come across a lot and put them in a different mindset to make things truly reusable so that it can be adopted by others in the community. Dillon has found that making Elm GraphQL has given him the chance to be involved in very interesting conversations in the community. Creating a library or framework gives you the opportunity to be considered an expert in something and see they types of questions people are asking, problems they’re solving, and their interesting approaches.
The panel talks about the difference between fluency and understanding, and agree that one of the best ways to learn is by teaching. By being involved in creating a library, you’re seen as an expert in that library, so people come to you with their questions and you have to figure out how to answer them. One of the most valuable things about building a library or framework is learning the core basic concepts of the language.
They agree that it is best to start this kind of project as soon as you find something that interests you, and assure listeners that even if you mess it up and it’s never used, the learning experience is the true value. Often times, you’ll surprise yourself and make something that’s actually useful. Building or contributing to frameworks takes away the mystery and magic of programming, makes problems seem more approachable, and helps you understand the fundamentals. To find a project to contribute to, they suggest checking Twitter, Slack channels, and Github. If you find a library you like on Github, they’ll often have a #goodfirstissue, and you can tackle that problem to get started. Listeners are encouraged to be curious and look up source code on Github if you ever have a question to see how different libraries tackle this problem.
Finally, they talk about how to decide what requires a small exercise and what requires a library or framework. If the goal is short term, it only requires a small focused exercise. If the goal is long term or you find yourself doing the same thing repeatedly, consider a library or framework to make that code reusable and publishing it for others to use. Their closing thoughts are don’t focus on making something popular, just make something useful to you and maybe someone else will find it useful, and a reminder that there’s something to learn from everybody. Always have an open mind and try to get clarity on what someone is saying, even if it sounds like a bad idea at first.
Panelists
Brooke Avery
Jesse Sanders
Preston Lamb
Sam Julien
Mike Dane
Luis Hernandez
With special guest: Dillon Kearns
Sponsors
Thinkster.io
Sustain Our Software
React Native Radio
Links
Elm
The Difference Between a Framework and a Library
Angular
Elm GraphQL
Follow DevChatTV on Facebook and Twitter
Picks
Dillon Kearns:
Non-Violent Communication: A Language of Life by Marshall B. Rosenberg
Incremental Elm Consulting
Follow Dillon on Twitter, LinkedIn, and Medium
Preston Lamb:
One Second Every Day
Jessie Sanders:
Crashlands
Mike Dane:
FUNCL bluetooth headphones
Luis Hernandez:
Svelte framework
Brooke Avery:
Star Wars Drones (check Costco first)
Oct 8, 2019
55 min
Load more
