Avsnitt

  • Welcome to Iteration, a podcast about programming, development, and design.

    John Intro β€” My name is John and I am a software developer for a home services startup.JP Intro β€” Hi, I'm JP and I am a software developer.What makes a good 1:1 (IC perspective)?JP a manager who listensJP clear action items for problemsWhat makes a good 1:1 (Manager perspective)?John When reports are honest about motivations (I want more money, etc)John Clear feedback about my managementWhat makes a bad 1:1?JP when 1:1s just become another medium for standup updatesJP when 1:1s become a way for your manager to micromanageFormatWhat do you talk about?

    Basic framework John follows:

    private running doc between manager and report, either party can always add to it, reviewed on a regular cadence. I've found every 2 weeks to be really effective.This meeting is for building trust, context, sharing progress on goals, professional development things like that.Principles / conceptsFocus on the report β€” 1:1's are primarily for the report, the employee, not for the manager or the company.70/30 β€” Manager should be 70% listening less than 30% talking.Honesty β€” be direct. Forbidden conversations.Objective β€” Do the work to find objective examples, provide numbers and letter grades.Flexible β€” Don't overthink or over structure, let it flow, let report guide conversationMoneyball firing clipPicksJohn: https://www.chia.net/JP: Tailwind is coming out with official React support!
  • Welcome to Iteration, a podcast about programming, development, and design.

    John Intro β€” My name is John and I am a software developer for a home services startup.JP Intro β€” Hi, I'm JP and I am a software developer.

    Context:

    John ran an agency for a couple years with a few developers + Designers, now runs a team of 12(ish) developers + Designers

    Few Topics

    IC vs Manager

    Code on the side only to show thingsNot coding for productionCode outside of your core code

    Right sizing a team

    Systems Thinking "Stocks + Flows" (Slack)

    Mythical Man Month

    False premise: More heads = faster results

    Remove bottlenecks

    Break up the workKitchen MetaphorContext + Documentation

    Safety + Empowerment

    Permission + TrustAccess

    Leading by example

    "Law of the lid"

    Don't scar on the first cut

    Forbidden Conversations / honesty

    PicksJohn: https://handmirror.app/JP: https://freezingcam.com/
  • Saknas det avsnitt?

    Klicka här för att uppdatera flödet manuellt.

  • Welcome to Iteration, a podcast about programming, development, and design

    John has been asked:

    When I perform a google search, what happens? Be as specific and accurate as possible including every layer of technology.Can you tell me what Indexes are and what they do?What is CORS?

    Questions JP has been asked:

    What is the difference between something like SQL and Mongo - what are the trade offs?How does the JS bridge work in React Native?Describe what Redux is for and how you'd implement it in a React project

    Maybe some from our own?

    If you could add one feature or change to the Rails framework what would it be?How do feel about testing? How do you think about testing? When does it make sense to write tests?If I have a really huge model, let's say 500+ lines, how would you go about refactoring it? Example link: https://github.com/discourse/discourse/blob/master/app/models/post.rbPicks

    JP: https://tuple.app/

    I used this to pair with Joe and it was SICK

    John: YNAB (https://www.youneedabudget.com/)

    Different approach to budgeting that sucks less
  • NOTE THIS IS A RE-UPLOAD AS THERE WAS ISSUES WITH OUR PREVIOUS UPLOAD

    > Welcome to Iteration, a podcast about programming, development, and design.

    * John Intro β€” My name is John and I am a software developer for a home services startup.

    * JP Intro β€” Hi, I'm JP and I am a software developer.

    # Questions

    * What is your testing philosophy?

    * Why work on that team specifically? Why are you interested in this job?

    * What kind of problems he like's to work on?

    * What are some challenges with maintaining a public api?

    * If I was your manager, what can I do to get the most out of your contribution? What do you need from me to succeed as a developer?

    ### Picks

    * John M1 MacBook β€” So throughly impressed

    * JP - [https://github.com/procore/handcuffs](https://github.com/procore/handcuffs)

  • Welcome to Iteration, a podcast about programming, development, and design.

    https://www.planview.com/resources/guide/introduction-to-kanban/kanban-vs-scrum/

    AGILE!!! SCRUM!!! KANBAN!!!

    Different ToolsJiraTrello JohnAsana JohnGithub (issues + projects) JohnZenhub JohnPivotal TrackerNotion JohnSpecial mention: Canny.io β†’ https://main-street.canny.io/admin

    New Blood

    Linear App: https://linear.app/Height App: https://height.app/ (private beta)Monday? I always see ads for this on youtube: https://monday.com/BASECAMPPicksJP: https://martinfowler.com/articles/feature-toggles.htmlJohn: https://supabase.io/ (Open Source Firebase)https://elainewherry.com/2012/06/26/the-recruiter-honeypot/
  • E-commerce Episode

    John: Welcome to Iteration, a podcast about programming, development, and design.

    John Intro β€” My name is John and I am a software developer for a home services startup.JP Intro β€” Hi, I'm JP and I am a software developer.What is e-commerce?Build vs. Buy (roll your own vs. e-commerce software)Nitty-GrittyHow to model purchasesModel PaymentsHow to test paymentsGotchas when building e-commerceDiscountsSalesCouponsRefundsInventory vs digital goodsHeadless vs β€œfull stack”Stacks / Services

    Inventory and More (full stack)

    ShopifyBigCommerceMagnetoSolidusSpreeSimple / digital onlyInstagram + PaypalGum road

    Saas Solutions

    Stripe CheckoutPaddleFast SpringChargifyhttps://recurly.com/PicksJP: https://hotwire.dev/ (hehe)John: https://linear.app/

    References

    Acts as shoping cart gemPay gemFoundation
  • Approaches to Building AppsSeverless (Lambda functions)PWA (progressive web apps)Headless (Ecom / cms)ContentfulShopifyTech Trending UpwardsE-commerce (up 37% from last year)Artificial Intelligence(AWS sagemaker, GPT-3)Voice search66million smart speakers - 1/3 27% of mobile searches are voice basedAMP'dApps will continue to ruin the internetChatbotsJP: I personally hate these things. Just get me to a customer service rep ASAPPicks

    JP: https://baratza.com/grinder/encore/

    John: A conversation with GPT-3

  • John: Welcome to Iteration, a podcast about programming, development, and design.

    John Intro β€” My name is John and I am a software developer for a home services startup.JP Intro β€” Hi, I'm JP and I am a software developer at a small analytics startupOur 2020 Goals Episode β†’ Link

    βœ… 2020 Developer Goals

    2020 Review

    JP

    Goal 1 (JP): Build Elixir App: (C+)I did build a really quick proof of concept Rust API that spits out some JSONI also followed a tutorial for a full stack Golang appGoal 2 (JP): System Design (F)Did not read the books that I wanted to readGoal 3 (JP): Algorithms - (C+)Just haven't had the time - but I have reviewed some array based algorithms FWIW

    John

    Goal 1 (John): Blog More (C+) (12+ posts)Goal 2 (John): (F) System Design (Nope)Goal 3 (John): JavaScript (B+) 2 Courses, built way more shit in JS Stimulus MainlyGoal 4 (John): Focus πŸ’― (Closed agency, no more clients, doubled down on what I am good at)Top 2020 Trends (From John)Remote Work 😷Remote jobs used to have a requirement of having remote experience... now everyone has this experienceCommercialization of Open source πŸ€‘"Open source" that's also a product / companyhttps://www.gatsbyjs.com/https://nextjs.org/ (Vercel)https://www.cypress.io/https://www.sanity.io/https://github.com/mperham/sidekiqEven Microsoft acquisition of Github and continued changes there VS Code β†’ Atom"Niche" frameworks 🍾https://svelte.dev/https://github.com/alpinejs/alpineThis is Tailwinds' go-to for a JS solutionbridgetown"Hey" made server rendered sexy again πŸ‘‹JavaScript continued to eat the world 🍽️Vue 3 added a composition API that's very similar to React HooksLow Code / No Code ✨https://bubble.io/https://pipedream.com/https://stacker.app/Data warehousing πŸ€“https://www.tableau.com/https://mode.com/https://looker.com/

    Picks

    JP: https://www.rrauction.com/preview_gallery.cfm?Category=449

    John: Rails starters: https://jumpstartrails.com/ β€” https://bullettrain.co/

  • John: Welcome to Iteration, a podcast about programming, development, and design.

    John Intro β€” My name is John and I am a software developer for a home services startup.JP Intro β€” Hi, I'm JP and I am a software developer at a small analytics startup

    https://macwright.com/2020/05/10/spa-fatigue.html

    Topics / Guiding QuestionsWhat's a SPA?

    From the article

    The main UI is built & updated in JavaScript using React or something similar.The backend is an API that that application makes requests against.

    The more techincal one:

    https://developer.mozilla.org/en-US/docs/Glossary/SPA

    An SPA (Single-page application) is a web app implementation that loads only a single web document, and then updates the body content of that single document via JavaScript APIs such as [XMLHttpRequest]() and Fetch when different content is to be shown.

    This therefore allows users to use websites without loading whole new pages from the server, which can result in performance gains and a more dynamic experience, with some tradeoff disadvantages such as SEO, more effort required to maintain state, implement navigation, and do meaningful performance monitoring.

    Why do developers choose SPAs? Do end-users care about SPAs?What SPAs have you worked on / maintained?0 β€”When should you reach for a SPA?That's the right use case: Desktop app to the web.Spotify, Figma, photopea.comBreaks REST might be a good time to considerCommunityWhat's wrong with this SPA's?

    Increased complexity β€” Development and deployment

    Often times: 2 repositories, 2 languages or frameworks(Rails + Vue)(Node + Angular)(Rails + React)

    SEO + Speed β€” Have to do "Server Side Rendering"

    This reminds me of the light switches for "Smart" light bulbs. You've increased the complexity by a factor of 10 to get the exact same results.

    Maintainability? Stability?

    If not a SPA then what? (Is this a different Episode?)What's good about server rendered?How much you get for freeAsync fetchingState managementURL's just workStrong ConventionsStable minimal maintenanceWhat's bad about Server Rendered?Page ReloadCan feel clunkyLess ReactiveMobile App β€” Now what? SPA lays a stronger groundworkWhat's good about SPA'sBenefits are for the userDeveloper Ego'sData foundationsBreaks CRUDCommunityPushing technology forward is a good thing.What's bad about SPA'sHow much of a pain in the ass it is to Manage URL'sComplexity β€” Front end + Back endAuthenticationImage UploadMultiple API endpoints for a single pageState is way harder in a SPADebuggingClosing ThoughtsSPA's are great when you are breaking "REST / CRUD"SPA's are great when you need multiple consumers of the same dataThis is highly personal, you gotta go with what you love.WiFiPicksJohn β€” Distraction Free Phone from the book Make TimeMobile: Uninstall all "Infinity Pools" put "Parental controls" on for the rest. 3.5 hours down to 1 hour screen time. So much time back. Switched out twitter for Kindle.Other tip: Instagram Threads β€” only the shit you care about with no adsDesktop: https://selfcontrolapp.com/ β€”JP - https://railsnew.io/
  • In this episode we dive deep on tech stack choices, why they matter, how to choose one, when tech stack doesn't matter and when it makes all the difference in the world.

  • JP: Welcome to Iteration, a podcast about programming, development, and design.

    JP Intro β€” Hi, I'm JP and I am a software engineer at an analytics startup. Today, I am joined by John:John Intro β€” My name is John and I am a software developer based in Los Angeles CAToday's topic

    The "Codeless" movement, otherwise known as "Low Code / No Code"

    Said another way: Is Bubble and GPT-3 coming to take all of our jobs?

    We aren't talking about "Serverless" (Ex: Firebase / Aws Amplify / Parse) β€” Could be a good future episode.

    NOT tools like Auth0 or Twillio

    This is a "Full Stack" β€” No code app development framework in the cloud.

    WYSIWYG for "Apps"

    This isn't software!

    Popular Codeless tools

    Full "App" Development

    https://bubble.io/ (Most Powerful, widely used)https://www.appsheet.com/https://www.glideapps.com/https://thunkable.com/

    Internal Tool replacements β€” Kind of mini-modern salesforce or filemaker clones

    AirtableRetoolSmartsheetNotionQuickbase

    Domain Specific Codeless

    Shopify ← eCommerceSharetribe ← Build a Marketplace AppSubstack ← Paid NewslettersMighty Networks ← Paid CommunitiesPodia ← Sell online coursesSo so many moreUpsides of Low CodeLow Code / No Code is an incredible tool for going from 0-1.All NotesDownsides of Low CodeLow Code / No Code is most ideal for basic CRUD or internal simpler tools. Reading, updating and managing listings of data. Or β€” Very Domain specific (Shopify for eCommerce)It can be very hard to maintain, since you don't "own" your stack.Very very expensive to scale (Still cheaper than a team of Devs)Tons and tons of gotchas

    John's Opinion:

    Prototype + Build V1 of everything you can with no-code or off the shelf systems. Get things in customers hands.Biggest Issue β€” Low Code doesn't fix the Hard Part of SoftwareNotesOther thoughts regarding of Low codeNon tech sees code as "Barrier" not "Force Multiplier"Often times the time saved is actually due to the compromises made with a low-code / no code tool.Examples of compromises include:Recommendations for Using Low Code ToolsAccept the limitationsSpending too much time trying to solve for nit-picky edge-cases is likely to be a time suck here. Low-code / no-code will likely have rough edges and performance issues. Just embrace the hackyness.Don't ignore best practices of user interviews, research and domain design.Just because your not "coding" doesn't mean you shouldn't do your homework and have confidence before building. It's very easy to waste time building the wrong thing.Think about the data and lock inWhere does data live? Is it secure? is it backed up? Is it in a silo? Can it be migrated / exported?Popular Codeless Resourceshttps://www.nocode.tech/ (Community and resource list)https://zeroqode.com/ (Templates β€” Literally Buy an Airbnb clone for $300)Good Articles / Podcasts on Low code / no codeRyan Hoover: The Rise of No-CodePodcast: Going Codeless: Is this the way of the future?Forbes: The Low-Code/No-Code Movement: More Disruptive Than You RealizePicksJohn β€” Lighthouse Chrome Dev ToolsJP - https://github.com/kelseyhightower/nocode
  • Welcome to Iteration, a podcast about programming, development, and design.

    John's blog post on the topic

    PicksJP: Siema SliderJohn: Rough Notation JS
  • Welcome to Iteration, a podcast about programming, development, and design.

    This week we talk through the most common abbreviations in software.

    For a whole complete list and discussion β€” visit this link

    PicksJohn: TeladocJP: https://github.com/scenic-views/scenicLinks JP on TwitterJohn on Twitter
  • 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 codebaseSubmitting your first PRUnderstanding how data flows through the appI've found that the organization of the code and the quality of abstractions makes or breaks this pointRamping 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 softwareRead the Docs, all that you can get your hands onReview closed issues / tickets, try to understand the language /culture of the teamReview the tests, this is a good place to start if there is any, especially integration or feature tests that are higher levelFind the "God" objects if you can.Write docs as you go, great way to get it into your headOnboarding someone else onto a new codebase

    From JP

    Hiring contractors for a projectOnboarding new hiresReviewing 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 reverseFirst: Domain ContextThen β€”Provide DocsTestsSimple first issuePair on the onboarding Dev's first PR VS sink or swimTry to demonstrate what tools and process you use in a projectPicks

    JP: https://apps.apple.com/de/app/meeter-fast-call-initiation/id1510445899?l=en&mt=12

    John:

    Rails View ComponentsIt'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.
  • 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 summarySection 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 friendlyDo 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

    LinchpinStartup of YouJP: Crucial ConversationsSection 2: Marketing yourselfFrom 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 canTake 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 serviceI have mixed feelings about marketing yourself. I go back and forth on whether or not I want a bigger online presenceSection 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 codeWhiteboard, talk about problems from a domain perspectiveSection 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 DoneBreak down the work.80/20 β€” Pareto principleEat that Frog

    JP:

    I'm currently giving Pomodoro a shot. I'm trying to figure out how to effectively context shiftHow 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: Communication

    This one probably goes at the top of my list.#1 β€” Learn to be a better writer.Book: On Writing WellTool: Hemingway EditorHeadline writing β€” Most important things firstLearn how to explain complicated topics. ELI5

    Picks

    John: NapsJP: Loom screen recording
  • 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 ironAt 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 managementPrograming is all about abstractions β€”Shared abstractionsFramework vs LibraryLine 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 Frustratinghttps://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 sitesThe 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: 53kInitial Release: 2006From JP: https://mootools.net/

    Angular

    Github Stars: 60kInitial Release: 2010John: 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: 148kInitial Release 2013John: 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: 164kInitial Release 2014John: 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 mentionsMeteor / Ember / BackboneFrameworks of Frameworks:Next js β€” New up and coming β€” BlitzGatsbtySails JSLast MentionStimulus (Mostly for Rails)Initial release 2019John uses heavily, it's like a lightweight Vue customized for Rails.Tips for Using a JS FrameworkJP: Learn Vanila JavaScript firstJohn: Go all inJP's Pick

    https://www.instagram.com/archipics.ig/

    John's PickGetting back to Basics Beginner JavaScript (Wes Bos Course)I'm halfway through a Beginner JavaScript course, 80% of it is really really easy, the other 20% is such good missing pieces.DestructingMethods in JS ObjectsUnderstanding Hoisting
  • Welcome to Iteration, a weekly podcast about programming, development, and design.

    JP LayoffsLet's talk about layoffs!https://techcrunch.com/2020/04/15/softbank-backed-opendoor-has-announced-a-massive-layoff-cutting-35-of-its-employees/600+ employeesI got laid off on my birthday! The response has been overwhelmingly supportive and I've talked to dozens of startups in the last two weeks. (It's been exactly two weeks at the time of the recording)Sometimes you have to realize how incredibly privileged we are to be in the tech industry. I can't imagine people in the food service industry, for example, getting the same kind of attentionCollab tools:vid streaming is hot nowhttps://github.com/jeanpaulsio/action-cable-signaling-serverJohn LayoffsC19 forced our company to extend our runway, laying off half our team.7 of 11 got laid offThis has been hard to adapt, created a lot of work and pushed out our timelines.Interviews?Phone Screens over a dozenLeads from personal network + spreadsheetsHot tip: If you are in high demand set up a calendlyHot tip: Block out time in your calendar so it's not wall to wall meetings30 minutes is bad 25 minutes and 55 minutesInterviews 4 or 5 technical interviewsState of techRestaurants with awkward appsJohn Bad IRS SiteThe new IRS website to get stimmy money breaks every single UI best practice. It’s a perfect case study usability 101Validations aren't until after submissionNot responsiveOnly supports firefox (Officially)Very strange validations - money with no coma or $ST vs Street with no previous notice.Reddit threadJP Government Websites are just kind of funny in generalI filled out the Census 2020 form yesterday (I know, I procrastinated)Why are the options in the form of questions?

    save for another convo? vvv Yea for sure β€” Going too long.

    Let's wrap

    Future TopicsPicks

    John - Notion Pro β€” Notion Examples - Progress bars, advanced formulas Dependent tasks. A lot of fun tips / tricks / hacks

    command + k for links!

    Shift + Enter for new lines JP -

    JP: Really cool PBS series - Crash Course Comp Sci

    Links + ReferencesJP's Action Cable Signaling Server RepoOpenDoor Layoffs announcement
  • Welcome to Iteration, a weekly podcast about programming, development, and design.

    Article that inspired the episode

    Quick notes from this article:

    problem statement: interviewing can be annoying because it's an interruption from deep workproblem statement: after you've done a ton, it can be boringtwo critical skillsets: attracting talent (making candidates want to work with you) + spotting talent (accurately assessing whether you want the candidate to work with you)then it goes on to talk about beginner, competent, proficient, and expert interviewersread this article to see where you are in both attracting and assessing talentContext

    How many interviews have you conducted?

    JP: At 2 years of Opendoor, I have conducted somewhere between 30-40 interviews. I wouldn't consider this a lot, but my last 10 have definitely been an improvement from my first 10.

    John: Pre-tech I did around 50+ interviews. In tech I've done as well 30-40 interviews

    What type of interviews do you conduct? Behavioral? Technical?

    JP: I've only ever conducted technical interviews

    John: I cover mostly behavioral/cultural and cover technical as well.

    Take me through your interview process:

    what should a candidate expect if they were to be interviewed by you?

    JP: I set expectations really early on and give candidates a whole layout for the entire interview. The basic format for my interview is:

    quick intros, try to keep this to a maximum of: 3 minutesintroduction to the question + planning before execution: 5 minutespair programming: 45-50 minutesclosing questions: the remainder

    John: I always over-communicate and try to "do" as little as possible during the interview. I prioritize "Async" interviews as much as possible.

    More recent process:Job Listing Job listing with very clear compensation listedApplications Applicants Apply (150+ for last open position)Shortlist Pick the top 10 (or so) I am interested in ignoring name or email address (Hide the columns) and look at the objective experience, read their writing (because we are remote)Code Challenge Email that top 5-10 and offer $100 to do a code challenge, takes anywhere from 2-4 hours. Last time it was implementing an API, they get the $100 when they submit a PR for review. Again set expectations on the start date, role, compensation etc. Set expectations for a review. It's a small test to see how we work together.Async Code Review Sr Developer and I leave comments, ask questions about the implementation Async.Real-time interviews β€” Then pick the top 2-3 from that phase and do real-time interviews.Re-iterate the position, compensation and expectationsWe talk background, career goals and motivations for applying to this jobThey walk me through their code challenge, why they wrote it the way they did.Then I allow time for them to ask me questions about the position.What would it take for someone to pass your interview?JP: We have to fill out a form after we conduct interviews so there is some grading criteria. i.e. code quality, tests, communication, algorithm speed, etc. I try not to nit pick language specific, trivia-like things. For example, it doesn't matter to me if a candidate doesn't know off the top of their head the syntax of setTimeout if they've spent the last year coding mostly in Python.Things are obviously different for hiring a new grad vs. a senior engineer. The bar variesJohn: Core things I am looking for: effective communication (written and spoken), self-motivated individuals (managers of one), skilled learner, Very competent in at least one language or framework (not even my own stack).Hot tips / Things to keep in mind

    JP

    Don't let a candidate spin their wheels - try to unblock them. See what working with them would actually be like.

    John

    My interview style is a bit different.

    Honest β€” Never set any kind of false expectation, be yourselfUnpretentious β€” No trick questions or techno-bableReal β€” Try to communicate and work with candidates as you would in the job.You'd never toss out a question "just to stump" a coworkerPicks

    JP: https://github.com/ayu-theme/ayu-vim - I've moved away from Dracula

    JP: https://whimsical.com/

    John: Book: Every Tool's a Hammer by Adam Savage β€” Yes, Mythbusters guy but also incredible maker and leader of technical teams building really complex things

    so many great similarities to tech.Planning, Working, Creativity, burnout, estimating,plus a whole chapter on types of glue and random stories from his special effects days.I've really dug this book, doing the audiobook, will be buying a physical copy.
  • Welcome to Iteration, a weekly podcast about programming, development, and design.

    First, some fun questions:

    πŸ‘or πŸ‘Ž on writing CSS?

    What do you love about CSS, what do you hate?

    To this day, what are some of the things you don't understand?

    JP: CSS Grid, Floats (kind of. I always forget what the clearfix thing is for)Frameworks

    WTF ?β€” Here is a set of components you can build, pre-defined styles, gives you a starting point. Pre-buit UI.

    Popular Ones

    Boostrap β€” Pre-defined class "Components" card shadow

    Tailwinds β€” Much more like Tachyons md:flex g-white rounded-lg p-6

    Material UI

    Foundation

    Atomic CSS / Tachyons

    Skeleton

    Pros / Cons

    Tailwind

    Pro: Using tailwind for side project. Wrote 0 css

    Tailwind components (Basically a better looking bootstrap)

    Con: Output is derivative

    JP's argument β€” you could design anything you wanted

    It's more of a function of what the docs provide.

    Pro for Tailwind β€” Tailwind doesn't come with baked in components

    How do we overcome derivative sites?

    Could be tools

    But I think it's more about pushing the design side more

    Thinking in terms of "Bootstrap Components"

    Think more first principle

    Strong designer to push you too break the bounds of these frameworks

    Frameworks - Pros and Cons of Each

    Boostrap

    John: My top choice. I know it better than any other framework. I don't think it's "The best"

    Tailwinds

    Tachyons

    John: Worked with it a lot, had some client projects use their own fork. Really powerful but it starts just feeling like "inline styles" SO MANY Classes

    bg-dark-green ba bw5 dshadow2 br2 pb3

    It's like ok ok calm down.

    Material UI

    Skeleton

    Nice for quick projects. Super lightweight. Our agency site was built in SkeletonImplementation

    Customizing it

    Tailwind

    Example: H1's β€” identifying patterns

    Take a set of classes and use the "apply" function

    Single set to define your custom classes.

    You throw those into a single class called "Heading"

    Bootstrap

    Starts with customizing variables

    These variabels are used in the

    Picks

    JP: https://thoughtbot.com/blog/running-specs-from-vim

    John:

    "Copy css" from sketch

    Css in Figma

    Re-pick: https://refactoringui.com/ (Same guy behind Tailwind)

    Referenced: https://a.singlediv.com/