Scala: Types of a higher kind
One of the more powerful features Scala has is the ability to generically abstract across things that take type parameters....
How to avoid “emotional overhead” at work (hint: emojis are 👍 )
Are you fluent in Gen Z’s “digital body language?”
How to excel at asynchronous communication with your distributed team
Say what you mean: how to become a more assertive communicator
More in Communication
How to excel at asynchronous communication with your distributed team
RTO’d? Take these distributed practices back to the office with you
An intentional solution for worker loneliness
Atlassian’s distributed work glossary
More in Distributed Work
Great managers meet uncertainty with curiosity and confidence
Good people management begins with self-understanding
How to minimize the impact of manager changes
Advice for first-time managers, from leaders who’ve been there
More in Leadership
Everything you learned in school and forgot – all in one printable
Use divergent thinking to generate fresh ideas in your next brainstorm
How to use time-blocking to get more work done
Don’t underestimate the outsized impact of short-term goals
More in Productivity
Less noise, more signal: Atlassian’s responsible AI journey continues
Find stuff fast: How to end the endless hunt for information
Atlassian’s approach on Enterprise strategy and planning
Control the chaos: a smarter approach to planning your work
More in Strategy
What’s your AI collaboration style? Take the quiz to find out!
95 AI prompts for better teamwork
AI is changing the way leaders lead and companies create
AI needs human partners to elevate its work – and keep it in check
More in Teamwork
Work Life is Atlassian’s flagship publication dedicated to unleashing the potential of every team through real-life advice, inspiring stories, and thoughtful perspectives from leaders around the world.
Learn more about Work Life
Contributing Writer
Contributing Writer
Head of the Teamwork Lab
Contributing Writer
Contributing Writer
Contributing Writer
One of the more powerful features Scala has is the ability to generically abstract across things that take type parameters....
One of the greatest things about our software development process is our need and desire to test everything. Unfortunately, this...
Mention generics to anyone who knows much about them and they’ll usually have an opinion on type reification and erasure....
**Exceptions should be used for exceptional circumstances!** Exceptions are to be used when bad shit happens. Not because you got passed some bad data (as in not passing validation), but because someone pulled the...
Some operations you don't want to run concurrently for various reasons. Here's a simple technique for preventing them.