New and shiny things Adobe engineers are looking at.
In this new series of posts, Adobe engineers share links and article excerpts about things we are looking at across the tech space.
Like all software engineers, we spend a good portion of our time learning and trying new things, and we thought sharing those with our readership would help foster conversations.
Also, to be honest, due to our size (like any large organization) we sometimes have a hard time finding out what our own colleagues are doing. Spreading news here should help with that as well!
We’re currently aiming for a monthly edition of the Adobe Tech Radar; we’ll also use your feedback to steer this project, so don’t be shy! Likes, claps, retweets, conversations, and flames are welcome. Well, flames maybe not so much but they might tell us something we don’t know!
The Radar sections will vary but it’s mostly around programming languages and tools, devops, the cloud, open source — generally the topics that are on our minds as 21st Century programmers, even if some of us were born way before that.
For this first edition we have contributions from Francesco Mari, Chetan Mehrotra, Erin Pierce Haymond, Nino Walker, Jen Gray, and Pert Eilers, with Bertrand Delacretaz acting as our Radar Editor. Thanks also to Christian Schneider who came up with the idea to make our internal Weekly Tech News more public!
Bjarne Stroustrup: Why I Created C++ is a short video where The Master explains the emergence of the C++ language. One cannot help but notice the little smile that appears when he talks about the most complex parts.
Would a single code repository be better, or just a source of more trouble? Uber software engineer Aimee Lucido explains the reasons for moving to a monorepo to support the growth of their Android development. This can help you better understand the benefits and challenges of such a move.
The Space Saving algorithm is a great way to find the most frequently used items in an infinite stream using a bounded storage space. Florin Manolache’s slides (PDF) provide additional details. This can be really useful in implementing traffic throttling efficiently on busy services, using a bounded amount of memory to maintain traffic counters just for the “heavy hitters.”
In early May, Microsoft announced KEDA, their new tool for event-driven autoscaling in Kubernetes clusters. This open source tool has been created in partnership with Red Hat.
The Faun community’s “The Missing Introduction to Containers” gives a good overview of where containers come from.
“We built our own serverless database, and you should, too… probably” gives an interesting perspective on how serverless technologies can be used to create “large-scale prototypes” to run services in production with very low upfront investments in work or capital. This was also presented at Serverless Days London recently.
Collaboration and diversity
In a blog post entitled “We Don’t Do That Here,” Aja Hammerly mentions a few “magic phrases” that help keep one’s work environment sane and respectful. We don’t do that here is a useful such phrase that helps promote a culture of respect and inclusiveness. Of course, we’ll need to agree on what we “don’t do,” but having a simple and clear way to express that is very useful.
On the Adobe side, our Digital Academy helps high-potential talent thrive in tech careers, whatever their background is. We are proud of this initiative and enthusiastic about welcoming and mentoring new candidates in the next session which begins soon!
Table-driven tests are a great way to make tests more readable and manageable, as described in this post by Dave Cheney. Using readable tests for reference documentation is a great way of keeping your documentation up to date, and these tests can help.