JSFoo 2019

On component architecture, front-end engineering and Developer Experience (DX)

Tickets

Jira Frontend architecture (r)evolution: a story of mistakes, revelations and human nature

Submitted by Nadia Makarevich (@nadiam) via Zainab Bawa (@zainabbawa) on Monday, 9 September 2019

Section: Full talk (40 mins) Technical level: Intermediate

View proposal in schedule

Abstract

When jira-frontend repository was born (less than 3 years ago!) Redux was basically a standard for the frontend state management, everyone used it. Jira even built its own architectural guidelines around it and how to build scalable apps with it. And just two and a half years later: drama! Jira and Redux are breaking up, new state management solution involved in it somehow, and the whole Jira frontend architecture is upside down and completely different. Or is it?…

Learn about current Jira Cloud frontend architecture, what is the recommended way to write scalable code in jira-frontend now, what was the problem with Redux and why we abandoned it, and how our architecture guidelines look like today.

Outline

This talk will cover:

  1. A bit of history of frontend in Jira
  2. How architecture of frontend looked like at the beginning
  3. How it changed in the following years and why
  4. How Jira’s frontend architecture looks like today and why

Speaker bio

Nadia is a senior developer, tech lead and wanna-be architect from Atlassian. She works in Jira Frontend Platform team, the team that is responsible for the overall architecture of Jira’s frontend, CI/CD pipeline, and building tools and processes for scaling Jira’s frontend development. She is passionate about frontend, architecture and scale, and loves challenges and solving problems that involve all three of them.

In her free time she is wandering around Sydney with a digital camera and pretends to be a pro photographer, learns German for fun, and tries to gather some courage to try surfing this year (which is a bit embarrassing after living in Australia for 3.5 years).

Links

Slides

https://drive.google.com/file/d/1gXF3WD28SjlTEZBagvZX828DNbytDp8P/view

Comments

  • Zainab Bawa (@zainabbawa) Proposer Reviewer 2 days ago

    Thank you for an excellent rehearsal this morning Nadia. Here is the summary of the feedback:

    1. The inital seven slides about Jira and Atlassian can be reduced to a single slide about the past. Participants at JSFoo are familiar with Jira. This context will be redundant for them.
    2. Instead, start with an agenda slide that explains the flow of the talk to participants and how they should expect the story to proceed.
    3. Jumping into the problem of the “tragedy of the commons” will be the most interesting part. Get to this as quickly as possible.
    4. The evolution stories are differently tilted towards the tech stack and the people aspect. For example, the first evolution has greater focus on the tech while the second evolution has interesting insights towards the latter part about people. Personally, I am unsure how the story can be balanced on both people and tech across the evolutions. I believe a good way to tie in all of this by spending little more time on the conclusion and the takeaways slides.
    5. One of the reviewers suggested you could talk a bit more about Tangerine-next especially the gamification part.

    Today’s rehearsal was 37 mins long. You have to reduce the speaking time to a maximum of 35 mins so that we have 5 mins of questions towards the end.

    On the visuals of the slides, you have to increase the font size on all the diagrams you show on the slides. Increase to 34-38 point.

    Looking forward to an excellent talk at JSFoo.

  • Deepak Pathania (@deepakpathania789) 2 days ago (edited 2 days ago)

    Hey, great slides, looks very interesting. I agree with most of the feedback shared above, just to add a few things.

    1. The code samples you included could probably focus on the exact lines about which you’re trying to make a point, would avoid distracting attendees with a bunch of imports at the top.
    2. An example showing the difference between the same snippet using the guidelines laid down by tangerine-classic and tangerine-next respectively would help attendees understand them better, please excuse me if they’re already there and I missed them.
    3. I’d personally be very interested in knowing how the gamification works with packages, do a bunch of people look at the code base and give them a score? What happens to poorly rated packages? I am sure you cover that in your talk, just wanted to express my interest.

    Hope to catch up with you at the event and looking forward to your talk!

  • Bharathvaj Ganesan (@bharathvaj) 2 days ago (edited 2 days ago)

    Hi Nadia, the topic is really interesting and I believe the audience will like the talk. Most of the points have been summarized by Zainab. Few other comments from my side,

    1. Pace of the talk was excellent.
    2. It would be very insightful if you could spend more time on Tangerine, highlighting the challenges faced (like forcing the developers to follow such strict rules and regulations) when enforcing Tangerine program.
    3. Like Zainab suggested you can increase the time spent on the take away part.
    4. I’d personally feel the number of slides representing the story plot can reduced little bit.
    5. There are slides where there are a bunch of code. You could highlight the important areas and hide the rest like you did for other slides.

    Looking forward to meet you at the event.

  • Praveen Puglia a day ago

    Hi Nadia!
    Sorry I couldn’t attend the rehearsal so can’t comment on the speaking aspect. But here are my thoughts on the presentation.

    Pros

    • Loved it.
    • Clean.
    • Interesting.
    • Good highlighting on the directory structure.
    • Emojis FTW!
    • Absolutely looking forward to it.

    Cons

    • Too much code on some screens.
    • Text sizes will be hard to read to audience, if they need to read that is.

    All the best! :)

Login with Twitter or Google to leave a comment