Chris Laffra, a seasoned software engineer with stints at IBM, Google, and Uber, discusses his innovative project PySheets, aiming to bring spreadsheet capabilities to Python. He shares insights on building efficient browser-based applications and the importance of interface design. The conversation delves into enhancing developer productivity and communication skills in tech environments. Chris also reflects on his career journey, the integration of Python with spreadsheet functions, and the challenges of managing data storage in web applications.
01:19:33
forum Ask episode
web_stories AI Snips
view_agenda Chapters
menu_book Books
auto_awesome Transcript
info_circle Episode notes
question_answer ANECDOTE
Ahead of Its Time
Chris Laffra's PhD language from 1992 was ahead of its time, featuring distributed systems and a graph database.
However, Python's pragmatism made it more successful at the time.
insights INSIGHT
Software Development as Art
Software development is an art involving teamwork and communication, which AI has not yet fully mastered.
AI tools may improve surface-level productivity but might create future maintenance issues.
question_answer ANECDOTE
The IBM Manager Test
Chris Laffra failed an IBM manager test by focusing on technical details instead of the customer's personal interests.
He learned to observe non-verbal cues like the customer's golf set and family photos.
Get the Snipd Podcast app to discover more snips from this episode
This book provides a framework for software developers to become better communicators, focusing on practical tips and strategies to enhance collaboration, career growth, and overall impact as engineers. It covers topics such as effective communication in emails, design documents, code reviews, and more, aiming to help engineers articulate their ideas clearly and work more effectively with both technical and non-technical stakeholders.
What goes into building a spreadsheet application in Python that runs in the browser? How do you make it launch quickly, and where do you store the cells of data? This week on the show, we speak with Chris Laffra about his project, PySheets, and his book “Communication for Engineers.”
As a software engineer, Chris has worked at IBM, Google, Uber, and several financial institutions. He speaks about developer productivity and communication skills as an engineer. We begin our conversation by digging into his background, his approach to building engineering teams, and strategies for improving communication.
Chris’ idea for PySheets is to have Excel inside Python with everything running locally in your browser. He was inspired by the success of Jupyter Notebooks but wanted to develop a tool more suited to a spreadsheet’s non-linear graph structure.
PySheets is built to run locally in the user’s browser, taking advantage of PyScript. We discuss finding the right solution for storing data in the browser and developing a graphic toolkit to create the UI. Chris also shares the novel method he found to get the interface up and running while the larger assets are loading.
Python’s Global Interpreter Lock, or GIL, is a mutex (or a lock) that allows only one thread to hold the control of the Python interpreter at any one time. In this video course, you’ll learn how the GIL affects the performance of your Python programs.
Topics:
00:00:00 – Introduction
00:02:25 – Background with building engineering teams
00:08:43 – Communication for Engineers book
00:16:17 – What do customers want and experiences at IBM
00:24:28 – Starting the development of PySheets
00:27:19 – Working with the DOM
00:29:41 – Success of Jupyter notebooks
00:35:46 – Sponsor: Sentry
00:36:52 – Little Toolkit for PyScript
00:43:24 – Finding funding
00:46:58 – Building a product before selling
00:52:27 – Video Course Spotlight
00:53:46 – Finding the right data storage in IndexedDB
01:01:57 – Exploring the trial page and extensibility
01:08:26 – Contributing to the project or forking
01:11:56 – What are you excited about in the world of Python?
01:16:20 – What do you want to learn next?
01:17:25 – How can people follow your work online?