Coding Chats episode 52 - Robert Balicki discusses Isograph, an opinionated framework designed to simplify the development of data-driven applications, particularly with GraphQL and React. He explains the challenges faced in web development, such as over-fetching data and network waterfalls, and how Isograph addresses these issues by allowing developers to focus on specific components and their data needs. The discussion also covers the technical foundation of Isograph, built using Rust, and the challenges of compiler development. Robert emphasizes the importance of testing, CI/CD integration, and the potential for Isograph to scale effectively in large projects. He invites developers to get involved in the project and contribute to its growth.
Chapters
00:00 Introduction to Isograph
05:11 Understanding the Problem Isograph Solves
09:57 The Concept of Opinionated Frameworks
13:40 Exploring Network Waterfalls
16:43 Testing and CI/CD Integration
20:49 Scaling with Monorepos and Integration
27:57 Future Vision for Isograph
28:04 Understanding Isograph's Runtime and Compiler
29:40 The Influence of Rust in Compiler Development
32:04 The Challenges of Building a Compiler
35:53 Transitioning from Batch to Incremental Compilation
45:28 Leveraging Rust for Enhanced Developer Experience
52:55 Community Engagement and Future of Isograph
56:32 Exploring Related Content
LINKS
Robert's Links:
Isograph: http://isograph.dev/
John's Links:
John's LinkedIn: https://www.linkedin.com/in/johncrickett/
John’s YouTube: https://www.youtube.com/@johncrickett
John's Twitter: https://x.com/johncrickett
John's Bluesky: https://bsky.app/profile/johncrickett.bsky.social
Check out John's software engineering related newsletters:
Coding Challenges: https://codingchallenges.substack.com/ which shares real-world project ideas that you can use to level up your coding skills.
Developing Skills: https://read.developingskills.fyi/ covering everything from system design to soft skills, helping them progress their career from junior to staff+ or for those that want onto a management track.
Takeaways
Isograph simplifies building data-driven applications.
The framework is opinionated, promoting best practices.
Network waterfalls can degrade user experience.
Isograph allows for precise data fetching.
Testing is a key focus in Isograph's development.
Rust provides safety and performance benefits.
The framework aims to support SQL backends in the future.
Isograph encourages a full-stack development approach.
Community involvement is welcomed through Discord.
The developer experience with Isograph is superior to other frameworks.
Coding Chats episode 51 - Shane Harger shares her unique career journey from web development and graphic design to firefighting and back to tech, emphasizing the importance of pair programming, incident management lessons, and the evolving role of AI in software development. She discusses the significance of DevOps and platform engineering in enhancing team collaboration and efficiency, while also highlighting the value of junior developers in fostering a learning environment within teams.
Chapters
00:00 Shane Harger's Unique Career Journey
05:32 Transitioning from Firefighting to Tech
10:12 The Importance of Pair Programming
15:01 Lessons from Incident Management
20:02 DevOps and Platform Engineering Insights
27:44 The Dynamics of Code Review and Pair Programming
29:54 AI as a Partner in Programming
34:03 Key Learnings from AI Pair Programming Experiments
45:37 The Importance of Diverse Pairing in Development Teams
Shane's links:
https://www.linkedin.com/in/shaneharger/
John's Links:
John's LinkedIn: https://www.linkedin.com/in/johncrickett/
John’s YouTube: https://www.youtube.com/@johncrickett
John's Twitter: https://x.com/johncrickett
John's Bluesky: https://bsky.app/profile/johncrickett.bsky.social
Check out John's software engineering related newsletters:
Coding Challenges: https://codingchallenges.substack.com/ which shares real-world project ideas that you can use to level up your coding skills.
Developing Skills: https://read.developingskills.fyi/ covering everything from system design to soft skills, helping them progress their career from junior to staff+ or for those that want onto a management track.
Takeaways
Shane's career spans web development, firefighting, and consulting.
Firefighting provided unexpected tech opportunities in incident management.
Pair programming fosters camaraderie and knowledge sharing.
DevOps emphasizes ownership and collaboration in software development.
AI can assist in coding but lacks the human element of teamwork.
Juniors bring fresh perspectives and questions that benefit teams.
Effective incident management requires calmness and basic troubleshooting skills.
Automation in DevOps enhances response times and reduces handovers.
Product thinking is essential for infrastructure teams to meet customer needs.
The transition from POC to production can be challenging without clear requirements.
Coding Chats episode 50 - Lou Franco discusses the concept of technical debt, its implications for software development, and the importance of quantifying it. He emphasizes that technical debt is not just a financial metaphor but a real issue affecting developer productivity and team dynamics. The discussion also covers the role of managers in understanding and addressing technical debt, the importance of metrics, and the eight questions that can help teams evaluate their technical debt. Additionally, the conversation touches on the impact of AI on technical debt management, highlighting both its potential benefits and challenges.
Chapters
00:00 Understanding Technical Debt
03:17 The Financial Metaphor of Tech Debt
06:04 Defining Technical Debt: Internal vs External Effects08:59 The Role of Developer Productivity
12:05 The Team Responsibility of Technical Debt
14:51 Why Managers Should Care About Tech Debt
18:05 Quantifying Technical Debt for Visibility
20:57 Improving Developer Productivity
23:43 Communicating Tech Debt to Executives
26:41 Understanding Technical Debt and Its Management
36:37 The Eight Questions for Managing Technical Debt
46:29 AI's Role in Technical Debt: A Double-Edged Sword
Lou's Links:
LinkedIn: https://www.linkedin.com/in/loufranco/Book: https://loufranco.com/tech-debt-book
John's Links:
John's LinkedIn: https://www.linkedin.com/in/johncrickett/
John’s YouTube: https://www.youtube.com/@johncrickett
John's Twitter: https://x.com/johncrickett
John's Bluesky: https://bsky.app/profile/johncrickett.bsky.social
Check out John's software engineering related newsletters:
Coding Challenges: https://codingchallenges.substack.com/ which shares real-world project ideas that you can use to level up your coding skills.
Developing Skills: https://read.developingskills.fyi/ covering everything from system design to soft skills, helping them progress their career from junior to staff+ or for those that want onto a management track.
Takeaways
Technical debt is often misunderstood and miscommunicated.
The financial metaphor of technical debt can be misleading.
Technical debt can arise from changing technologies, not just poor choices.
Developers experience anxiety due to technical debt affecting estimates.
Managers need to understand the visible effects of technical debt.
Quantifying technical debt helps in communicating its impact.
The eight questions framework aids in evaluating technical debt.
AI can assist in managing technical debt but requires careful oversight.
Collaboration with other teams can provide valuable insights into technical debt.
Technical debt should be viewed as a team responsibility, not just an individual issue.
Coding Chats episode 49 - John Crickett and Kev Milne delve into the critical realm of cybersecurity, exploring its various facets from social engineering to the importance of penetration testing. They discuss the evolution of attacks, the role of AI, and the significance of mainframes in modern security. The conversation also highlights the career paths in cybersecurity and the necessity for continuous investment in security measures to protect digital assets.
Chapters
00:00 Understanding Cybersecurity
03:38 The Evolution of Attacks: Physical vs. Digital
06:18 Social Engineering: The Art of Deception
09:15 The Importance of Penetration Testing
12:02 Career Paths in Cybersecurity
14:49 The Diverse Landscape of Cybersecurity
17:56 The Necessity of Ongoing Security Measures
20:34 The Cost of Neglecting Cybersecurity
25:48 The Evolution of Wi-Fi Security
27:04 Mainframes: The Misunderstood Giants
28:15 Mainframe Security: Myths and Realities
30:02 The Challenge of Legacy Code
32:20 Balancing Security and Functionality
34:12 Defense in Depth: A Security Strategy
35:35 AI's Role in Cybersecurity
37:50 The Threat Landscape: Script Kiddies and Beyond
38:34 Training the Next Generation of Cybersecurity Experts
41:36 The Importance of Conferences in Cybersecurity
Kev's Links:
LinkedIn: https://www.linkedin.com/in/kevinmilne/
Website where folks can obtain the Mainframe Offensive Security Tester course, download the Gibson Mainframe Simulator or purchase the Cyber Coach labs: https://offensivesec.org
Try out some free labs Kev has created: https://cyber-coach-labs-bd010da0.base44.app/FreeLabs
John's Links:
John's LinkedIn: https://www.linkedin.com/in/johncrickett/
John’s YouTube: https://www.youtube.com/@johncrickett
John's Twitter: https://x.com/johncrickett
John's Bluesky: https://bsky.app/profile/johncrickett.bsky.social
Check out John's software engineering related newsletters:
Coding Challenges: https://codingchallenges.substack.com/ which shares real-world project ideas that you can use to level up your coding skills.
Developing Skills: https://read.developingskills.fyi/ covering everything from system design to soft skills, helping them progress their career from junior to staff+ or for those that want onto a management track.
Takeaways
Cybersecurity is essential for protecting digital assets.
Social engineering remains a significant threat today.
Red teaming involves advanced penetration testing techniques.
Understanding networking is crucial for aspiring penetration testers.
Mainframes are still vital for processing transactions.
AI can both aid and complicate cybersecurity efforts.
Continuous investment in cybersecurity is necessary for businesses.
Penetration testing should be a standard practice for all companies.
Security requires a layered defense approach.
Conferences are valuable for staying updated in cybersecurity.
Coding Chats episode 48 - John Crickett and Gilad Naor explore the differences between working at startups and big tech companies, discussing the pros and cons of each environment. They delve into career growth, the importance of mentorship, and the balance between specialization and generalization in tech careers. The discussion also covers the management track versus individual contributor roles, the role of managers in creating positive change, and the significance of interview preparation. Additionally, they highlight the value of side projects and the necessity for managers to build empathy through understanding various roles within their organizations. The conversation concludes with advice on taking ownership of one's career and the importance of continuous personal development.
Chapters
00:00 Startups vs. Big Tech: A Comparative Overview
03:19 Navigating Career Growth in Tech
06:08 The Reality of Big Tech Work
09:06 Specialization vs. Generalization in Tech Careers
11:39 The Management Track: Leadership vs. Management
14:28 Creating Positive Change as a Manager
17:14 Interview Preparation for Managers
20:33 Choosing the Right Stories for Interviews
26:59 Navigating Conflict in Technical Leadership
29:12 Addressing Gaps in Management Experience
32:15 Interview Strategies for Senior Roles
35:17 Demonstrating Depth of Experience in Interviews
38:52 The Role of Side Projects in Personal Development
42:02 The Importance of Technical Empathy in Management
47:32 Taking Ownership of Your Career
Gilad's Links:
Gilad's LinkedIn: https://www.linkedin.com/in/giladnaor
Gilad's Website: https://managementdeltas.com/
John's Links:
John's LinkedIn: https://www.linkedin.com/in/johncrickett/
John’s YouTube: https://www.youtube.com/@johncrickett
John's Twitter: https://x.com/johncrickett
John's Bluesky: https://bsky.app/profile/johncrickett.bsky.social
Check out John's software engineering related newsletters:
Coding Challenges: https://codingchallenges.substack.com/ which shares real-world project ideas that you can use to level up your coding skills.
Developing Skills: https://read.developingskills.fyi/ covering everything from system design to soft skills, helping them progress their career from junior to staff+ or for those that want onto a management track.
Takeaways
Working at startups allows for a broader range of experiences.
Big tech offers more mentorship opportunities for career growth.
The term 'startup' can encompass a wide range of company sizes and structures.
Career growth in tech often requires navigating internal mobility.
Specialization can provide a competitive advantage in tech careers.
Management and leadership are distinct roles that require different skill sets.
Interview preparation is crucial for both managers and individual contributors.
Building empathy as a manager involves understanding various roles in the organization.
Side projects can help maintain technical skills and foster personal development.
Taking ownership of your career is essential for success.
Coding Chats episode 47 - Warren Beazley shares his extensive experience in recruiting CTOs and outlines a five-step process designed to help tech leaders navigate the job market effectively. He emphasizes the importance of understanding one's value proposition, building a strong network, creating engaging content, and actively engaging with potential employers. The discussion highlights the challenges posed by traditional job searching methods and the impact of AI on recruitment, while offering practical strategies for candidates to stand out in a competitive landscape.
Chapters
00:00 Introduction to the Five-Step Process
10:53 Understanding the Job Market Dynamics
19:08 The Importance of Value Proposition
27:57 Building Your Network Effectively
36:17 Creating Engaging Content on LinkedIn
42:46 Leveraging Personal Experiences for Content Creation
45:32 The Importance of Storytelling in Professional Growth
48:20 Detailing Achievements for Interviews
50:12 Building a Library of Personal Stories
52:49 Understanding LinkedIn's Algorithm and Engagement
54:26 Ethical Stalking: Engaging with New Connections
58:16 The Power of Meaningful Comments
01:00:50 Recap of Five Steps for LinkedIn Success
01:03:39 Transforming Your LinkedIn Profile into a Landing Page
01:08:04 Creating Value Through Content and Networking
John's Links:
John's LinkedIn: https://www.linkedin.com/in/johncrickett/
John’s YouTube: https://www.youtube.com/@johncrickett
John's Twitter: https://x.com/johncrickett
John's Bluesky: https://bsky.app/profile/johncrickett.bsky.social
Check out John's software engineering related newsletters: Coding Challenges: https://codingchallenges.substack.com/ which shares real-world project ideas that you can use to level up your coding skills.
Developing Skills: https://read.developingskills.fyi/ covering everything from system design to soft skills, helping them progress their career from junior to staff+ or for those that want onto a management track.
Takeaways
The traditional job search process is broken and needs a new approach.
Understanding your value proposition is crucial for job seekers.
Networking is essential; aim to connect with relevant individuals daily.
Quality content creation is more important than quantity.
Engaging with your network can lead to new opportunities.
AI screening tools often miss qualified candidates due to keyword matching.
Your LinkedIn profile should serve as a landing page, not just a CV.
Consistency in posting content on LinkedIn can enhance visibility.
Building relationships through meaningful comments is key to networking.
Candidates should view themselves as a solution to potential employers' problems.
Coding Chats episode 46 - John Crickett and Fernando Villalba delve into the concept of Developer Experience (DevEx) and its significance in software engineering. They discuss how optimizing for flow state can enhance productivity, the importance of effective tooling, and the role of a supportive work environment. The conversation also touches on team dynamics, the necessity of regular retrospectives, and the impact of meetings on developer flow. Ultimately, they emphasize that improving developer experience is not just beneficial for developers but is also a strategic advantage for companies.
Chapters
00:00 Understanding Developer Experience
03:14 Optimizing for Flow State in Development
05:56 The Importance of Tooling in Developer Experience
08:36 Creating a Supportive Work Environment
11:34 The Role of Developer Experience in Team Dynamics
14:10 The Business Case for Investing in Developer Experience
16:53 Improving Team Retrospectives for Better Developer Experience
26:56 The Role of Daily Standups in Agile Teams
32:36 Effective Meeting Practices and Rituals
36:26 Understanding Scrum and Its Misinterpretations
42:50 Optimizing Developer Experience for Flow State
Fernando's Links:
https://www.linkedin.com/in/nandoit/
John's Links:
John's LinkedIn: https://www.linkedin.com/in/johncrickett/
John’s YouTube: https://www.youtube.com/@johncrickett
John's Twitter: https://x.com/johncrickett
John's Bluesky: https://bsky.app/profile/johncrickett.bsky.social
Check out John's software engineering related newsletters:
Coding Challenges: https://codingchallenges.substack.com/ which shares real-world project ideas that you can use to level up your coding skills.
Developing Skills: https://read.developingskills.fyi/ covering everything from system design to soft skills, helping them progress their career from junior to staff+ or for those that want onto a management track.
Takeaways
Great developer experience is about how easy it is for developers to get into a flow state.
Optimizing for flow state can lead to better productivity and code quality.
Tooling should allow developers to perform tasks in the least number of steps possible.
A well-structured office environment can enhance developer focus and reduce distractions.
Companies should invest in their developers' experience to improve overall output and satisfaction.
Team dynamics and communication significantly impact developer experience.
Regular retrospectives can help teams identify and eliminate friction points.
Meetings should be purposeful and well-structured to avoid wasting time.
Adapting methodologies to fit the team's needs is crucial for success.
Creating a culture of care and support can enhance developer engagement.
Coding Chats episode 45 - Guy Allen and John Crickett discuss the dynamics between software engineers, hiring managers, and recruiters and how they can work together to recruit the best software engineers. They explore effective strategies for collaboration, the importance of clear communication, and the impact of recruitment models on candidate experiences. The discussion emphasizes the need for engagement, the significance of tailored job specifications, and the value of building long-term relationships with recruiters. Additionally, they touch on the role of AI in recruitment and the necessity of maintaining a human touch in the hiring process.
Chapters
00:28 How hiring managers can work effectively with recruiters
10:37 What else can a hiring manager do to work effectively with a recruiter?
17:39 How important is a clear job spec and sharing details with the recruiter?
Guy's Links:
https://www.linkedin.com/company/futura-talent/https://futura-talent.com/
John's Links:
John's LinkedIn: https://www.linkedin.com/in/johncrickett/
John’s YouTube: https://www.youtube.com/@johncrickett
John's Twitter: https://x.com/johncrickett
John's Bluesky: https://bsky.app/profile/johncrickett.bsky.social
Check out John's software engineering related newsletters:
Coding Challenges: https://codingchallenges.substack.com/ which shares real-world project ideas that you can use to level up your coding skills.
Developing Skills: https://read.developingskills.fyi/ covering everything from system design to soft skills, helping them progress their career from junior to staff+ or for those that want onto a management track.
Takeaways
Software engineers should engage actively with recruiters.Hiring managers need to provide clear job specifications.
More recruiters do not guarantee better results.
Building relationships with recruiters is essential.
Engagement leads to better candidate experiences.
Quality over quantity in job applications is crucial.
Clear communication improves recruitment outcomes.
Understanding different recruitment models is important.
Human interaction enhances the recruitment process.
AI should not replace the human element in hiring.
Coding Chats episode 44 - Joe Woodhouse shares his unique journey from software to non-executive director roles, emphasizing the importance of building skills, networking, and understanding board dynamics. He discusses the concept of 'luck surface area' and how being open to opportunities can lead to success. Joe highlights the significance of emotional intelligence in leadership and the value of experience in non-profit boards. He also addresses the role of training and education in career advancement and the importance of diversity in board composition.
Chapters
00:00 Developing Skills for Non-Executive Roles
04:50 The Role of Non-Executive Directors
05:33 Luck Surface Area: Creating Opportunities
10:50 Understanding Cash Flow in Decision Making
16:27 The Value of an MBA in Business Understanding
19:51 Understanding Reputational Damage in Security
20:21 The Importance of Team Dynamics in Business
21:34 Engagement in Community Projects
22:42 Diversity in Perspectives and Decision Making
24:22 Conflict Resolution in Community Committees
24:54 Financial Planning and Resource Allocation
27:45 The Role of Not-for-Profits in Society
28:42 Profitability in Not-for-Profit Organizations
30:30 Emotional Decision Making in Business
32:09 The Journey to Board Membership
33:07 The Value of Experience Over Formal Training
34:07 The Industry of Self-Help and Career Advancement
36:30 The Path to Board Roles
41:09 The Importance of Volunteer Experience
43:51 Big Tech's Perspective on Board Experience
45:57 Influence vs Authority in Leadership
49:26 Diversity and the Wisdom of Crowds
52:08 The Value of Soft Skills in Business
53:07 Encouragement to Volunteer and Engage
Joe's Links:
https://www.linkedin.com/in/joewoodhouseengineer/
John's Links:
John's LinkedIn: https://www.linkedin.com/in/johncrickett/
John’s YouTube: https://www.youtube.com/@johncrickett
John's Twitter: https://x.com/johncrickett
John's Bluesky: https://bsky.app/profile/johncrickett.bsky.social
Check out John's software engineering related newsletters: Coding Challenges: https://codingchallenges.substack.com/ which shares real-world project ideas that you can use to level up your coding skills.
Developing Skills: https://read.developingskills.fyi/ covering everything from system design to soft skills, helping them progress their career from junior to staff+ or for those that want onto a management track.
Takeaways
Joe Woodhouse's journey showcases a unique path to non-executive roles.
Building skills for board positions requires deliberate effort and experience.
The concept of 'luck surface area' emphasizes the importance of being open to opportunities.
Networking and curiosity are key to creating professional connections.
Understanding board dynamics is crucial for effective decision-making.
Non-executive directors play a vital role in governance and strategy.
Cash flow considerations are essential in business decision-making.
Experience in non-profit boards can provide valuable insights and skills.
Emotional intelligence is critical for influencing and leading teams.
Diversity in board composition enhances decision-making and innovation.
Coding Chats episode 43 - Guy Allen and John Crickett discuss how software engineers can effectively work with recruiters to find a job. They explore the importance of building relationships, understanding different types of recruiters, crafting an effective CV, leveraging AI in job applications, and maximizing LinkedIn for job searches. The discussion emphasizes empathy, visibility, and the need for clear communication in the recruitment process.
Chapters
00:00 Building Relationships with Recruiters
04:22 Understanding Different Types of Recruiters
12:13 Crafting an Effective CV19:45 The Role of AI in Job Applications
21:49 Leveraging LinkedIn for Job Search
Guy's Links:
https://www.linkedin.com/company/futura-talent/
https://futura-talent.com/
John's Links:
John's LinkedIn: https://www.linkedin.com/in/johncrickett/
John’s YouTube: https://www.youtube.com/@johncrickett
John's Twitter: https://x.com/johncrickett
John's Bluesky: https://bsky.app/profile/johncrickett.bsky.social
Check out John's software engineering related newsletters: Coding Challenges: https://codingchallenges.substack.com/ which shares real-world project ideas that you can use to level up your coding skills.
Developing Skills: https://read.developingskills.fyi/ covering everything from system design to soft skills, helping them progress their career from junior to staff+ or for those that want onto a management track.
Takeaways
Building relationships with recruiters is crucial for candidates.
Candidates should follow up on applications to stand out.
Empathy towards recruiters can improve communication.
Tailor applications for different types of recruiters.
Providing clear context in CVs is essential.
Candidates should highlight their achievements and impact.
AI can assist in job applications if used wisely.
A detailed LinkedIn profile increases visibility to recruiters.
Networking on LinkedIn can enhance job search opportunities.
Understanding the recruitment market dynamics is important.
Coding Chats episode 42 - Joe Woodhouse shares his journey with John Crickett - from a young software enthusiast to a non-executive director. He discusses the importance of customer engagement in software development, the balance between customer needs and technical solutions, and how he navigated his career without traditional management titles. Joe emphasizes the value of diversity in boards and the 'jobs to be done' theory, illustrating how understanding the underlying needs of customers can lead to better solutions and business outcomes.
Chapters
00:00 Journey into Software Development
05:55 Customer-Facing Roles and Solution Architecture
11:56 Soft Skills in Tech
17:52 Transitioning to Non-Executive Director
37:36 The Impact of Diversity on Board Performance
41:44 Disagree and Commit: A Misunderstood Concept
47:09 The Importance of Being Heard and Understood
52:56 Building Trust Through Authenticity
Joe's Links:
https://www.linkedin.com/in/joewoodhouseengineer/
John's Links:
John's LinkedIn: https://www.linkedin.com/in/johncrickett/
John’s YouTube: https://www.youtube.com/@johncrickett
John's Twitter: https://x.com/johncrickett
John's Bluesky: https://bsky.app/profile/johncrickett.bsky.social
Check out John's software engineering related newsletters:
Coding Challenges: https://codingchallenges.substack.com/ which shares real-world project ideas that you can use to level up your coding skills.
Developing Skills: https://read.developingskills.fyi/ covering everything from system design to soft skills, helping them progress their career from junior to staff+ or for those that want onto a management track.
Takeaways
Joe's passion for software began in primary school.
He transitioned from individual contributor to non-executive director through diverse experiences.
Customer engagement is crucial for effective software solutions.
Balancing customer needs with technical capabilities is essential.
Management roles are not the only path to leadership.
Diversity in boards can enhance company performance.
Understanding the 'jobs to be done' theory is vital for effective sales and marketing.
Soft skills are critical for success in technical roles.
Curiosity and understanding others can lead to better collaboration.
Disagreeing constructively can foster innovation and trust.
Coding Chats episode 41 - Julianna Messineo shares her journey with John Crickett, from being a math teacher to transitioning into the tech industry, particularly focusing on educational technology (EdTech). She discusses her experiences with various educational software, the challenges she faced in the job market, and the importance of building projects to enhance her skills. Julianna also emphasizes the significance of networking and personal branding in her job search, as well as the role of AI and podcasts in her learning process. The conversation concludes with Julianna's aspirations for the future and her ongoing projects.
Chapters
00:00 Introduction to EdTech and Personal Journey
03:17 Challenges in Educational Software and UX
06:02 Transition from Teaching to Tech
08:40 Navigating the Job Market in Tech
11:11 Building Projects and Learning by Doing
13:47 Networking and Community Engagement in EdTech
20:48 Building Connections and Networking
22:45 The Importance of Personal Branding
25:09 Learning Through Projects
27:15 Utilizing Podcasts for Learning
29:24 The Role of AI in Learning
33:00 Exploring Coding Challenges and Projects
Julianna's Links:
https://www.linkedin.com/in/julianna-messineo/
John's Links:
John's LinkedIn: https://www.linkedin.com/in/johncrickett/
John’s YouTube: https://www.youtube.com/@johncrickett
John's Twitter: https://x.com/johncrickett
John's Bluesky: https://bsky.app/profile/johncrickett.bsky.social
Check out John's software engineering related newsletters:
Coding Challenges: https://codingchallenges.substack.com/ which shares real-world project ideas that you can use to level up your coding skills.
Developing Skills: https://read.developingskills.fyi/ covering everything from system design to soft skills, helping them progress their career from junior to staff+ or for those that want onto a management track.
Takeaways
EdTech encompasses a wide range of educational technologies.
User experience (UX) in educational software is often lacking.
Transitioning from teaching to tech can be challenging due to job market conditions.
Building projects is a crucial part of learning software development.
Networking and personal branding are essential for job seekers in tech.
Podcasts can be a valuable resource for learning on the go.
AI can assist in coding but requires critical evaluation of suggestions.
The job market for junior developers is currently very competitive.
Creating educational tools can help bridge the gap in learning.
Engaging with the community can lead to job opportunities.
Coding Chats episode 40 - David Weiss shares his journey from being a Spanish teacher to a software engineer, highlighting the transferable skills that educators bring to tech. He discusses the importance of teaching in reinforcing knowledge, the challenges of building SaaS applications, and the significance of personal branding in today's job market. David also introduces his initiative, Build to Give, which connects early career tech professionals with non-profits, providing them with real-world experience while helping organizations in need.
Chapters
00:00 From Teaching to Tech: A Journey of Transition
04:10 Transferable Skills: Bridging Teaching and Software Engineering
07:38 The Power of Teaching in Tech
11:14 Side Hustles and Newsletters: Building a Personal Brand
16:42 Building SaaS Apps: Lessons Learned
20:11 The Importance of Personal Branding
23:42 Navigating the Job Market: Insights on AI and Tech
27:08 Build to Give: Connecting Tech Professionals with Nonprofits
David's Links:
LinkedIn: https://www.linkedin.com/in/bydavidweiss
Besides Code: https://www.besidescode.com
Resume: https://www.useresume.app
John's Links:John's LinkedIn: https://www.linkedin.com/in/johncrickett/
John’s YouTube: https://www.youtube.com/@johncrickett
John's Twitter: https://x.com/johncrickett
John's Bluesky: https://bsky.app/profile/johncrickett.bsky.social
Check out John's software engineering related newsletters: Coding Challenges: https://codingchallenges.substack.com/ which shares real-world project ideas that you can use to level up your coding skills.
Developing Skills: https://read.developingskills.fyi/ covering everything from system design to soft skills, helping them progress their career from junior to staff+ or for those that want onto a management track.
Takeaways
David transitioned from teaching to tech by self-learning coding.
Teaching skills like communication and collaboration are valuable in tech.
Teaching reinforces knowledge and helps fill gaps in understanding.Building side projects can enhance personal growth and skill.
A newsletter can provide accountability and community engagement.
Marketing is crucial for the success of SaaS applications.
Validating ideas with potential customers is essential before coding.
Personal branding is important for career stability in tech.
The tech job market is challenging for early career professionals.
Build to Give connects early career professionals with non-profits for mutual benefit.
Coding Chats episode 39 - Tom Elliott discusses his startup - Ocuroot - which aims to simplify the developer experience by automating the management of complex production environments. He shares insights on the challenges faced by software engineers, the importance of customer feedback, and the lessons learned during his journey as a founder. Tom also delves into the competitive landscape, regulatory challenges, and the technical aspects of building Ocuroot, including his tech stack and the complexities of implementing features like dark mode.
Chapters
00:00 Introduction to Ocuroot: The Startup Journey
03:10 The Developer Experience: Automating Complex Environments
06:15 Navigating Competition: Positioning Ocuroot in the Market
08:49 Lessons Learned: Insights from a Year as a Founder
11:57 Customer Conversations: Validating Business Ideas
14:35 Understanding CI/CD Challenges in Enterprises
17:10 Regulatory Complexities: The Impact on Software Development
20:05 Bridging the Gap: Communication Between Tech and Business
22:58 Engaging with Customers for Better Solutions
26:33 Simplifying Complex Use Cases
28:12 Avoiding Overengineering in Product Development32:26 Balancing Building and Marketing
34:26 Tech Stack and Development Insights
38:34 The Challenges of Dark Mode
40:57 Future Plans for Ocuroot
Tom's Links:
Ocuroot: https://www.ocuroot.comLinkedIn: https://www.linkedin.com/in/telliott1984/
Bluesky: https://bsky.app/profile/telliott.me
Substack: https://thefridaydeploy.substack.com
John's Links:
John's LinkedIn: https://www.linkedin.com/in/johncrickett/
John’s YouTube: https://www.youtube.com/@johncrickett
John's Twitter: https://x.com/johncrickett
John's Bluesky: https://bsky.app/profile/johncrickett.bsky.social
Check out John's software engineering related newsletters:
Coding Challenges: https://codingchallenges.substack.com/ which shares real-world project ideas that you can use to level up your coding skills.
Developing Skills: https://read.developingskills.fyi/ covering everything from system design to soft skills, helping them progress their career from junior to staff+ or for those that want onto a management track.
Takeaways
Ocuroot aims to automate the management of production environments.
The developer experience is a key focus for Ocuroot.
Customer feedback is crucial for validating business ideas.
Not all companies face the same challenges with CI/CD.
Regulatory requirements can complicate software deployment.
Building a simple tool can be more effective than over-engineering.
Engaging engineers with customers can lead to valuable insights.
Dark mode implementation can be complex and time-consuming.
A strong tech stack is essential for startup success.
Continuous learning is vital for founders.
Coding Chats episode 38 - John Crickett and Ryan Varley explore the distinctions between data science and software engineering, the impact of AI on these fields, and the current job market dynamics. They discuss the challenges of scaling start-ups, the importance of clear communication in software development, and the transition from leadership roles back to individual contributor positions. Ryan emphasizes the need for curiosity and seizing opportunities for career growth.
Chapters
00:00 Data Science vs. Software Engineering
05:41 The Evolution of AI and Machine Learning
10:52 The Future of AI and Its Impact on Jobs
16:11 The Challenges of Requirements Gathering in Software Development
23:11 Current Job Market Insights
24:47 The Changing Landscape of Job Applications
27:04 Navigating the Interview Process
30:22 The Impact of AI on Hiring
33:42 Scaling Startups: Challenges and Strategies
39:51 Transitioning from Leadership to Individual Contributor
44:25 Advice for Career Growth
Ryan's Links:
LinkedIn: https://www.linkedin.com/in/ryanvarley/Brilliant People, Exceptional Teams
Newsletter: newsletter.ryanvarley.com
Website: ryanvarley.com
TikTok: https://www.tiktok.com/@rvarley
Youtube: https://www.youtube.com/@rvarley
John's Links:
John's LinkedIn: https://www.linkedin.com/in/johncrickett/
John’s YouTube: https://www.youtube.com/@johncrickett
John's Twitter: https://x.com/johncrickett
John's Bluesky: https://bsky.app/profile/johncrickett.bsky.social
Check out John's software engineering related newsletters: Coding Challenges: https://codingchallenges.substack.com/ which shares real-world project ideas that you can use to level up your coding skills.
Developing Skills: https://read.developingskills.fyi/ covering everything from system design to soft skills, helping them progress their career from junior to staff+ or for those that want onto a management track.
Takeaways
Data science and software engineering have distinct roles and challenges.AI is reshaping the landscape of software development and data science.
The job market is currently competitive, requiring applicants to stand out.AI-generated CVs can complicate the hiring process.
Scaling startups presents unique challenges that require careful management.
Transitioning from leadership to individual contributor roles can be refreshing.
Curiosity and taking opportunities are key to career growth.
Effective communication is crucial in understanding project requirements.
The importance of adapting to changes in the job market.
Learning to say no is essential for effective management.
Coding Chats episode 37 - John Crickett and Simon Copsey explore the intricate relationship between technology, management, and leadership in software engineering. They discuss the limitations of technology, particularly AI, emphasizing that while it can be a powerful tool, it is not a one-size-fits-all solution. The importance of soft skills, situational leadership, and understanding organizational dynamics is highlighted as essential for effective management. They also delve into the significance of learning from mistakes and the need for psychological safety in decision-making processes.
Chapters
00:00 Technology: Necessary but Not Sufficient
02:49 AI: The Shiny Object Syndrome
05:38 The Role of Collaboration in Software Engineering
08:09 Management vs. Engineering: A Different Skill Set
10:33 Understanding Team Dynamics and Cooperation
13:28 The Importance of Systems Thinking
16:13 Identifying Underlying Causes in Organizations
18:58 Creating Paths of Least Resistance
21:37 The Impact of Metrics on Team Behavior
23:54 The Role of Systems in Organizational Success
26:00 Balancing Individual Uniqueness and Organizational Needs
31:53 Leadership Models and Situational Context
34:20 Bureaucracy vs. Creativity in Leadership
37:37 Command and Control vs. Intent-Based Leadership
42:35 The Importance of Psychological Safety
45:18 Learning from Mistakes and Decision-Making
48:51 Sociocratic vs. Democratic Leadership
53:11 The Role of Assumptions in Decision-Making
56:37 Adapting Leadership Styles to Team Contexts
01:00:49 The Importance of Asking Why in Leadership
01:04:34 Summary of Key Insights
01:09:37 Outro Final Coding Chats.mp4
LINKS
Talk by Simon: From Diapers to Delivery: Parenting Lessons for Management - https://www.youtube.com/watch?v=HBCLoklUZMg
References:
The Goal (Book, Eli Goldratt)Necessary But Not Sufficient (Book, Eli Goldratt)
Technical debt is a myth (Article, Noah Cantor)
Management in Small Doses (Book, Russell Ackoff)
The New Economics (Book, W. Edwards Deming)
Thinking for a Change (Book, Lisa Scheinkopf)
John's Links:
John's LinkedIn: https://www.linkedin.com/in/johncrickett/
John’s YouTube: https://www.youtube.com/@johncrickett
John's Twitter: https://x.com/johncrickett
John's Bluesky: https://bsky.app/profile/johncrickett.bsky.social
Check out John's software engineering related newsletters:
Coding Challenges: https://codingchallenges.substack.com/ which shares real-world project ideas that you can use to level up your coding skills.
Developing Skills: https://read.developingskills.fyi/ covering everything from system design to soft skills, helping them progress their career from junior to staff+ or for those that want onto a management track.
Takeaways
Technology is necessary but not sufficient for success.AI should be applied to specific problems, not as a blanket solution.
Management is a distinct career path from engineering.
Soft skills are crucial in software engineering.
Mistakes are essential for learning and growth.
Situational leadership adapts to the context and team dynamics.
Understanding the system is key to solving organizational problems.
Effective decision-making requires psychological safety.
Disagree and commit fosters a culture of learning.
Assumptions should be documented to facilitate learning.
Coding Chats episode 36 - Rob Morgan shares his journey from being a traditional software developer to becoming a successful freelancer and eventually launching his own SaaS product. He discusses the importance of client interaction, the challenges of freelancing, and how he identified a niche market in the window cleaning industry. Rob emphasizes the significance of networking, understanding user needs, and the iterative process of product development. He also provides valuable insights for aspiring freelancers and entrepreneurs, including tips on pricing and customer engagement. In this conversation, Rob shares his entrepreneurial journey, reflecting on the successes and challenges of his first SaaS business, Cleaner Planner, and the lessons learned from its eventual sale. He discusses the importance of timing, customer engagement, and the pull demand in business success. Rob also delves into his transition to a fractional CTO role after selling his second venture, highlighting the challenges of rebuilding a software product and the need for effective marketing strategies. Additionally, he expresses his interest in starting a podcast focused on the journeys of SaaS founders, aiming to create a community for early-stage entrepreneurs.
Chapters
00:00 The Journey to Freelancing
05:40 The Transition to Freelance Work
12:40 Navigating the Freelance Landscape
20:00 Challenges of Freelancing
26:46 The Shift from Freelancing to Startups
30:30 Finding the Right Startup Idea
38:12 Building a Community Around a Niche Problem
51:23 Navigating the Challenges of Growth and Exit
57:42 Reviving Skills and Embracing New Technologies
59:30 The Journey of Rebuilding Software
01:02:26 Understanding Customer Needs and Market Dynamics
01:05:22 Navigating Marketing Challenges
01:06:55 Transitioning to a Fractional CTO Role
01:10:12 Exploring Future Opportunities and Podcasting
01:13:17 Building a Community for Founders
Rob's Links:
https://trialtopaid.iohttps://linkedin.com/in/rbdmorgan/
John's Links:
John's LinkedIn: https://www.linkedin.com/in/johncrickett/
John’s YouTube: https://www.youtube.com/@johncrickett
John's Twitter: https://x.com/johncrickett
John's Bluesky: https://bsky.app/profile/johncrickett.bsky.social
Check out John's software engineering related newsletters:
Coding Challenges: https://codingchallenges.substack.com/ which shares real-world project ideas that you can use to level up your coding skills.
Developing Skills: https://read.developingskills.fyi/ covering everything from system design to soft skills, helping them progress their career from junior to staff+ or for those that want onto a management track.
Takeaways
Rob transitioned to freelancing after feeling stifled in traditional roles.
He values client interaction for understanding user needs.
Freelancing can be a rollercoaster of feast and famine.
Rob's first freelance project came from a connection in affiliate marketing.
Sales for Rob is about consultative problem-solving, not traditional selling.
Freelancers should network to find clients and opportunities.
Rob's SaaS idea emerged from identifying a niche problem in the window cleaning industry.
Engaging potential customers early can validate a product idea.
Pricing should reflect the value provided and be competitive. Rob reflects on his first business success and the lessons learned.
The importance of timing and recognizing opportunities in business.
Customer engagement and understanding needs are crucial for success.
Rob's experience with the challenges of marketing a new product.
The significance of having a pull demand rather than push in business.
Rob discusses the natural end of his first business and the decision to sell.
The transition from being a business owner to a fractional CTO role.
Rob's insights on rebuilding a software product and the challenges faced.
Rob's plans for a podcast focused on the journey of SaaS founders.
Coding Chats episode 35 - John Crickett and Brian Feister explore the journey of becoming a software engineer, discussing the value of self-taught skills versus formal education, the impact of boot camps, and the importance of community in tech. They delve into their experiences with the Go programming language, sharing insights on learning, challenges faced, and the advantages of Go in modern software development.
Chapters
00:00 The Value of Computer Science Degrees
05:46 Self-Taught vs. Formal Education in Software Engineering
08:32 The Reality of Bootcamps and Career Expectations
14:21 Approaches to Learning Go Programming
18:03 Navigating Technical Challenges in Web Development
20:22 Transitioning to Go: Experiences and Insights
26:06 The Power of Go's Toolchain and Compiler Speed
28:40 Learning Go: Tips and Resources
32:06 Building with Go: Frontend and Backend Integration
34:45 Understanding Go Routines and Concurrency
39:28 Final Thoughts on Community and Connection
Brian's Links:
LinkedIn: https://www.linkedin.com/in/brianfeister/
Meet Near Me on LinkedIn:https://www.linkedin.com/company/meet-near-me
John's Links:
John's LinkedIn: https://www.linkedin.com/in/johncrickett/
John’s YouTube: https://www.youtube.com/@johncrickett
John's Twitter: https://x.com/johncrickett
John's Bluesky: https://bsky.app/profile/johncrickett.bsky.social
Check out John's software engineering related newsletters:
Coding Challenges: https://codingchallenges.substack.com/ which shares real-world project ideas that you can use to level up your coding skills.
Developing Skills: https://read.developingskills.fyi/ covering everything from system design to soft skills, helping them progress their career from junior to staff+ or for those that want onto a management track.
Takeaways
Self-taught engineers often excel due to passion and curiosity.
Formal education can provide useful fundamentals but isn't always necessary.
Boot camps can mislead students about job prospects and salaries.
Community support is crucial for growth in software engineering careers.
Learning Go can be a rewarding experience with the right approach.
Go's simplicity and efficiency make it a powerful tool for developers.
Understanding concurrency in Go can enhance performance in applications.
The tech industry is evolving, and adaptability is key for success.
Remote work presents unique challenges for social interaction.
Building a supportive network can help navigate the tech landscape.
Coding Chats episode 34 - John Crickett and Brian Feister explore the journey from working in big tech to building startups, the evolution of mentorship in tech, the challenges of balancing multiple roles, and the intricacies of test-driven development. They discuss cognitive differences in software development, the importance of clear requirements, and the role of AI in the future of software engineering. The conversation emphasizes the value of learning from each other and the diverse paths in the tech industry.
Chapters
00:00 Navigating Dual Roles: Tech and Entrepreneurship
03:12 From Mentorship to Startup: Building Together
05:56 The Challenges of Team Dynamics and Testing
08:40 Agile Development: Balancing Requirements and Flexibility
11:48 Function Size and Cognitive Load in Coding
14:18 The Art of Requirements Gathering
17:15 The Future of AI in Software Engineering
26:40 The Limitations of AI in Software Engineering
30:29 Learning from Each Other in Software Development
35:43 The Role of Domain Knowledge in Software Engineering
39:52 Education Paths in Software Engineering
BRIAN'S LINKS
LinkedIn: https://www.linkedin.com/in/brianfeister/
Meet Near Me on LinkedIn:https://www.linkedin.com/company/meet-near-me
John's Links:
John's LinkedIn: https://www.linkedin.com/in/johncrickett/John’s YouTube: https://www.youtube.com/@johncrickettJohn's Twitter: https://x.com/johncrickettJohn's Bluesky: https://bsky.app/profile/johncrickett.bsky.social
Check out John's software engineering related newsletters:
Coding Challenges: https://codingchallenges.substack.com/ which shares real-world project ideas that you can use to level up your coding skills.Developing Skills: https://read.developingskills.fyi/ covering everything from system design to soft skills, helping them progress their career from junior to staff+ or for those that want onto a management track.
Takeaways:
Brian is currently working at Salesforce while building a startup.
Mentorship has evolved into a community-driven project.
Balancing a day job and a startup is challenging.
Test-driven development has its pros and cons.
Cognitive differences affect how developers approach problems.
Requirements gathering is often more complex than coding.
AI is unlikely to replace software engineers due to communication challenges.
Learning from peers, regardless of experience, is valuable.
The tech landscape is constantly evolving, requiring adaptability.
Self-taught programmers face unique challenges in their learning journey.
Coding Chats episode 33 - John Crickett and Robert Roskam explore the significance of open source involvement, the critical nature of effective onboarding, the myth of 10x engineers, and the challenges of transitioning into management.
They discuss how soft skills and community engagement are essential for software engineers, the importance of creating a supportive onboarding experience, and the misconceptions surrounding high-performing engineers.
Additionally, they reflect on the realities of management and the emotional dynamics that influence decision-making within organizations.
Chapters
00:00 Introduction to FastAPI and Starlette
01:50 Involvement in Django and Open Source Events
04:17 Understanding the Python Software Foundation
07:02 The Journey to Software Engineering
09:43 The Importance of Onboarding
12:09 Measuring Developer Experience and Impact
15:03 The Honeymoon Period in New Employment
17:52 Empathy in Leadership and Management Decisions
22:49 The Importance of Team Commitment
24:30 Onboarding and Documentation: The Foundation of Care
26:33 Debunking the Myth of 10x Engineers
29:48 Collaboration vs. Isolation in Software Engineering
33:00 Effective Knowledge Sharing in Large Teams
37:17 Transitioning to Management: Surprises and Realities
44:06 The Value of an MBA for Software Engineering Leaders
Robert's Links:
robertroskam.com
John's Links:
John's LinkedIn: https://www.linkedin.com/in/johncrickett/
John’s YouTube: https://www.youtube.com/@johncrickett
John's Twitter: https://x.com/johncrickett
John's Bluesky: https://bsky.app/profile/johncrickett.bsky.social
Check out John's software engineering related newsletters:
Coding Challenges: https://codingchallenges.substack.com/ which shares real-world project ideas that you can use to level up your coding skills.
Developing Skills: https://read.developingskills.fyi/ covering everything from system design to soft skills, helping them progress their career from junior to staff+ or for those that want onto a management track.
Takeaways:
Many software engineers are not involved in open source or community events.
Soft skills are crucial for making projects successful.
Onboarding is a critical period for new hires to learn and integrate into the company culture.
Organizations often underestimate the time it takes for new hires to become productive.
The concept of 10x engineers is often misunderstood; true value comes from collaboration and team dynamics.
Effective onboarding can significantly reduce the time to first meaningful contribution.
Emotional factors often drive organizational decisions more than rationality.
An MBA can provide useful insights, but it's not necessary for all management roles.
The best engineers are those who elevate their teammates and foster collaboration.
All departments within an organization must work together for overall success.