“I guess I knew then, once I touched a computer, I would never go back.
I’m passionate about software engineering because it’s so powerful.”
Few things make Marilyn Davis as happy as playing the Mexican vihuela, a five-string guitar common in a mariachi band. In her adopted hometown in central Mexico, Davis often plays in Orquesta Tipica de Chapala, a state-sponsored traveling marimba-based orchestra that travels around the region to play at festivities.
“It’s a wonderful privilege to play music with them,” she says.
Marilyn, a Python teacher who inspires glowing student reviews whether she’s teaching online from Mexico or in the classroom on the Santa Clara campus, says she’d retire but she can’t give it up.
“I love my work. I love to teach people online. People tell me I help them.”
She developed the first Python programming classes offered by UCSC Extension and has taught widely in the corporate world as well.
The elegance of Python
“It’s an elegant interpreter,” Marilyn says of the top-rated programming language of the day.
Known for its ease and code-ability, Python is hugely popular right now. In 2017, Coding Dojo ranked Python the third most in-demand language, Github ranked it second in popularity and IEEE Spectrum ranked it the No. 1 programming language, beating out C, Java, and C++.
“The language is so smart,” she says. “I would get impatient teaching C. Python code is so much more readable.” She describes Python as an interpreter that creates binary code from the lines it reads. With Python, you don’t have to talk to the computer. “Python can figure out what you’re saying.”
Python job outlook
The job outlook is bright for Python programmers. At the end of the 2017, Glassdoor posted more than 4,300 Python developer jobs in the Santa Clara, CA area and reported a national average salary of $92,000. LinkedIn listed more than 1,500 Python-related jobs in the San Jose area.
A passion for programming
Marilyn, who has a master’s degree in mathematics and applied physics and a Ph.D in radio astronomy, fell in love with computer programming the first time she tried out Fortran, a computer language developed out of IBM in the 50s.
“I guess I knew then, once I touched a computer, I would never go back,” she says. “I’m passionate about software engineering because it’s so powerful.”
She is known for her clear instruction and infinite patience. When she was first teaching Python, she created her own material management system that enabled her to produce materials that presents concepts in curiosity order.
Students in her classes can work together, problem-solve collaboratively and often become friends. Some students get jobs before the end of class, others write her later and report their success.
A vision of democracy
“I’m good at visualizing what’s going on,” she says, noting that when she first discovered Fortran, a particular aspect of the language known as loops spurred vivid images in her dreams of a conveyer belt. As the belt carried chickens away, she brushed each one with sauce. “It was that Fortran mind explosion about what’s going on in computers that made me think: This is where democracy, implemented through computers would fix everything.” Python, a language of collaboration, it continues to evolve through a global cooperative community.
“I teach the core and then there are about 125,000 libraries. Everybody is contributing. It’s a really wonderful community.”
Marilyn Davis specializes in Python training in corporate environments in Silicon Valley, both face-to-face and online. She has taught at numerous Silicon Valley companies, including Apple, Cisco, Facebook, GETCO, Google, Intuit, LLNL, NASA, Nokia, Oracle, Plantronics, Skype, VMware.
Python is on her list of top passions, which includes being a grandma • strengthening democracy • Mexican music • teaching • software engineering.
Below is a picture of Marilyn playing in Orquesta Tipica de Chapala, a state-sponsored traveling marimba-based orchestra.
Learn more about Python
Explore our many Python courses by visiting our website or contact us directly: ExtensionProgram@ucsc.edu (408) 861-3860.