Cloud Foundry sponsored this post.
Since the time of punch card programming when “Star Trek” debuted in the 1960s, professional coding has undergone radical changes over the decades.
Using the Vulcan “mind meld” concept from “Star Trek” from a previous conversation as a starting point, Alex Williams, founder and editor-in-chief of The New Stack discussed how the developer’s role with Tammy Van Hove, distinguished engineer at IBM, and Simon Moser, senior technical staff member, IBM Germany Research and Development, for this podcast recorded during Cloud Foundry Summit Europe 2018 in Basel, Switzerland.
Van Hove remembered wanting a communicator when she first saw “Star Trek.” “I wanted that communicator and then when the first flip phones came out, [I said], ‘oh, I got a communicator, right?’” Van Hove said.
Regarding the developer experience today, the culture has become very “varied and community,” Van Hove said.
“When I first started programming, it was terminals and terminal rooms,” Van Hove said, adding that “resources were limited.”
“And now, from a coding resource perspective, your library is the world and there’s open source,” Van Hove said. “And when I first started developing in open-source, I was like, ‘wow, there are so many other people here that are contributing and who we can share ideas with and leverage what’s being produced.’”
Flashing forward to the past decade, the emergence of agility and DevOps has had a profound influence on how software is developed.
“The whole DevOps experience [is about] not just writing code and throwing over the wall to somebody…and agile is what really captured my developer mindset where I didn’t have to work for months and spit out a finished product,” Van Hove said. “I could spin and I could iterate and I could do things quickly, and then the whole DevOps model and tool chains to support that really increased velocity. Automation also became a big part of a developer’s experience — where, you know, I’m not going to throw over the wall for someone else to test.”
Development has become “test-driven,” Van Hove said. In order to improve the velocity of development teams, “automation and using toolchains to support that automation have become really important, because the hard part is actually deploying and operating the code in the end — not writing it,” Van Hove said.
The actual process of coding is thus just one aspect of a developer’s job. “It’s no longer about only developing the code — you’re also always thinking about running the code,” Moser said.
Developing actually means deploying “because it’s just one continuous cycle all the time,” Moser said. “I might have run a bunch of unit tests, but it’s definitely a way different experience that requires different skill set and a way different thinking than it used to a couple of years back.”
Development today is “not just write code, compile and you’re done,” Van Hove said. “You’re not just locking yourself in an office anymore and writing code and submitting it — you’re collaborating throughout the whole process end to end from development to delivery and operating,” Van Hove said.
In addition to testing, “pair programming” is another example of a more modern trend to have emerged, Van Hove said. “There’s a skill in pair programming, too, where you and a buddy are sharing development effort and improving each other’s coding skills,” Van Hove said. “Because of that, you bring in expertise instant reviews and you can help each other become better developers there, too.”
Developers today are also certainly no longer in remote zones in an organization and now must combine coding with operations, meter monitoring, testing and other new tools that “have gotten into their zone,” Moser said. “From a technical point of view, their zone [has gotten larger],” Moser said.
In this Edition:
4:18: The whole DevOps experience and agile transformations
13:03: Exploring the traditional view of development and the shift in the industry
18:29: Data security and data isolation for enterprises working in the cloud as a developer concern
22:11: The transformation of the enterprise and shipping software over the last 10 years
28:15: Declarative infrastructure and how it impacts front-end development in a DevOps oriented way
32:06: The 'good enough' philosophy and the importance of testing in distributed architectures