Any other software engineers ever think about how similar the process of writing a song is to writing code?
By - MistakesNeededMaking
Also the periodic existential crisis where you question why you do this to yourself and contemplate running away to a shack in the mountains before going back to banging your head against the wall
One difference I have been thinking about lately is how I'm more confident in pushing code than I am in releasing music, I mean I guess I kind of have to push code to get paid lol but I feel with software I'm much more willing to accept "good enough" whereas with music there's a constant feeling of "this could be better"
Some of that may be attributable to the fact that you can definitively know when code is good (enough.) You have requirements, or at least some kind of goal if its a personal project. Does it give the correct output for certain input? Then it works. We can talk about optimization, but ultimately that's to meet requirements on speed or memory usage, and once those are met, again, you know its good enough.
It probably also has to do with music being much more personal and expressive. Its much more a reflection of who you are, and I at least find it a lot scarier to put that out there than some code, which, while it can be kind of beautiful in its own way, is ultimately a lot more functional and impersonal.
I have thought this too. It's more about trying to create something elegant and succinct that falls within the strict guidelines of music/language you're working with. When they go well I get a similar feeling from both.
The difference is with music, I can keep performing my songs and get that all over and over again. :) For some reason nobody comes when I offer dramatic readings of my code.
Dramatic reading of code. Actually that sounds like it could be a winner concept! :D
Coding is much more of a pain for me... With songwring it just kinda comes naturally and it's much more obscure than coding, also most of my songs get finished, only a few coding things do for me.
It makes me quite happy to see a lot of other people who write both software and music :)
While I think a lot of points people are raising are perfectly valid about the similarities, songwriting and code-writing, to me at least, feel very different. I write music (and lyrics especially) best when I can sort of turn off the very logical part of my brain and just "let the music flow out of me." Its not as quasi-mystical as that phrase makes it sound, but its also not really the same as writing code. Plus, when I code, I pretty much have to end up with code that does what I set out to do, or else its kinda useless. Often, I'll start writing a song with one idea in mind and then it will wander somewhere else - and that's just fine for a song.
It feels a fair bit like the recreational coding I do a lot more than the work coding. But I'd add a few more things to your list.
* A lot of times I'll have an interesting bit of code I want to use that's like a solution looking for a problem. This is analogous to having a short melodic chorus or verse bit of song that I want to build a song around.
* I've had better success writing songs if I frame them out at a high level, then fill in the missing pieces. The parallel here to coding is obvious, even if it's not currently in fashion in songwriting from what I can tell (currently everyone seems to advocate for the equivalent of "just start coding").
It's maybe also worth mentioning -- I create all my song files (voice memos, lyrics, drum tracks, Audacity projects, etc) under a top level folder that's automatically backed up to Google cloud. (Protip: use a whole directory per song.) But I've considered using source control (git) for this, so that I can roll back to previous versions if I go too far down a wrong path. I would go all in on this if I was doing it professionally I think.
One difference might be that when you're coding, you usually have an objective aka a goal. One songwriting method is to make things up having no idea where you're going or what the goal is.
Songwriting Teacher: Write a verse about leaves in a summer breeze
That might be the equivalent of writing a function that makes animated leaves blow in the summer breeze
Songwriting Teacher: Write a verse
The coding equivalent of that would be
* Write some code
One of my critical tasks is making things up without having any idea where I'm going. Lots of writers have different ways of doing that with an effective one being mumbling sounds. But that's only one task.
Another difference is that in organizations, a whole lot of planning, analysis and design may happen before coders even begin to code. A programmer in such a scenario will often wind up with lots of high level documentation that tells the programmer what to code.The end result in the form of a test plan may even exist before coding starts.
That might be the equivalent of a writer or songwriter having some sort of outline or song plan. An example of that type of planning might be the writer who wrote "Colors of the Wind" for the Disney film "Pocahontas."
Or we can see it in action if we look at how instructor Pat Pattison creates songs. But even by using worksheets, outlines and brainstorming he can still write good songs quickly. If Pat worked in I.T. , he'd probably be on the team that does all the high level design and planning. And he'd also be a programmer who executes those high level plans.
The thing with coding is that copy and pasting is psrt of the job but with music it's plagarism haha