I recently hosted an episode of Software Engineering Radio called “Jeroen Janssens and Thijs Nieuwdorp on Using Polars”!

  • Home
  • Teaching
    • Overview
    • Algorithm Analysis
    • Computer Security
  • Research
    • Overview
    • Papers
    • Presentations
  • Outreach
    • Software
    • Service
    • Blog
  • About
    • Biography
    • Schedule
    • Contact
    • Blog
    • Service
    • Papers
    • Presentations
    • Light
    • Dark
    • System

Contents

  • Introduction
  • What the Engineers Taught Me
  • The Interviews

SEED: Educational discussions with software engineers

Code
from rich.console import Console
console = Console()
console.print(
    ":speech_balloon: Software engineers shared their advice with my students!"
)
💬 Software engineers shared their advice with my students!

Introduction

Educational Discussions with Software Engineers, or SEED, was a project in which I interviewed people who work in the software industry and then published their advice on my blog. The goal was to reverse the usual educational relationship: instead of asking educators to describe the software field, I invited the professionals who work in it every day to teach my students and me. You can read the introduction to the SEED project to learn how the initiative started.

The SEED survey is now closed and I am no longer collecting responses. The interviews remain some of the most useful material that I have gathered about how software is actually built, so this page collects the lessons that the interviewees shared with me.

What the Engineers Taught Me

Several themes appeared in interview after interview.

  • Communication is the hardest part. Brian Blose called requirements gathering “consistently the most challenging aspect in software development”, and both Jonathan Miller Kauffman and Kara King named communication with business stakeholders as their greatest difficulty. Writing code is only one part of the job.

  • Learning never stops. Jonathan recommended “a habit of continuous learning and practice”, Suvarshi Bhadra observed that “the learning never stops”, and Timothy Tsai urged engineers to look beyond the expertise that the current project requires.

  • Mentors and networks matter. Brian advised identifying “someone knowledgeable and personable enough on your team” when no mentor is assigned. Kara put it plainly: “Networking is a huge advantage when searching for a job”. Rebecca Dilla encouraged readers to reach out to people online and to invite an acquaintance out for coffee.

  • Look beyond the biggest employers. Rebecca pointed out that smaller companies offer “a bigger chance to make an impact”, Brian described a regional grocery chain that builds its software in house, and Timothy showed how a company can reinvent itself as markets change.

  • Build something from end to end. Suvarshi recommended building “an application from end to end” to see how the pieces fit together, while Rebecca warned that, unlike a course project, the product is never finished and is “continually being fixed, grown, and improved”.

  • Protect your time. Suvarshi named the balance between work, personal hobbies, and family as the greatest challenge in the field, and Rebecca noted that “what you do from nine to five isn’t the most important part of your life”.

The Interviews

  • Jonathan Miller Kauffman: Consultant at Coveros

  • Rebecca Dilla: Product Analyst at Niche.com

  • Timothy Tsai: Senior Research Scientist at Nvidia

  • Brian Blose: Software Developer at Giant Eagle

  • Kara King: SAP developer at FirstEnergy

  • Suvarshi Bhadra: Software Engineer at Facebook

NoteFurther Details

Do you have a question about one of these interviews? If you do, then please contact me to share your thoughts. If you work in the software industry and you would like to share your own advice with my students, I would still like to hear from you!

GMK

Top