How We Build
Scaling React server-side rendering in Jira Cloud
For the past 18 months, we’ve been iterating on and improving a React server-side rendering service to support the frontend in our cloud-hosted Jira offering. During this time, the service has grown fairly organically from a side-project spiking a proof-of-concept, to a performance-critical service with 24/7 on-call support. This isn’t the story of an ideal […]
Automated testing: 5 lessons from Atlassian’s Kubernetes team on testing infrastructure as code
Today, the infrastructure world is moving much faster than ever before. It’s easy to provision hundreds of servers in seconds and have them online and usable within minutes. With all of that power comes the ability to iterate faster – and the potential for more bugs, more incidents, and more stress. You’ve felt the pain […]
Using an event-driven architecture to improve Jira Software responsiveness
Imagine a team working remotely or collocated. The team is made up of engineers, architects, designers, and product managers, and they all use Jira Software to collaborate on their day-to-day work. However, every time one of them updates an issue, project, or board, their fellow team members do not see the change instantaneously. Instead they […]
Java debugging at scale: when rare events become commonplace
As an individual contributor at Atlassian, one aspect of my job is resolving bugs in production. This can be a challenging and enjoyable form of problem solving. I recently helped understand and fix an intermittent problem with Jira Cloud. It was an interesting tale, not just because of the root cause we finally uncovered, but […]
A look at Trello: adopting GraphQL and Apollo in a legacy application
Trello is currently undergoing a big technological shift on the frontend, and an important part of this shift has been our approach to incrementally adopting GraphQL. We’ve used a client-side GraphQL schema (in a creative way) to quickly unlock the benefits of GraphQL. If you’re considering moving to GraphQL in your product, then this would […]
How we built our cloud migration strategy for Confluence
Our journey toward a better migration path for customers.
Our not-so-magic journey scaling low latency, multi-region services on AWS
Engineering stateless, high-availability cloud services comes with juuuuuuust a few challenges. Here’s how we (eventually) slayed the dragon.
Using spec-first API development for speed and sanity
An implementation-first approach to API development is all well and good… but might spec-first be even better?
Caching in: performance engineering in Jira Cloud
Go behind the scenes with the Jira team and see how we performance-engineered our way to a zero-affinity cloud architecture that runs at enterprise scale.
A woman’s place is on the team
Eight ways women are shaping sports, science, and society.
Behind the scenes of our security incident management process
On the security team, we don’t manage any Atlassian products like other Atlassian teams do. Our main product is trust, and that’s a job that’s never finished. To me, security is more of a mindset; one of constant diligence, continuous improvement, and seeking out ways to innovate. Sometimes security teams can act like more of […]
A deep, deep dive into Java debugging
Follow senior architect Robbie Gates all the way down the rabbit hole to the JVM code, and learn a few new debugging tricks to keep up your sleeve.
I ran a ludicrously complex engineering project (and survived)
Coding? That was the easy bit. Delivering the largest project in Atlassian history was all about staying true to proven engineering principles – plus a few new ones.
Getting serious about cloud migration
Cloud is a big part of Atlassian’s future, and we’re more focused than ever on delivering a great Server to Cloud migration experience. When developing software, there is no better way to test than doing it yourself. So that’s what we did. In an effort to learn more, understand pain points, and make a better experience […]
How to create buzz-worthy marketing plans using a simple template
Just a few decades ago, Nike was a Greek goddess who personified victory. Apple was the fruit you polished and gave to your teacher. And subways were simply underground transit systems. Today, well-planned marketing campaigns have replaced a goddess with shoes, fruit with computers, and trains with sandwiches. The lesson is clear: marketing matters. You can […]
