
The Soft Skills Episode 🍦
Explicit content warning
06/15/20 • 37 min
Welcome to Iteration, a weekly podcast about programming, development, and design.
- JP Intro — Hi, I'm JP and I am a full stack developer. Today, I am joined by John:
- John Intro — My name is John and I am a software developer for a home services startup.
What are soft skills? Why are they important? Are they important?
Wikipedia defines "soft skills" ...
Soft skills are a combination of people skills, social skills, communication skills, character or personality traits, attitudes, career attributes, social intelligence and emotional intelligence quotients, among others, that enable people to navigate their environment, work well with others, perform well, and achieve their goals with complementing hard skills.
tldr; people skills
Hard skills, also called technical skills, are any skills relating to a specific task or situation. It involves both understanding and proficiency in such specific activity that involves methods, processes, procedures, or techniques
Conversation is loosely based on this book, the author is famously kind of a dick. Doesn't mean there aren't some solid takeaways, using it as a framework for conversation.
- Link to summary of "Soft Skills"
- Another summary
Section 1: Career
Few tips to improve your career:
- From SS: Specialize, don't generalize.
- From SS: "Fake it till you make it"
John
- Always be working on yourself: "Luck is when preparation meets opportunity"
- Meet lots of people, be helpful and friendly
- Do a lot of interviews.
- Confidence and enthusiasm — "Being enthusiastic is worth 25 IQ points."
JP
- The importance of friendliness. How does this work for introverts?
Recommended Career Books
Section 2: Marketing yourself
- From SS: See yourself more as offering a service and not as a employee.
- Less about Salary and work hours, more about the uniqe "Features and beniftis" you bring to the table, you solve problems, you are an investment not an expense.
John
- Blog, be vocal — Share what you learn, don't be afraid to look dumb.
- Teach others when you can
- Take speaking and presentation gigs (Was a speaker at GA and got work out of it, you never know)
- Again — Specialize
JP
- I love this idea around you being a service. EAAS: Engineer as a service
- I have mixed feelings about marketing yourself. I go back and forth on whether or not I want a bigger online presence
Section 3: Learning
From SS: "Learn you want? Teach you must."
John:
- Be consistent. 1 hour a day for 12 days is way better than a single 12 hour day.
- Try to understand the concepts, not the syntax.
- Concepts and fundamentals you can take anywhere. Good domain design, testing, clean code. All these concepts work in any language / framework.
JP:
- Deliberate practice. I just hammer concepts into my brain until it sticks.
- Honestly, just keep writing code but more importantly keep READING code
- Whiteboard, talk about problems from a domain perspective
Section 4: Productivity
From SS: Focus
- John: +1 (20% done isn't worth anything. 5 tasks 20% done, or 1, 100% done)
From SS: Pomodoro Technique
From SS: Kanban
John:
- Getting Things Done
- Break down the work.
- 80/20 — Pareto principle
- Eat that Frog
JP:
- I'm currently giving Pomodoro a shot. I'm trying to figure out how to effectively context shift
- How do you eat an elephant?
Sections 5 and 6 — Financial and Fitness
Section 7: Spirit
From SS: power of positive thinking
From John:
- Mental space, day off, unplug sometimes.
- Confidence + enthusiasm
JP:
- I could use some tips from this section...
BONUS From John: Commu...
Welcome to Iteration, a weekly podcast about programming, development, and design.
- JP Intro — Hi, I'm JP and I am a full stack developer. Today, I am joined by John:
- John Intro — My name is John and I am a software developer for a home services startup.
What are soft skills? Why are they important? Are they important?
Wikipedia defines "soft skills" ...
Soft skills are a combination of people skills, social skills, communication skills, character or personality traits, attitudes, career attributes, social intelligence and emotional intelligence quotients, among others, that enable people to navigate their environment, work well with others, perform well, and achieve their goals with complementing hard skills.
tldr; people skills
Hard skills, also called technical skills, are any skills relating to a specific task or situation. It involves both understanding and proficiency in such specific activity that involves methods, processes, procedures, or techniques
Conversation is loosely based on this book, the author is famously kind of a dick. Doesn't mean there aren't some solid takeaways, using it as a framework for conversation.
- Link to summary of "Soft Skills"
- Another summary
Section 1: Career
Few tips to improve your career:
- From SS: Specialize, don't generalize.
- From SS: "Fake it till you make it"
John
- Always be working on yourself: "Luck is when preparation meets opportunity"
- Meet lots of people, be helpful and friendly
- Do a lot of interviews.
- Confidence and enthusiasm — "Being enthusiastic is worth 25 IQ points."
JP
- The importance of friendliness. How does this work for introverts?
Recommended Career Books
Section 2: Marketing yourself
- From SS: See yourself more as offering a service and not as a employee.
- Less about Salary and work hours, more about the uniqe "Features and beniftis" you bring to the table, you solve problems, you are an investment not an expense.
John
- Blog, be vocal — Share what you learn, don't be afraid to look dumb.
- Teach others when you can
- Take speaking and presentation gigs (Was a speaker at GA and got work out of it, you never know)
- Again — Specialize
JP
- I love this idea around you being a service. EAAS: Engineer as a service
- I have mixed feelings about marketing yourself. I go back and forth on whether or not I want a bigger online presence
Section 3: Learning
From SS: "Learn you want? Teach you must."
John:
- Be consistent. 1 hour a day for 12 days is way better than a single 12 hour day.
- Try to understand the concepts, not the syntax.
- Concepts and fundamentals you can take anywhere. Good domain design, testing, clean code. All these concepts work in any language / framework.
JP:
- Deliberate practice. I just hammer concepts into my brain until it sticks.
- Honestly, just keep writing code but more importantly keep READING code
- Whiteboard, talk about problems from a domain perspective
Section 4: Productivity
From SS: Focus
- John: +1 (20% done isn't worth anything. 5 tasks 20% done, or 1, 100% done)
From SS: Pomodoro Technique
From SS: Kanban
John:
- Getting Things Done
- Break down the work.
- 80/20 — Pareto principle
- Eat that Frog
JP:
- I'm currently giving Pomodoro a shot. I'm trying to figure out how to effectively context shift
- How do you eat an elephant?
Sections 5 and 6 — Financial and Fitness
Section 7: Spirit
From SS: power of positive thinking
From John:
- Mental space, day off, unplug sometimes.
- Confidence + enthusiasm
JP:
- I could use some tips from this section...
BONUS From John: Commu...
Previous Episode

JavaScript Frameworks 🖼
Welcome to Iteration, a weekly podcast about programming, development, and design.
This week — javascript frameworks
What is a JavaScript Framework? How would you explain it?
- John:
- Concept of a framework, is essentially a collection of best practices and starting points.
- When you build a fence, you could literally cut down trees and make boards, make nails out of raw iron
- At Lowe's the other day, they had pre-assembled fence sections. This is what a framework is.
- Some frameworks offer really prescriptive and complex components, others offer really basic ones. (2x4's vs pre-built fence sections)
- in JS — It's basically a pre-existing library and collection of JavaScript code you can use to do other things with.
- JP: wrappers around document.querySelector + some sort of state management
- Programing is all about abstractions —
- Shared abstractions
Framework vs Library
- Line is blurry here, example: JQuerry, lodash underscore are closer to libraries. These are more collections of useful utilities and functions. Frameworks are more comprehensive. Offer a more end to end solution for back end, front end or both.
JP JavaScript Ecosystem is Frustrating
- https://www.zdnet.com/article/another-one-line-npm-package-breaks-the-javascript-ecosystem/
- This one line change in an npm package broke deploys for one of my sites
The 4 most Popular Frameworks (in order of creation date)
There are SO MANY JS frameworks, feels like new ones every day.
- JQuery:
- The "Original Gangster". Oldest and biggest project, not the most modern, still heavily used worldwide. Not really a "Framework" with modern JavaScript, it's not really needed, especially if you use one of these other frameworks, it's definitely not needed in my opinion.
- Github Stars: 53k
- Initial Release: 2006
- From JP: https://mootools.net/
- Angular
- Github Stars: 60k
- Initial Release: 2010
- John: It's been years since I've worked in an angular project. It was a previous version of Angular, but it was close to writing HTML, using Vue reminds me of Angular at it's best.
- JP: Never bothered to touch it! I don't have any opinions on it
- React
- Github Stars: 148k
- Initial Release 2013
- John: I've written a good chunk of react native and react. I've never fallen in love. It's a lot of boiler plate, I don't like JSX and the whole thing just doesn't work the way my brain works. A lot of my projects are perfectly fine with simpler server rendered pages. So I generally don't work in it.
- JP: On the other hand, I love writing React - I guess as much as any Rails developer can love writing JavaScript. That's right, I said it, I'm a Rails developer.
- Vue.js
- Github Stars: 164k
- Initial Release 2014
- John: I really like Vue because you can just extend existing HTML elements. Handles the data binding and event handling for you. It's lightweight and be brought into all kinds of back ends. Really great for "sprinkles". Don't need a whole SPA but some drag and drop would be good here, or this chat interface needs live reloading.
- JP: Currently learning Vue and it breaks my brain a little. Let me tell you why...
honorable mentions
Frameworks of Frameworks:
Last Mention
- Stimulus (Mostly for Rails)
- Initial release 2019
- John uses heavily, it's like a lightweight Vue customized for Rails.
Tips for Using a JS Framework
- JP: Learn Vanila JavaScript first
- John: Go all in
JP's Pick
https://www.instagram.com/archipics.ig/
John's Pick
Getting back to Basics Beginner JavaScript (Wes Bos Course)
- I'm halfway through a Beginner JavaScript course, 80% of it is really really easy, t...
Next Episode

Onboarding into a new codebase 👋
Today's topic:
Onboarding into a new codebase
As a new hire / contractor for a freelance project
From JP:
- Reviewing other people's PRs on a new codebase
- Submitting your first PR
- Understanding how data flows through the app
- I've found that the organization of the code and the quality of abstractions makes or breaks this point
- Ramping up complexity of feature stories that you can tackle. How do you get there?
From John:
- First — Understand the domain, talk with team, read books, use competitor software, language in that domain.
- Then — Understand the software
- Read the Docs, all that you can get your hands on
- Review closed issues / tickets, try to understand the language /culture of the team
- Review the tests, this is a good place to start if there is any, especially integration or feature tests that are higher level
- Find the "God" objects if you can.
- Write docs as you go, great way to get it into your head
Onboarding someone else onto a new codebase
From JP
- Hiring contractors for a project
- Onboarding new hires
- Reviewing new hires' pull requests **it's own episode maybe? Code Review?**
- How do you onboard someone else?
- I think domain context is important
From John
- Support the advise given above! It's just the reverse
- First: Domain Context
- Then —
- Provide Docs
- Tests
- Simple first issue
- Pair on the onboarding Dev's first PR VS sink or swim
- Try to demonstrate what tools and process you use in a project
Picks
JP: https://apps.apple.com/de/app/meeter-fast-call-initiation/id1510445899?l=en&mt=12
John:
- Rails View Components
- It's a new pattern in rails to produce reusable front end "Partials" but more abstracted and re-usable.
- This pattern plus stimulus.js is really magic.
If you like this episode you’ll love
Episode Comments
Generate a badge
Get a badge for your website that links back to this episode
<a href="https://goodpods.com/podcasts/iteration-225636/the-soft-skills-episode-25584473"> <img src="https://storage.googleapis.com/goodpods-images-bucket/badges/generic-badge-1.svg" alt="listen to the soft skills episode 🍦 on goodpods" style="width: 225px" /> </a>
Copy