Sponsored Link •
Bill Venners: What languages did you use at Cisco?
Vienna Teng: I primarily used Java, actually.
Bill Venners: What did you like about programming?
Vienna Teng: I was thinking about this recently, because we were going to do this interview. When I was working on writing a song the other day, I thought, when it gets down to the actual act of piecing lyrics and chord structures and songs together, it's really not that different from software design.
I remember brainstorming how we will create this structure, the fundamental patterns for this program we're making. And there are certain modules that take care of certain aspects, and they plug into other modules. Songs are like that to an extent. You have to take certain things that logically lead into other things, but they have to be able to connect back to something else. It is definitely a stretch to call song writing very similar to programming, but I would say that the same neurons get used in your thought process.
Bill Venners: They're both creative processes, in some sense.
Vienna Teng: Yeah, I think so. Basically what I'm trying to say is that when you get down to the nitty gritty of song writing, it is very logical to a certain degree. It requires a bit of intuition as to how things can fit together elegantly.
Bill Venners: How is song writing logical?
Vienna Teng: There are certain chords that sound harmonious with other chords when played in progression. You learn over time a sense of which chords lead well to which others.
Bill Venners: So you're not just pulling everything out of thin air when you write a song. There are techniques that you draw on.
Vienna Teng: Exactly. So I might think, maybe for the chorus of this song, I can move it higher because that moves the energy of the song a little higher. So the melody maybe needs to go higher than the verses. Or maybe to give it a new sense of energy I could also change the key, so it sounds like something different. But if I change it to a certain key, I have to make sure that it works its way back to the original key. What chords can I use as stepping stones to get back there? That's the kind of thing you have to work out when you're writing.
Vienna Teng: Yeah, debugging was probably my favorite part of programming.
Bill Venners: Is that intellectual challenge still there in creating songs, or is it something you kind of miss?
Vienna Teng: It is something that I miss, because song writing is a lot slower for me. Everything is very painstaking. Each lyric comes one line at a time, and sometimes I go backwards. Sometimes I finish and realize this song is no good.
In programming, I felt like there was much more an inexorable progression forward a lot of the time. You define the problem. You define what the product is supposed to do. You define roughly what directions you think it could grow and expand later, and you leave room for that. You figure out what base classes you want to have to inherit from, and so on. And you build it. There's a time when you just write the code, and that's relatively straightforward. Then there's the debugging, and trying to figure out what's wrong with it. And then you get to test the thing, and then you ship it.
With songs, it feels more like at any point you could realize this whole thing is just wrong and you have to start over again. It's not like you can define a problem ahead of time. It's not, this song is designed to solve this problem. It's more, I don't know what direction this song is going in, but I'll follow it and see what happens. In that sense it is a lot fuzzier and more uncertain.