The last decade has seen the role of software developers evolve at a rapid pace as more and more organisations aimed to deliver new iterations of applications faster and more frequently than ever before.
Atlassian's head of engineering Agnes Ro has experienced this first-hand. Ro has spent the last 15 years working at the software company -- initially as a graduate developer, before rising up the ranks to oversee a team of 100 engineers for a department called Foundational Collaboration that sits within Atlassian's cloud platform. Some of her key responsibilities include delivering common experiences and backend services for Atlassian products, such as rich text editors in JIRA and Confluence, as well as file and storage experiences.
The need for speed
According to Ro, unlike today where iteration cycles occur within weeks, if not hours, software developers had longer turnaround times in the past.
"We were shipping what we called server products and we had like three months development release cycle…which is quite a long time," she said.
Ro attributed the shortened turnaround time to customers shifting from on-premises to cloud infrastructures.
"We relied on our customers to run the infrastructure, and we would do our best to ship and test on the multiple platforms that we supported back then -- different databases, application servers, and even Java versions," she said.
"A lot of the time we weren't quite sure how our products would operate…we had really long testing and stabilisation periods at the end of the release cycle just to make sure we were testing the right things. Whereas these days, because we've got everything on the cloud, we're shipping, we're providing the infrastructure, and we're the ones running operations, and all our products and services. I feel that it's really accelerated our development velocity."
Frameworks to support the language that developers write, especially in the front-end, have also matured, said Ro, recalling how when she first started her team were still charged with supporting IE6.
"Browser standards are very standardised today, so engineers today deal with more different challenges."
During the early days of software development, Ro admitted that an inward-looking approach was favoured as applications were built according to what software developers thought to be important, rather than what customers needed.
These days prior to developing any products, a more coordinated approach is taken at Atlassian, which involves engineers, design teams, and product teams forming a 'triad' to come up with a development plan. Ro says this approach is particularly important when teams are developing products that require some form of user-facing features. She noted it also means developers gain a better understanding of what needs to be built.
"We really saw a lot of value with product managers helping us focus; maybe we ship less, but on the right things. Design as well has really helped us build more user interfaces and experiences that makes sense to the customer. We don't just ship our products to engineers anymore. I feel it's very important that we brought on these roles, and they've been a huge influence in what we ship to customers and the experiences around that," she said.
She pointed out, for instance, how security is now top of mind during any development stage.
"Security has become much more ingrained," Ro said. "I would say to all of our engineering teams it's the number-one priority for Atlassian. We've come to understand that it's not just the responsibility within a separate security department; it's everyone's responsibility, and so we do a lot to ensure we're constantly testing and trying to ship the best and secure products for our customers."
A seat at the table
Ro believes software developers are no longer outliers within an organisation, but are increasingly playing more crucial roles.
"Engineers now feel much more responsible for all parts of the development lifecycle, so they're not just writing code anymore," she said.
"They really do have to follow all the way through to shipping and the operational side of things, and making sure that it is reliable, stable, and not just about writing and shipping the code, and so I definitely feel that that's been a huge change and shift."