Blog

Science and Art in Software Development

by Luis Maza on Sunday, November 10th, 2013.

shutterstock_128015465

Let’s say a dysfunctional development team creates something. Their product might be decent; we’ll even grant that it might be good. But in our competitive, connected, and creative world, “good” isn’t enough. To compete, developers need to create something great, and to do that, they need to have a functional workplace and a deeper motivation than a paycheck or a promotion. Two core values guide how Jive developers conduct themselves and how they do their work: professionalism and craftsmanship. These values are, respectively, the science and the art of the professional software world.

In Jive’s eyes, skills + attitude = professionalism. In light of that, we only hire stellar people, and we also promote their continued learning. One tool we use to promote learning is our “developers’ university.” Starting soon and to be held once a week from 3-7 p.m., it will provide opportunities for developers to expand and sharpen their skill set and knowledge.

Along with pushing for continued learning, Jive also fosters a culture of professional behavior. We believe in group work, collaboration, teams, and other such synonyms because working together fuels innovation and helps everyone know what’s going on. One of the ways we make our belief reality is pair programming. This practice makes it so senior and younger developers learn from each other, communication lines stay open, and the meeting of minds produces better ideas.

In addition, at the end of every two-week sprint, the development team holds a retrospective or “retro” in which they discuss what went well, what went poorly, and how to improve. Along with evaluating performance, retros also afford a chance for open communication among the team members and between individuals. When people are having issues with each other, they talk things out at the retro, if not before. Speaking about this, Theo Zourzouvillys, CTO, endorses openness when dealing with problems and emphasizes that Jive doesn’t put up with people being idiots. Jive wants a functional, cooperating team, and we’ll do what it takes to get that.

Lastly, being professional means taking risks, making mistakes, and taking responsibility for one’s actions. Jive tries to create a safe environment where it’s okay to try new things, risk, and even fail. As Theo explains, “If people aren’t messing up, that means they’re not trying hard enough.” That being said, while it’s okay to make mistakes, it’s not okay to try to cover them up or push them onto someone else. Professionals accept responsibility for what went wrong and then learn from it.

Now for the art side of things—craftsmanship. According to Jive, craftsmanship is taking pride in what you do, sharing your work, and constantly striving to improve. Craftsmen want to improve software developing as a whole because that field is their passion. They want to spend 50+ hours a week working in software. They want to use time outside work to learn more about it. This thirst for knowledge and the subsequent desire to share it are the hallmarks of a craftsman. Jive capitalizes on this zeal by hosting “lunch ’n learns” several times a week. During these events, all the developers eat lunch together while listening to one of their colleagues present on a favorite software subject. Lunch ’n learns are looked forward to and a great chance for guests to come and see what Jive’s all about.

You can’t have a truly successful software company without people who are both professionals and craftsmen, who value both the science and the art of software. On the other hand, when you do have people like that, you can not just be successful; you can be great. And who doesn’t want to be great?