In Modernizing Force we discussed some of the tools we've been working with to modernize Artsy.net's development environment, from introducing Babel and React to the creation of @artsy/stitch. Increasing overall development speed was another aim, and to that end we released @artsy/express-reloadable which automatically hot-swaps Express.js code without the restart. In this post I'd like to cover some of the issues we've faced since then, and in particular our solution to library code-sharing in Express apps.
Hello! My name is Ash and I work on the Auctions team at Artsy. I like to blog, and I like to tell people they should blog, too (you should blog btw). I've been trying to increase how many blog posts get written by Artsy engineers for six months or so, but have only seen modest results. I've been holding weekly office hours to help with writing, but it's not often attended. So I started reaching out to team members individually to suggest they write something, but they're very busy and often can't spare the time. Hmm.
A simple solution came out of a discussion with other engineering teams surrounding how to build team culture. Sonam Dhingra of UsTwo solves the problem of "not enough blog posts are getting written" simply by providing templates that can be used to compose blog posts very quickly. Even if someone was in a hurry or not a confident writer, they could still contribute to the engineering blog. What a marvelous idea!
At Artsy we <3 TypeScript. We use it with React Native via Emission and on the web via Reaction. Until recently, however, projects that required the use of Babel had to implement convoluted tooling pipelines in order to work with the TypeScript compiler, increasing friction in an already complex landscape. (An example of this is Emission's use of Relay, which requires babel-plugin-relay to convert
graphql literals into require calls.) Thankfully, those days are over. Read on for an example project, as well as some advice on how to avoid common pitfalls when working with the new beta version of Babel 7.
I don’t revert code changes often. Usually, I’m a fan of "rolling forward" with a fix, rather than rolling back. But sometimes, revert-and-fix is just the ticket. I had to do so recently, and it brought up some interesting challenges, so I thought I’d share.
C4Q is a non-for-profit hacker school based in NYC. We've had members of Artsy team help out by being TAs, run committees and steer the curriculum as Engineers in the industry. C4Q recently reached out to arrange a meetup between two of their classes learning Android and Web and Artsy engineers.
We thought it would be cool to have a talk from dB, our CTO, on what Artsy is and to also host a Q&A panel with our engineers. For a lot of the students it was their first time meeting a team of engineers, so we anticipated a lot of question time.
In prepration for the event, I reached out to the internet for ideas on what sort of questions juniors would be interested in hearing about, and people said they were also interested in hearing what we ended up being asked, and what our answers were. This post has the youtube video of the opening talk, and our panel's Q & A session.
It was really awesome to talk about how far we've grown as individuals, and what is important in our engineering lives.
With the often overwhelming and downright discouraging reality that the tech industry isn’t a diverse and inclusive environment, I felt compelled to share what a productive, empathetic, and nurturing environment for female and female-identifying engineers looks like.
I have just shipped a post over on the Life at Artsy blog about how: Our culture of empathy, our hiring process and our company values provide a competitive advantage. This all contributes to ensuring that all engineers regardless of gender feel valued.
A few weeks ago, every engineer at Artsy went to work for a different team for two full days. We called it DevSwap. In this post, I'll go over why and how we did it.
Once Danger Ruby was stable enough for everyday use in 2015, it became obvious that running Danger on CI was both a positive and a negative. On the positive side, Danger has access to all artifacts created during testing - and on the negative side it takes a long time to get feedback. It was obvious that Danger could run on a server, but it was a big unknown what that could look like.
Artsy has always had a focus on Art meets Science, and we hosted a meet-up in July that really hits on both. We had a collection of Artsy Staff, members of Art + Feminism NYC, the CocoaPods Peer Lab, New York Arts Practicum and volunteers from Wikimedia NYC all helping out.
We came with two aims:
- Help anyone interested in contributing to Wikipedia get started.
- Use The Art Genome Project(TAGP) to improve Wikidata entries for women Artists.
I helped out with the second part, and the rest of this post will be about the lessons learned during this editathon.