For those brilliant humans who are fluent in coding languages, software development is like breathing: it’s just what they do. But for everyone else, software development is a mystery: impenetrable lines of 0’s, 1’s and symbols that, voila, produce a gorgeous application or wonderful webpage.
As one of those humans whose talents do not lie in the creation of websites and apps, but who works among those unique creatures known as software engineers all day long, I though it was worth asking: what do software developers actually do? Well, I’m still learning what a data warehouse is, but what I’ve found is that these guys do more than write indecipherable (to me) code. They are client managers, project managers, and people managers. They, like rugby players, have a scrum every once in awhile where they assign tasks, provide updates, and then immediately put their heads down to get to work.
They are also professional movers: they can transport, in a few magic clicks, all the data that you have stored in a hard drive to the cloud. Seriously, how do they do that? And where is the cloud? I can’t explain it, so I asked my colleagues to help me understand how they actually do what they do. Here’s what I learned:
- Development is as much an art as a science. My co-worker once told me, “Deploying [the process of making a piece of software available for use] is riding a bike on top of an elephant with your eyes closed and eating cereal while saying supercalifragilisticexpialidocious.” In other words: the developer has to be a gymnast and a scientist, with a lot of creative thinking and a good sense of humor to complete a project on time and without errors.
- Coding may happen in other languages, but English is a coder’s first (or second). Development teams have to communicate. All. The. Time. A clear and shared understanding of the deadlines, requirements, and end-use of a project is absolutely essential. So even though programming may be done under noise-cancelling headphones by individual engineers, projects only work when teams talk to each other.
- Every discipline is made better by development. I’m not just talking about the apps we use that they create (which are, of course, essential). I mean that we all can take cues form development teams about how to work more efficiently and effectively. The scrum methodology I mentioned earlier is a great example. What if every marketing meeting was only 10 minutes long and everybody knew exactly what to do after each meeting?
I feel incredibly lucky to be a part of a team of people who are so great at what they do, and so dedicated to delivering great results, every day. I may have felt like I landed on a different planet when I first sat in the lunchroom listening to conversations in alien languages about sprints and bug lists, but I’m now less of a stranger in this strange land. We should all be so lucky.