This is really thoughtful opinion piece that should be required reading for at least three reasons:
- Threaded throughout are wonderful nuggets that clearly differentiate “software engineering” from “coding” – nuggets such as:
- It provides clear reminders that, despite strong efforts by many, gender bias still exists in the field, as it does in nearly all other fields – reminders such as:
- It provides some tips for surviving and surmounting – tips such as:
“The first requirement for programming is a passion for the work, a deep need to probe the mysterious space between human thoughts and what a machine can understand; between human desires and how machines might satisfy them.
“The second requirement is a high tolerance for failure. Programming is the art of algorithm design and the craft of debugging errant code. In the words of the great John Backus, inventor of the Fortran programming language: ‘You need the willingness to fail all the time. You have to generate many ideas and then you have to work very hard only to discover that they don’t work. And you keep doing that over and over until you find one that does work.’ …
“According to the Bureau of Labor Statistics, women comprise 29.4 percent of people working in ‘Computer and Software,’ a subcategory of ‘Commercial Equipment.’ Since this broad (and vague) designation might include everyone from system designers to office assistants, it tells us nothing about the participation of women at the deeper technical and theoretical levels. By ‘deeper’ I mean computer science, hardware and software engineering, the creation of operating systems and deep algorithms — in short, the levels at which the future of technology is being defined.”
“At a meeting, he kept interrupting me to say, ‘Gee, you sure have pretty hair.’ By then I realized he was teaching me a great deal about computing. It would be a complicated professional relationship, in which his occasional need for male dominance would surface.
“So, on that day of my pretty hair, I leaned to one side and said, ‘I’m just going to let that nonsense fly over my shoulder.’ The meeting went on. We discussed the principles of relational databases, which later led me to explore deeper reaches of programming, closer to operating systems and networks, where I would find my real passion for the work. My leaning to one side, not confronting him, letting him be the flawed man he was, changed the direction of my technical life.”
“What will save you is tacking into the love of the work, into the desire that brought you there in the first place. This creates a suspension of time, opens a spacious room of your own in which you can walk around and consider your response.”
Read it here.