9 ms·
I push, therefore I am: two days at Etsy (2013)
- zeristor 7y agoIs there anything else like this from the last year or so?
- oftenwrong 7y agoDan McKinley's talks are not that recent, but are similar: https://mcfunley.com/ https://mcfunley.com/ He is another former Etsy developer.
- elliebike 7y agoI really like the idea of a developer exchange - does anyone know of other places that have done this?
- alex_duf 7y agoThe Guardian (my employer) and the BBC ran sessions to exchange about how to make a news app. It's on pause given the current situation, but it was very informative!
- bArray 7y agoWhat kinds of problems would you face in creating a news app? Surely content delivery is the same as that through the web page and for displaying the content you just use some cross-platform UI library? (From somebody on the outside with absolutely no idea.)
- pbhjpbhj 7y agoI was thinking the scope might include news acquisition (creation!?) and not just publishing.
- bArray 7y agoHuh, interesting idea... I guess such a thing could be quite interesting for some short form updates (i.e. live from a conference). You'd probably want that to go through some kind of editor right? I just assumed it would be a news-reader/viewer.
- alex_duf 7y agoWe do indeed have what essentially is a text-editor with Guardian specific features developed in house. It's used for all of our content, but specifically what you're referring to are liveblogs, where a journalist can write short content and append it to the existing article. Here's an example of such an article https://www.theguardian.com/world/live/2020/apr/23/coronavirus-live-news-update-covid-19-face-masks https://www.theguardian.com/world/live/2020/apr/23/coronavir...
- alex_duf 7y agoThat wasn't part of these exchanges, but yes we produce the tools for that in house. The Grid is a good example of what's been produced in house, and it's actually open source (and I think being used by the BBC?) https://github.com/guardian/grid https://github.com/guardian/grid
- alex_duf 7y agoThere's a little bit more to our news app than content delivery, even though content delivery is indeed the crux of the problem. Regarding the content itself, it's a more complex than a wall of text, so we need support for each type of content. Our content is also served differently for the website and for the mobile app as we've got an API in there, though both the website and the mobile api are communicating with what we call the content API. Both the Guardian and the BBC have separate iOS and Android teams, I'm part of the server side team. We touched about how to organise the teams, how to handle request from editorial, how to test and release the app etc.
- stdbrouw 7y agoIn the lingo, a "news app" is typically some sort of interactive presentation of one particular story, and depending on the story may allow the user to filter or visualize something from a database, it might change the information based on where you live and it can include interactive maps or charts or calculators or even mini games to illustrate a particular concept. So these are one-off projects made to deadline, not a generic mobile app for reading the news.
- gigatexal 7y agoCross company is awesome but even better would be cross team within the same company. No single thing could do more to break us v. them thinking and silos than this imo
- gen220 7y agoWe have an infra rotation program, where application and service programmers can spend a quarter or two working under product infrastructure on whatever their infra passion is. It’s great to see somebody’s passion for a big change boil for a year or two, and then they rotate in and are given the authority to make that change. That being said, I’d love to see people rotate between application and service teams. Some applications and services are years ahead of others in terms of their maturity and scaling problems/solutions, so there’s a lot of tacit knowledge to be spread. We have a monorepo so self-starters can read code and commit messages, but a formal program would really help accelerate and democratize the knowledge spreading.
- gigatexal 7y agoYeah my former company would have benefit a ton from something like this. I guess it takes a culture to make this a thing. Instead we just built abstractions around the “other” team’s product so that we didn’t have to deal with their bugs or tech debt.
- orta 7y agoArtsy did a randomized dev team swap, where team leads stayed and everyone under shuffled: https://artsy.github.io/blog/2017/09/11/DevSwap/ https://artsy.github.io/blog/2017/09/11/DevSwap/
- hoorayimhelping 7y agoI recall us doing this a couple of times when I was at Etsy (2012-2015). I think we did it with Github as well. The thing to keep in mind is that accepting non team members and getting them meaningful work to do was already part of Etsy's culture. New engineers would bootcamp with a team for a couple of weeks when they joined. So the culture was already set up for this - managers and team members knew what to expect from a teammate who may not be a domain expert. I think the way to start a program like this is to start with an internal bootcamping type program and learn and make mistakes through that.
- gergelykralik 7y agoIs the site down for everyone else, or just me?
- bosie 7y agoworks for me, loaded also very quickly.
- gravitas 7y agoMobile firefox gives me an untrusted SSL warning, after accepting I get a "Dreamhost site not found" error.
- gergelykralik 7y agoSame here. Tried with VPN from US, EU, no dice.
- gravitas 7y agoI'm now logged into work VPN (captive network) and it's reachable going out the company network routes. shrug Edit: it's HTTPS - I use the SmartHTTPS plugin (including on mobile FF) and when trying to go this site with SSL it fails, if you force it to non-SSL it works.
- brendt_gd 7y ago> 6. Maybe PHP Doesn’t Suck Being a PHP programmer, I can concur: https://stitcher.io/blog/php-in-2020 https://stitcher.io/blog/php-in-2020
- pavel_lishin 7y ago> While many of the arguments against PHP still stand today, there's also a bright side: you can write clean and maintainable, fast and reliable applications in PHP. You can, but in my experience, most people don't. Especially in Wordpress land. I've paid for plugins with egregious problems that "work okay" because error reporting is silenced. > if you want to, you can write modern and clean PHP code, and leave behind much of the mess it was 10 years ago. But most people haven't, and I'm not really interested in spending my career and hobby time playing Russian Roulette with coworkers and collaborators.
- kozhevnikov 7y agoCan it be helped with a good linter? JavaScript had similar problems as there were more bad things about it than good, but with ESLint and a good config (Airbnb's or other) community evolved and most of the new stuff adheres to best practices by default.
- BiteCode_dev 7y agoBut the stack in JS is a terrible burden in itself, and people only accept it because we have no realistic alternative to JS on the most popular plateform in the world: the web browser. PHP doesn't have this accidental monopoly: you can use a language that doesn't require discipline and tooling to make something decent. Bottom line, PHP is better than it used to be. But the technical debt remains, and it's easy to avoid if you can, so we do. I started with PHP, but I have no reason to go back to it. It has no benefit and is worth it only if you have already a massive PHP code base, or a pool of PHP devs you need to employ.
- pavel_lishin 7y ago
- deleted 7y ago[deleted]
- jcp2fa 7y ago> I think it is important that engineering organizations identify a primary thing that they want to excel at. It affects the day to day mindset of the engineers, gives context to help with decisions, and provides guidance for what types of engineers we want to hire. Aligning expectations is extremely important, especially when hiring - the culture of an engineering organization has an outsized impact on the final product. I have seen a lot of contention when people are brought into an environment where they expect to be moving fast, only to realize soon into the job that stability is much higher valued than frequent releases.
- Jach 7y agoI agree with your general point about engineering culture (there's also more broadly the company culture) and it's always frustrating when management can't decide what the engineering values actually are to any real specificity, leaving it in the hands of each team doing interviews. I disagree though that stability and frequent releases need to be traded off -- it seems only at infrequently releasing orgs do people think that. As for new people coming in and being surprised by the slowness, I see it most happen with acqui-hires rather than new hires, since new hires who want to avoid being surprised by such things tend to ask enough questions (like "how are releases done?") in the interview stage.
- Tarks 7y agoBryan's amazing talk on this nails it for me https://vimeo.com/230142234 https://vimeo.com/230142234
- dgritsko 7y ago> the biggest problem we face is maintaining an understanding of what is happening in our system This really resonated with me. Distributed systems are _hard_ and tests (while valuable) are no substitute for being able to reason about what your application is doing and what might be affecting it.
- schraitle 7y agoI was stuck by this part too. It made me think of advice I read recently that went something like this: "The best way to see the results of a change to a complex system is to make it and see what happens"
- fallat 7y agoEtsy sounds fun to work at. I like their ideology from this guy's perspective. Too bad we couldn't see the other perspective. From what I hear Netflix is generally nice to work at too, but from the sounds of it may be more stressful.
- spyspy 7y agoThe article was really interesting but given it was written in 2013 I wonder how much of it is still true. They're both probably very different places to work than they were 7 years ago (for better or worse or same same but different).
- OJFord 7y ago> A lot of the Etsy engineers seemed to find this fascinating. I think the main reason for this is that they run in a data center and control their own hardware I'm shocked that Etsy, then or now, is at a scale where that's even close to making sense, that it would even be a discussion. I wonder if it still is, I don't know how its size has changed over the intervening seven years, but with the explosion in popularity of I/P aaS I think it would be even more surprising today.
- bichiliad 7y agoThis is fairly old at this point; we were in the process of migrating to the cloud for several years and completed the bulk of the effort recently: https://cloud.google.com/press-releases/2020/0219/etsy-completes-migration https://cloud.google.com/press-releases/2020/0219/etsy-compl...
- breakingcups 7y agoDo you have any insights into performance or cost difference?
- bichiliad 7y agoNot strictly, and I'm not sure what's public knowledge and what isn't, but as I understand it the biggest win was being able to scale quickly (especially during the holiday season) without having to put in orders for hardware months in advance. As I understand it, cost wasn't a driving factor in the migration. I think with regards to performance, it's a bit hard; comparing a cloud-native solution to a custom solution running on a VM on a server you manage can be really tough to compare.
- dx034 7y agoOwn data center rarely makes sense. Colocation can work out well for companies with a lot of demand where one location is sufficient. Dedicated servers (where you don't own the hardware) can make sense pretty quickly, the cost of managing that can be lower than cloud offerings even for mid-sized companies. PAAS or IAAS didn't really change that. Once you have a certain size, having your own department to manage hardware isn't that expensive in comparison.
- cryptozeus 7y agoFantastic write up. Curious and respectful.
- readarticle 7y agoIt was really interesting to see Etsy experiencing the same issues as Netflix in serving multiple devices and UI styles with the same API, and attempting to solve the issue with a similar conceptual approach but with a totally different technology stack. I think we will see a lot of new ideas in this space over the next few years as more companies feel the need to adjust their API designs due to device coverage, bandwidth constraints, UI innovation, and so on. Less than two years before GraphQL was publicly announced
- zackmorris 7y agoFrom the article: 5. Designing a Platform is Designing an Organization An ex-colleague of mine taught me the phrase “you ship your org chart”, meaning that the structure of your system in Production usually matches the structure of your organization. In my experience this is true. Also known as Conway's law, this was the single biggest lesson at my last job (just before it ended). I've come to believe that nearly all code problems are actually people problems. So for example, we aren't really web developers, we're coders who work around the numerous problems introduced by decades of design by committee. We aren't game developers, we're coders who make forward progress despite a level of wheel reinvention not seen in any other industry. And so on and so forth. Me? I've decided to take a break from programming for a while to let the churn die down. I'm still listening for possible gigs, but for the most part I'll be working on the other areas in life that I've neglected over the last ~20 years. Maybe get back into art, blog a little, invent something. Unfortunately I don't have the luxury of a large savings account or investments, so I'm doing this on faith and relying on the evolution of humanity in these times.
- johnmoonyy 7y agoReally cool read. I didn't know companies have these type of programs > 8. Always Keep in Mind What You Want to Excel At This was very touching. I haven't thought about my work in this way. I have a general idea of what I'd like to do and improve on but it doesn't always translate to my day to day.