TopPodcast.com
Menu
  • Home
  • Top Charts
  • Top Networks
  • Top Apps
  • Top Independents
  • Top Podfluencers
  • Top Picks
    • Top Business Podcasts
    • Top True Crime Podcasts
    • Top Finance Podcasts
    • Top Comedy Podcasts
    • Top Music Podcasts
    • Top Womens Podcasts
    • Top Kids Podcasts
    • Top Sports Podcasts
    • Top News Podcasts
    • Top Tech Podcasts
    • Top Crypto Podcasts
    • Top Entrepreneurial Podcasts
    • Top Fantasy Sports Podcasts
    • Top Political Podcasts
    • Top Science Podcasts
    • Top Self Help Podcasts
    • Top Sports Betting Podcasts
    • Top Stocks Podcasts
  • Podcast News
  • About Us
  • Podcast Advertising
  • Contact
Not in our directory?
Add Show Here
Podcast Equipment
Center

toppodcastlogoOur TOPPODCAST Picks

  • Comedy
  • Crypto
  • Sports
  • News
  • Politics
  • True Crime
  • Business
  • Finance

Follow Us

toppodcastlogoStay Connected

    View Top 200 Chart
    Back to Rankings Page
    Software How-To

    iteration

    A podcast about development and design.

    We do our best to be code-agnostic but we talk a lot about Rails, JavaScript, React, React Native, design, business and startups.

    Advertise

    Copyright: © ¯_(ツ)_/¯

    • Apple Podcasts
    • Google Play
    • Spotify

    Latest Episodes:
    Roundtable: When Tech Meets Business 🤝 Oct 21, 2019
    Show notes

    A weekly podcast about programming, development, and design.

    • My name is John Jacob, I am a developer and designer.
    • I am joined by my co-host JP

    Conversation — When Tech Meets Business

    Who is Jon? Tell us a bit about your educational background and how you eventually landed at Opendoor

    Jon, Briefly tell us why you're interested in Real Estate

    • potential to talk about the domains we are interested in as well
      • education
      • health

    As a software engineer, why is it important to understand the domain that you're building for?

    • Understand customer pain points
      • Example searching for a home: Zillow and more
    • Understand the competition
    • User value directly — Redfin and Zillow — are just lead gen tools. Let's focus on lower level.
    1. Build in domains you are excited about
    2. Understand customer pain points
    3. Check out the competitive landscape
    4. Books books books

    Do you think you need to be interested in the domain you're working in to do well?

    • Not necessarily, building tech can be an interesting exercise in itself
    • You have to be open minded, and empathetic
    • Obviously, when you are passionate about a product, there's magic in that.

    What are some insights (perhaps specific to real estate) that came from someone who was non-technical?

    How do you know when you should apply technology to solve a domain problem?

    • Think about it in terms of Pain
    • High transaction is the opportunity
    • Repetitive tasks is an opportunity

    Picks

    • JP: Netlify
    • John: Duck Duck Go
    • Jon: Murphy bed

    Links

    • John Jacob
    • JP
    • Guest: Jon

    ❌ Extreme Testing Sep 30, 2019
    Show notes

    Iteration — A weekly podcast about programming, development, and design through the lens of amazing books, chapter-by-chapter.

    This episode uses Chapter 13 of Extreme programing as a jumping off point

    Testing Early, Often, and Automated

    Here is the dilemma in software development: defects are expensive, but eliminating defects is also expensive.

    • Instead of talking about having a kick-ass automated test suite, frequently testing code, and all of that good stuff, we should talk about something a little different.

    Q: What was the last big bug you can think of? How did you handle it?

    • Health coaching group discussions, mobile users could not post into group discussions for 48 hours. It’s a core feature of the platform.
    • React Native Upgrade → Weird android bug where people could not take a photo to upload their proof of funds

    Q: What was the reason for the latest big bug?

    • lack of automated integration tests in the Mobile app.
    • We have some unit testing we also have full API tests, but not enough coverage in the integration.
    • We made a small change to the group discussion model, the mobile app wasn’t updated to consider this change, timing the rollout.
    • Android Weirdness, lack of QA, rushing to get to the latest and greatest

    Q: How do you handle bugs in general?

    • Testing is first line of defense.
    • QA is backup (One other dev)
    • App signal is the catch all (After deployment)
    • Users are the last line of defense RABBITHOLE
      • Give users a clear escape hatch / line of communication.
      • So many times we’ve caught flawed design assumptions from that feedback. Users love it too.
      • Superlative language "Thank you so much, you are the best, we really really appreciate you sending that in and I'm so sorry if you are having issues. "

    Q: John Ask: What’s the most common causes of bugs?

    • Test data does not properly represent production data - phone formats / etc
    • An Edge case that wasn’t considered
    • The feature functions properly but the functionality is wrong / not what the stakeholder intended.
    • Rollout was not planned, data transition or all platforms are not in sync.
    • Browser or context considerations. Mobile vs tablet / android device universe.
    • Lack of QA, lack of tests
    • Rushing things

    John — Summary / Thoughts on book overall

    • Overall got the most out of this vs other books we've read

    Picks

    • JP: Heroku! Review Apps (spins up a new app every time a PR is opened); Pipelines
    • John: Contentful + Rails to give clients ability to update copy and images on marketing pages.

    📦 Shipping Features — Planning, Estimates, Scopes and Shipping Sep 23, 2019
    Show notes

    Planning: Managing Scope

    This episode jumps off Chapter 12 of Extreme programing by Kent Beck.

    Planning is an exercise in listening, speaking, and aligning goals for a specific time period. It is valuable input for each team member. Without planning, we are individuals with haphazard connections and effectiveness. We are a team when we plan and work in harmony.

    XP recommends planning at any timescale with these four steps.

    1.) List the items of work that may need to be done.
    2.) Estimate the items.
    3.) Set a budget for the planning cycle.
    4.) Agree on the work that needs to be done within the budget. As you negotiate, don't change the estimates or the budget.

    Questions for discussion

    Question 1: Walk us through how you plan a new feature. In other words, how do you bring a new idea from concept to reality?

    1. Pitch

    This usually comes from the client, sometimes myself or the team.

    • Here's an example of a recent client pitch:

    So here is our high level break down. 1st we add a new bottom tab that says students seeking this tab replaces the settings gear tab. The settings tab will be moved to the top right corner of the app. When a student clicks that tab the design attached (below) would show. * Design shows a list of students who have performed searches, with a "Message" button on each.

    Rules A student should show up on a tutors seeking list if......A student search is

    Whiz Tutor — an app where you can find a book nearby tutors for in-person tutoring.

    Pitch was — when students search for but don't book a tutor, let relevant tutors message those students. This would happen through a "Students Seeking" tab that shows up in the tutors Mobile app.

    2. Design

    Hand off the pitch to a designer on the team to refine and recommend a scope.

    Question the work

    • Try to tease out the "Jobs to be done", "user stories" that exist in the pitch
    • Question if this needs to exist at all "Default to no"
    • Look for "Off the shelf" > Workarounds using the current system.
      • Can we do this with Zapier or a spreadsheet?
    • Features often die in this phase.

    Define the work

    • Name the things. Attach nouns and verbs to the functionality.
      • "Students Seeking" became > "Leads" >
      • "Message this student" became > "Reply to Lead" > Lead Replies
    • Figure out where this "lives" in the context of the existing feature set.
    • Figure out each entities lifecycle, how does it get created, updated viewed and destroyed?
      • A students search activity generates leads, a tutor can view relevant leads in their area, a tutor can reply to a lead, once three tutors reply to a lead that lead is no longer visible to other tutors.
    • Try to get ahead of pitfalls, ask a lot of questions.
    • Sometimes designer will talk with a developer just to make sure to identify and avoid any technical hotspots.
    • Customer interviews if needed

    Handoff the design

    • Output — Low fidelity mockup, usually handed off with a screen recording, this is shared with client to capture any last pitfalls or miscommunication.
    • We try to time-box each design iteration to just a couple hours.

    3. Initial Client Review

    • We shoot an email with the mockups and screen recording attached, just to be sure we are all on the same page.
    • If there's tweaks we make a new low-fidelity design where it's still cheap.
    • Client lays out "Must haves" and "nice to haves"

    4. Estimate and Plan

    • Once we are in alignment on the overall trajectory of the feature, Mockups and client context is handed over to a developer.
    • Developer reviews the functionality, jobs to be done, user stories etc and attempts to estimate the work.
    • This is the point where we break the work down into quantifiable, assignable "user stories" related to the feature.
    • Plan the technical approach
    • Keys to estimating more accurately
      • Look at history
      • Break things down smaller
      • Think about all "Contexts" and "States"

    5. Client Approval

    • We have designs, we have estimated user stories.
    • Here's the point where we can give ranges of hours and get a firmer list of "Must haves" and "nice to haves"
    • Client gives us a go / no go on user stories.
    • Again — Customer interviews if needed to be more confident in scope setting.

    Question 2: How do you decide when a feature is in scope vs. out of scope?

    • Each step chips away at the scope, Example: in design, if we can't name things, it goes back to a pitch. In the estimates if it's too expensive it goes back to design.

    Question 3: Talk about a time when planning failed and scope creep was real. How do you think this could have been prevented?

    So recent and painful.

    • Client reached out wanting to build a huge WebApp.
    • I recommended we take a 3 weeks to refine the design, set a scope, basic feature list, basically this process. I gave very rough ballpark numbers of timelines and costs without having a feature list locked down.
    • Client pushed hard to just get started, not define any of the work upfront, preached "Agile" — We got started with essentially no plan.
    • Scope creep was massive, and scope within features. Example: Photo and file attachments in the messaging tool before a single use was using the messaging tool.
    • Spent way too much time on functionality that was thrown out the window.
    • Bottom line — client spent 4x my initial estimates, project went twice as long and they still don't have a working product.

    Closing thoughts on planning

    • Planning is people, planning takes time and intention.
    • XP: Compromise Scope, not quality, time or cost. "Lowering the quality of your work doesn't eliminate the work, it just shifts it later... creates the illusion of progress... you pay in reduced satisfaction and damaged relationships"
    • XP: Use past facts to guide estimates, not your gut.
    • XP: Don't try to over-optimize planning, "You can't automate relationships"
    • Our agency Project management overhead is about 15% of the project cost. Very real, very needed.

    Picks

    • JP: React Hooks
    • John: Everything I googled for a week- In an attempt to dispel the idea that if you have to google stuff you’re not a proper engineer, this is a list of nearly everything I googled in a week at work, where I’m a software engineer with several years’ experience. https://twitter.com/type__error

    Deeper Into Extreme Programing Sep 16, 2019
    Show notes

    Welcome to Iteration: a weekly podcast about programming, development, and design through the lens of amazing books, chapter by chapter

    Corollary Practices of Extreme Programing

    corollary: noun, a proposition that follows from one already proved. e.g. "The huge increases in unemployment were the corollary of expenditure cuts.

    TLDR: Walk before you run

    Real Customer Involvement

    The point of customer involvement is to reduce wasted effort by putting the people with the needs in direct contact with the people who can fill those needs.

    • things I’ve missed from not including customers: block width buttons, “bookings” language, “clickable cards” SO much is missed without really involving customers.

    Root Cause Analysis

    (After you write tests and fix the bug...) Once the defect is resolved, figure out _why_ the defect was created and wasn't caught. Initiate the necessary changes to prevent this kind of defect in the future

    Five Whys

    • hint: it's usually a people-problem

    Incremental Development

    • "Slices" concept from Shape Up
    • Scoping the work into a very tiny working piece of functionality and incrementing work from there. - If you were to rebuild facebook, just create a "Wall" and a "newsfeed", leave "likes" or "comments" for a future iteration.

    Negotiated scope contract

    Magic formula for success as an agency:

    • It's taken me 4+ years of freelance software development to learn this lesson.
    • Scope is flexible, budget, time quality are not.
    • This is a game-changer, learn this as early as possible.

    Other practices

    • shared code
    • single code base
    • daily deployment

    The Whole XP Team

    A variety of people must work together in interlinking ways to make a project more effective. They have to work together as a group for each to be successful.

    TLDR: what should each of these roles do on an XP team?

    • Tester - find the happy path; find ways to break it

    • Interaction Designer - choose overall metaphors for the system; create personas and goals; help the team analyze and make sense of the world;

    • Product Managers - write stories; pick themes and stories in quarterly cycles; prioritizes; encourage communication between customers and programmers

    • Project Managers Facilitate communication, help identify priorities and consistent accountability.

    • Executives Courage, confidence and accountability

    Picks

    • JP: GatsbyJS
    • John: Figma

    Essential Practices Sep 09, 2019
    Show notes

    A weekly podcast about programming, development, and design through the lens of amazing books, chapter by chapter

    John: Hi, I'm John and I'm joined by JP.

    JP: Today we will be going through chapters 6, 7, and 8 for those following alone - which are all about Extreme Programming practices. These are the things that XP teams are doing on a daily basis. Kent Beck defines two categories for practices: Primary Practices and Corollary Practices. You must first master the primary practices before considering corollary ones. This episode focuses on primary practices.

    Practices that do not serve a purpose or have values are empty. For example, pair programming for the sake of making your boss happy doesn't make much sense. However, pair programming to communicate, get feedback, simplify the system, catch errors, and bolster courage makes a lot of sense.

    Reminder - XP Principles

    • Humanity
    • Economics
    • Mutual benefit
    • Self-similarity
    • Improvement
    • Diversity
    • Reflection
    • Flow
    • Opportunity
    • Redundancy
    • Failure
    • Quality
    • Baby steps
    • Accepted responsibility

    Primary Practices (Chapter 7)

    Sit together

    XP predicts that the more face time you have, the more humane and productive the project.

    👨‍🏫 humanity

    👨‍🏫 improvement

    👨‍🏫 quality

    Informative workspace

    Make your workspace about work. An interested observer should be able to walk into the team space and get a general idea of how the project is going in 15 seconds.

    • 🐶 Digital workspace counts for remote teams — hygiene on backlogs, clarity on where project status is.

    👨‍🏫 mutual benefit - doing stuff today that benefits me now and in the future

    👨‍🏫 flow

    Energized work 🔥

    Work only as many hours as you can be productive and only as many hours as you can sustain. Burning yourself out unproductively today and spoiling the next two days' work isn't good for you or for the team.

    Taking care of yourself is the quickest way back to energized work.

    I turn to long work hours as a way of grabbing control in a situation in which I am otherwise out of control

    • 🐶 Recommended reading - Deep Work & Make Time

    👨‍🏫 flow

    👨‍🏫 humanity

    👨‍🏫 improvement

    👨‍🏫 mutual benefit

    Hot tips:

    ➡️ stay the same amount of time but manage time better

    ➡️️️️️ block off 2 hours at a time in your calendar just for coding

    ➡️ turn off phone, email, and slack notifications

    Pair programming

    • 🐶 Nothing better for getting better and writing better code. Need to make a more regular practice of this.

    Stories

    Plan using customer-visible functionality. As soon as the story is written, try to estimate the development effort necessary to implement it.

    Write stories on index cards and put them on a frequently passed wall. Every attempt I've seen to computerize stories has failed to provide a fraction of the value of having real cards on a real wall.

    • 🐶 Small discrete shippable changes. Should fit on an index card.
    • 🐶 I've written my share of stories that are 2.0 Messaging tool. That's waaaay too open ended.

    👨‍🏫 flow

    👨‍🏫 reflection

    👨‍🏫 quality

    Ten-minute build

    • 🐶 Absolutely true, anything more than 10-15 mins you end up with a bunch of PR's with a broken build.

    Continuous integration

    • 🐶 If you don't have CI set up, even for a solo project. Do it.

    Getting Started (Chapter 8)

    REMEMBER! XP is a way to improve both your development process and your experience in it.

    • adapt by adding practices that meet your goals and express your values
    • you don't have to implement all of the practices at once. pick one, see how they meet your goals and align with your values.
    • baby steps!
    • 🐶 Even if you can't get your team to switch, adopt a practice on your own.
    • 🐶 The only person you can actually change is yourself, even if you are the boss!

    Change always starts at home. The only person you can actually change is yourself. [...] Dictating practices to a team destroys trust and creates resentment.

    • lead by example

    • 🐶 Find a practice - List out Things that drain you, list out things that energize your work, adopt practices around these two things, preventing drain and supporting energizing!

    Picks

    • JP: http://www.pythontutor.com/visualize.html#mode=edit - so cool!
    • John: https://github.com/sirupsen/airrecord - Worked so well to hack to gather an MVP, incredible. No migrations and the rest of the team could read / write data to the database.

    Principles in Extreme Programing Aug 26, 2019
    Show notes

    Season 7 Episode 3

    A weekly podcast about programming, development, and design through the lens of amazing books, chapter-by-chapter

    Hi, I'm John and I'm joined by JP.

    Today we will be going through chapter 5 and continuing our discussion about the guiding principles of Extreme Programming.

    • Intros
    • Chit Chat

    Recap:

    • values are the roots of things we like and don't like in a situation
      • communication, simplicity, feedback, courage, respect
    • practices are evidence of values
    • principles bridge the gap between values and practices

    Values are too abstract to directly guide behavior. (This is why we discuss things in the context of principles)

    Other principles may guide your team, but these are the principles that guide XP:

    • Humanity
    • Economics
    • Mutual benefit
    • Self-similarity
    • Improvement
    • Diversity
    • Reflection
    • Flow
    • Opportunity
    • Redundancy
    • Failure
    • Quality
    • Baby steps
    • Accepted responsibility

    Now obviously we aren't going to bore you with discussion on all 14 of these principles, so today we'll only talk about a handful of them.

    Humanity - noun, the characteristics that make us human 🐸

    Copy and paste alert

    What do people need to be good developers? What are some basic human needs?

    • Safety - freedom from hunger, physical harm and threats to loved ones. Fear of job loss threatens this
    • Accomplishment - opportunity to contribute to their society
    • Belonging - ability to identify with a group from which they receive validation
    • Growth - opportunity to expand their skills and perspective
    • Intimacy - ability to understand and be understood by others

    Interestingly, satisfying these requisites meets both business and human needs.

    Self-Similarity 👻

    "Fractal Nature of geology" When nature finds a shape that works, she uses it wherever she can.
    A crystal is a material whose constituents, such as atoms, molecules or ions, are arranged in a highly ordered microscopic structure — the same arrangment all the way to an atomic level. The same shape, makes up arrangments that make the same shape, that makes up arrangements that make the same shape.

    All's to say - I've found that many things that prove useful at a small scale, work at larger scales

    Concepts like

    • Good names work for functions, methods, models, controllers, variables and namespaces
      — breaking things up into smaller peices, methods, functions, models controllers, etc
    • process If it works to break up a method, it will probably work to break up a controler
    • extraction Definining data in one organized place (switch statment Javascript example?)
    • Simplicity

    Diversity 🐸

    Software development teams where everyone is alike, while comfotable, are not effective. Teams need to bring together a variety of skills, attitudes, and perspectives to see problems and pitfalls, to think of multiple ways to solve problems, and to implement the solutions. Teams need diversity

    The principle of diversity suggets that the programmers should work together on the problem and both opinions should be valued.

    Oppourtunity 👻

    "Learn to see problems as opportunities for change."

    To reach exellence, problems need to turn into opportunities for learning and improvment, not just survival.

    Conciously choose to transform each problem into an opportunity. Good book on this the obsticle is the way

    Example: .env files for all of our projects got posted to a public repo. We migrated toward a better more secure system, credentials that would be harder to leak and are easier to rotate. We used the problem as an oppourtunity to improve our architecture.

    Quality 👻

    Sacrificing quality is not effective as a means of control... Quality should not be a control variable.

    • These are the variables you should change: Time, Cost, Money and Scope. Never quality

    This is really extreme.

    Author makes the aurgument that when you skimp on quality you end up spending even more time or money. This rings true, I have often taken the wrong approach in projects of skipming on design, testing or refacting and it doesn't really help in the long run.

    We'd all like to get more features out the door for less money, it's just not doable. Less is less.

    Failure 🐸

    If you're having trouble succeeding, fail. Don't know which of the three ways to implement a story? Try it all three ways.

    When you don't know what to do, risking failure can be the shortest, surest road to success

    Conclusion:

    • Principles give you a better idea of what the practice is intended to accomplish
    • Understanding the principles gives you the opportunity to create practices that work in harmony with your existing practices and your overall goals

    Picks

    • JP: Burke Williams deep tissue massage. I'm all about the self-care
    • John: App called "Mood" free app that helped me be more mindful of my emotions. It's been really insightful and helpful. I've moved from an average of 44% negative emotions to 55% positive emotions in just about 2 weeks. Just stoping and noticing my humanity, how some things make me feel has made a big impact in my overall mental wellness. I'm finding really interesting corollaries between my activities and diet and my overall happiness.

    5 Essential Values in Extreme Programming Aug 12, 2019
    Show notes

    Season 7 Epsiode 2
    A weekly podcast about programming, development, and design through the lens of amazing books, chapter-by-chapter

    5 Essential Values in Extreme Programing
    Extreme Programing By Kent Beck - Chapters 2,3 and 4

    Chapter 2 - Learning to Drive
    frequent, small corrections
    don't wait to find out if you are going in the wrong direction
    Chapter 3 - Values, Principles, and Practices
    values are the roots of things we like and don't like in a situation.
    Making values explicit is important because without values, practices quickly become rote (habitual repetition), activities performed for their own sake buck lacking any purpose or direction.

    practices are evidence of values
    Practices are clear. Everyone knows if I've attended the morning standup meetings. Whether I really valuecommunication is fuzzy. Whether I maintain practices that enhance communication is concrete.

    principles bridge the gap between values and practices
    START HERE
    Chapter 4 - Values
    Chapters 2 and 3 are small introductory sections, here is the TLDR:

    Software, teams, and requirements change. We need to be able to adapt
    to such change. The next 3 sections will be about values, practices,
    and principles of Extreme Programming
    Chapter 4 is about values

    Everyone who touches software has a sense of what matters. One person might think what really matters is carefully thinking through all conceivable design decisions before implementing. Another might think what really matters is not having any restrictions on his own personal freedom.

    What actually matters is not how any given person behaves as much as how the individuals behave as part of a team and as part of an organization.

    Sometimes it's easy to bikeshed over things like code style. Arrow functions vs function declaration, inline functions vs methods, etc
    XP embraces 5 values to guide development

    1. Communication
    2. Simplicity
    3. Feedback
    4. Courage
    5. Respect
    6. Communication
      When you encounter a problem, ask yourselves if the problem was caused by a lack of communication. What communication do you need now to address the problem? What communication do you need to keep yourself out of this trouble in the future?

    JP: Retro feedback and postmortem feedback often includes communication - both good and bad
    2. Simplicity
    To make a system simple enough to gracefully solve only today's problems is hard work.

    "What is the simplest thing that could possible work?"

    JP: Emphasis on "today's problems" - how can we provide value to the customer without compromising on theirexperience and without overengineering a solution?

    JS: Stakeholder communicatinon, actively work to include everyone in at the key touchpoints, initial concept, mokcup, prototype, final review.

    JS: Have something to look at / talk about. Somebody make a mockup, somebody write some pseudocode

    1. Feedback
      Being satisfied with improvement rather than expecting instant perfection, we use feedback to get closer and closer to our goals. Feedback comes in many forms.

    opinions about an idea, yours or your teammates

    how the code looks when you implement the idea

    whether the tests were easy to write

    whether the tests run

    how the idea works once it has been deployed

    JP: Be agile! Look to build an MVP. Get analytics on things and make decisions from there. It's hard to invest in an idea entirely and then end up ditching the whole thing. Everyone feels burned.

    JS: Again, think through key touchpoints, (99%, 50%, 1%)[https://medium.com/the-mission/how-to-scale-yourself-the-99-50-1-framework-7798518f36e1]

    1. Courage
      Courage as a primary value without counterbalancing values is dangerous. Doing something without regard for the consequences is not effective teamwork. [...] The courage to speak truths, pleasant or unpleasant, fosters communication and trust. The courage to discard failing solutions and seek new ones encourages simplicity. The courage to seak real, concrete answers creates feedback.

    JP: Being able to speak up when you disagree with people's ideas and being able to listen and exercising patience.
    JS: Being honest with yourslef and stakeholders about timelines, replytimes, scope.
    JS: Having the courage to set boundries. - "I need this by tomorrow" - I'm sorry, I can't make that happen for you.
    5. Respect
    If members of a team don't care about each other and what they're doing, XP won't work. If members of a team don't care about a project, nothing can save it. Every person whose life is touched by software development has equal value as a human being. No one is intrinsically worth more than anyone else.

    JP: It's much easier when everyone respects each other.
    JS: Reconize there's rarely a "wrong" approach, avoid letting pesonal preference becoming the "right" way.
    JS: Reconize positives, "what I like about this is... however" Try to keep things in a positive context.
    6. Other
    This list isn't exhaustive. The important thing is that your team should align on core values.
    Other Values: safety, security, predictability, and quality-of-life <- I feel like these need an episode!
    Chapter conclusion:
    Values don't provide concrete advice about what to do in software development. Because of the distance between values and practices, we need a way to bridge the gap between them. Principles are the tool we need.

    Picks
    JP: Pair code review sessions
    JS: the (99/50/1 framework)[https://medium.com/the-mission/how-to-scale-yourself-the-99-50-1-framework-7798518f36e1]
    JS: Basecamp's new book - (Shape Up)[https://basecamp.com/shapeup]


    New Book: Extreme Programming Jul 29, 2019
    Show notes

    Iteration — A weekly podcast about programming, development, and design through the lens of amazing books, chapter-by-chapter.

    Extreme Programing Explained Embrace change

    By Kent Beck

    Chapter 1 - What is XP?

    "Extreme Programing is about social change. It's about letting go of habits and patterns that were adaptive in the past, but now in the way of us doing out best work. It's about giving up the defenses that protect us but interfere with our productivity. It may leave us feeing exposed.

    It's about being open about what we are capable of doing and then doing it. And, allowing and expecting others to do the same...

    ...It's about the process of becoming more of our best selves and in the process our best as developers. And, it's about writing great code...

    "Philosophy of software based on... communication, feedback, simplicity, courage and respect.

    "XP is my attempt to reconcile humanity and productivity in my own practice of software development..."

    • John — Humanity and productivity. Pomodoro timers, too much coffee, pushing weekends.

    "How would you do it if you had enough time? — Fussing about the constraints distracts you from your goals. Your clear self does the best work no matter what the constraints are"

    • John — Riff on Time Constraints — Time is always my blocker. Is that a good one?

    Final Summary — What is XP?

    • Giving up old habits
    • Fully appreciating yourself for total effort today
    • Striving to do better tomorrow
    • Consistently Evaluating yourself
    • Meeting your Human needs

    Career Development Roundtable: Getting Great Work in Tech Jul 22, 2019
    Show notes

    Iteration Season 06E09 - Release July 22nd 2019

    A weekly podcast about programming, development, and design through the lens of amazing books, chapter-by-chapter.
    Roundtable: Getting a Job in Tech

    Between books - Discussion about career development in tech

    Guest: John Rivera - Link?

    John S to lead discussion -
    Where do you work now? What do you do?
    John S: Run an agency, we are a small team of remote developers, we do mobile apps and web apps.
    John R: Just started working on Amazon photos mobile app for the prints feature team, I do cross-platform mobile development primarily using React Native. But I’ve also gotten to do my fair share of project management with ChefSteps, and am seeking to pursue that at Amazon
    JP: Opendoor
    Where did you start? Where were you before tech?
    5mins each on origin story
    John S: Dabbled in design + web for ever — I was working in the corporate world a job I didn’t love but I was successful. Stepped back and switched careers at November 2015 - switched career at 25
    John R: I worked at uhaul and albertsons as a meat clerk. Started things off by saving up for a bootcamp. Did freelance.
    JP: MySpace layouts in 9th grade, 13-14 years ago. Then web design until about 2015
    What’s been a key practice or tool in moving your career forward?
    John R: Networking, Diving deep, embracing things that aren’t in my domain
    John S: Consistency, Keeping up with friendships (networking), Blogging, pushing outside comfort zone.
    How do you balance getting work done now vs ongoing learning?
    John S: Use new tools and techniques in the day to day
    John R:
    JP: Being proactive with code review and looking to senior engineers
    How do you get a good Job in tech?
    John S: Network, publishing, making your work visible, random blog post from 2016
    John R:
    JP: I got my job from meetups

    What would you have told yourself 3 years ago?
    John S: Consistency, life is a marathon not a sprint. Keep stretching yourself outside comfort zone. Focus on less, go deeper on less things.
    John R:
    JP: Take breaks, you won’t forget how to code if you take a day off

    CLOSE - no picks

    John R - Where can people find you?


    Refactoring Wrap Up & Summary Jul 15, 2019
    Show notes

    Iteration Podcast S06E08

    A weekly podcast about programming, development, and design through the lens of amazing books, chapter-by-chapter.

    Work Stuff

    • Work / Life separation
    • Playing a lot with Vue JS - did an implementation on top of rails and loved it.
    • Rivets JS
    • Pre-built Sketch UI components (https://craftwork.design/)
    • Refactoring UI (https://refactoringui.com/)
    • Breaking things up! Learning more about technical design patterns.

    Summary of "Refactoring"

    • The Two Hats - Divide time between adding functionality and refactoring.
    • Lots of Nested Functions read like a story
    • Refactoring and performance
    • Bad Smells
    • Catalog of refactors / Catalog of patterns
      • Patterns of Enterprise Application Architecture
      • Decorator / Presenters (Displays Stuff)
      • Query Objects (Looks for stuff)
      • Service Objects (Does stuff)
      • Gateway Object (Defines access)
      • Mapper Object (Pricing Package) that associates customer lease and asset

    Picks:

    • Send later in Gmail
    • Time Timer
    • Angeles Crest Highway

    Things mentioned
    Craftwork design https://craftwork.design/

    • Rivests JS
    • Vue JS

    Previous 1 2 3 4 5 6 8 Next

    Related Podcasts

    Know How… (Video)

    1

    Know How… (Video) Education
    JavaScript Jabber

    2

    JavaScript Jabber Education
    Programming Throwdown

    3

    Programming Throwdown Software How-To
    Software Engineering Radio – the podcast for professional software developers

    4

    Software Engineering Radio – the podcast for professional software developers Software How-To
    The Changelog: Software Development, Open Source

    5

    The Changelog: Software Development, Open Source How To
    Coding Blocks

    6

    Coding Blocks Software How-To
    footer-logo

    Contact Us

    Toll Free: 844-670-7747

    Links

    • Home
    • Top Charts
    • Networks
    • Apps
    • Independents Podcasts
    • Podcast Advertising
    • Podcast News
    • Contact Us
    • About Us
    • Analytics & Insights

    Stay Connected

      Privacy, Terms of Use & Our Code of Ethics Protecting Content Creators Copyrights