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!
I recently hosted an episode of Software Engineering Radio called “Jeroen Janssens and Thijs Nieuwdorp on Using Polars”!
💬 Software engineers shared their advice with my students!
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.
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”.
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
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!