HubSpot's engineers and product managers write about deployment, Backbone and iOS code structure, and product management.
HN links it for HubSpot job listings, a post on lessons from a Leads API rewrite, and an article on using CocoaPods for internal modules.
I'll just point out (as a much older engineer than you), that this article is HIGHLY skewed to YC Companies, that have self-selected as not solving hard technical problems.
As a founder, being in YC is probably great.
As an engineering employee, it doesn't seem all that compelling to work for a YC company compared to a non-yc company. None of the benefits of being a YC founder seemingly apply to an employee of a YC company.
This feels like serious echo-chamber nonsense that has little applicability outside the world of startups (and more likely YC startups).
Glassdoor just listed the top companies to work for. https://www.glassdoor.com/Best-Places-to-Work-LST_KQ0,19.htm
Airbnb (YC company). First job i found on their careers page (note, required a lot of clicking...):
https://www.airbnb.com/careers/departments/position/90884
Back-end, Front-end, Full Stack and Machine Learning engineers.
Strong proficiency in any of: C/C++, Java, Python, Ruby-on-Rails
Exposure to architectural patterns of a large, high-scale web application
Rigor in A/B testing, test coverage, and other web best practices
Hubspot. Jobs page: http://product.hubspot.com/apply?gh_jid=86940
Back End: We write lots of micro-services, primarily with Java 8. Our APIs are RESTful and use the minimal Dropwizard framework, and we take advantage of Kafka, Spark, Hadoop for processing volumes of data.
And Zillow (not I skipped Facebook,Google, and Linkedin, and went to Zillow as it's the first…
TL;DR I like Airbnb but there's lots of poor experiences that affect 2 people. Design is hard. I have experienced frustration related to the design of Airbnb. I complain.
This seems really interesting. If it can help improve the Airbnb UI/UX - I'm ALL for it. I've been hosting for over 5 years and travelling for 6 on Airbnb. I like the 'voice' of Airbnb in general and love the company and service. Take the following rant as feedback - because I've experienced the changes in your app over the years. And some of them have driven me crazy. Also - every time I have to call Airbnb or send in suggestions I say "I'm happy to speak with a PM or designer about how I use the app/service" but never get taken up on the offer (As a PM myself - I understand why) so this will act as my feedback outlet :)
A challenge Airbnb faces is that many interactions on the site are SCARY. This post from a few weeks back was really insightful about designing to address users implicit fears of screwing up. http://product.hubspot.com/blog/designing-for-anxieties
The comments below are coming from frustration with a service that brings me almost $30k each year and has opened new possibilities for my family (pre-emptive note to Airbnb haters: my place is not in SF). I write this comment from an Airbnb loft I'm currently staying at.
Still, to this day - I am occasionally shocked at how poor certain experiences are within the app. Not just that - but as changes roll out - there are some…
You assume that any code installed through CocoaPods will be created by ‘third-parties’, this is incorrect. Dependencies are simply that. You can use your own, like many companies have been doing successfully internally. E.g. http://dev.hubspot.com/blog/architecting-a-large-ios-app-with-cocoapods
Regarding “it’s not difficult” to do; Indeed it’s not, but it can be time consuming when you do want to quickly try out some libs. Especially once you have committed them to SCM and later on decide to remove them, because they weren’t what you wanted after all. This becomes even more a factor if you want to see a community that builds stuff together, instead of everybody re-inventing the wheel and/or vendoring their dependencies inside their lib leading to the mess that brings (at linker and runtime level), because then you need actual transitive dependencies and calculate a graph.
It is my experience that the lack of a tool and an ecosystem, such as CocoaPods, has led to the Objective-C OSS community staying minimal, in terms of working together. This can be noticed by the instant feedback people get on their projects when they release a library through CocoaPods and the decline of monolithic frameworks.
Whether or not your situation asks for this is another question. In consulting you’ll notice the benefit of quickly adding your dependencies, while on your own (single) product that’s probably a negligible amount of time. YMMV and all are fine.
>aggressive
You are reading aggression in based on the fact that I am disagreeing with you. It is text over the internet. Whatever tone you are gathering is purely imagined. I would suggest you visit fewer circle jerk areas and discuss things. People telling you you’re wrong and why is not aggression.
>source
I mean. I assume you’re a developer as you have a strong opinion on immutability. So just test it? It isn’t as if testing the impacts of immutability of performance is a difficult thing to test out.
It is actually difficult to find results because functional programmers have flooded the internet with “yes performance is impacted, but performance doesn’t matter. Performance is a premature optimization”
Nevertheless, even with things smaller than a register, performance is impacted here:
https://product.hubspot.com/blog/immutability-and-performance
By several X. Now get it objects that are larger than a register with numerous stack blowing deep copies and the effects are massively more pronounced.
The fastest Haskell game engine looks like PlayStation 2 on modern hardware.
I mean. That immutability massively hurts performance is not a point of contention, even among immutability fanboys.
>did you hallucinate
I think you forgot your own post. You stated that CoW is trivial and I gave you a specific reason as to why that claim is a lie.
I think we must be misunderstanding each other. Developers are human. (At least, I think we are.) We respond to the incentives and structure of the environment in which we're developing. A culture of "throw crap over the wall to QA" naturally creates an incentive for quickly writing up features, without balancing that with robustness, because finding the problems "is QA's fault". A culture of "the devs are responsible for the quality of their code" produces better code. The way to treat the devs well is to have the QA folks go off and create or bring in easy-to-use automated testing and CI frameworks, to make it easy for the devs to do the right thing.
This is not a new observation - it's been happening over the last 10 years. see, for example, http://blogs.forrester.com/mike_gualtieri/11-02-17-want_better_quality_fire_your_qa_team
or http://product.hubspot.com/blog/the-classic-qa-team-is-obsolete
and, while it's from 2007, http://googletesting.blogspot.com/2007/03/difference-between-qa-qc-and-test.html
HubSpot | Cambridge/Boston/Dublin | full time, onsite
Looking for front-end (React/Flux, Backbone, ES6/CoffeeScript) and back-end (Java8, HBase, Kafka, Hadoop/Spark, ElasticSearch) developers who enjoy working in small teams that own significant parts of our products. Developer autonomy and responsibility are what fuels our product culture. Our products are helping transform how small businesses do marketing & sales so they grow while delighting their customers.
The products we build help small businesses grow. More on our product team and roles on our site: http://product.hubspot.com/ and our company culture: http://culturecode.com
Or ping me (champion at hubspot) with any questions.