One of the main benefits is having the title and (usually) an overview/description or excerpt.
It makes it so much easier to prioritise and filter content before (and often instead of) having to deal with the modern web experience directly.
So, what’ve you been paid and what are you being paid now?
Here, putting my money where my mouth is: 55K -> 60K -> 125K -> 160K now, not including contracting and consulting and founding and other misadventures. All base, not counting (usually laughable, never worth it) equity.
Approximations from memory with some kind of parseable format
year,salary,tc,cause
2008,37000,39000,first dev job
2009,42000,48000,merit raise
2010,53000,62000,merit raise
2011,64000,70000,merit raise
2012,75000,115000,merit raise + acquisition
2013,81000,83000,COL raise
2014,115000,120000,role change
2015,117000,121000,COL raise
2016,124000,127000,merit raise
2017,140000,140000,retention raise
2017,176000,195000,new job with reports
2018,183000,202000,COL raise
2019,140000,170000,laid off in end of 2018 with new job early 2019
2020,140000,174000,new bonus and RSU structure kicks in
Total Compensation, which is generally calculated as salary + bonuses + equity if RSUs and not options. Some folks will include 401k in it, but that’s rare because 401k matches are all over the place and are a function of your salary anyway.
From 2012 to now: $60k -> €63k -> €68k -> €78k -> €110k -> €98k. A couple of those years I also got around €35k in bonuses, but those will probably prove to be outliers in the long run.
I took a pay cut at the start of the year to have a job with more flexible hours and less stress so I could spend more and better time with my family. It has been 100% worth it and I wish I’d done it sooner.
In US, various places, mainly Kansas City and Phoenix, currently Pittsburgh. The older figures are VERY vague though.
year,salary,tc,cause
2008,32000,33000,First job as baby sysadmin tech
2009,37000,39000,raise + bonuses + overtime
2010,28000,30000,then absconded to grad school.
2011,21000,22500,Grad school kinda sucked
2012,21000,22500,but I finished it with no debt
2013,24000,25000,though moving to Seattle was a mistake.
2014,58000,61000,Working in oilfield stuff pays the bills
2015,46000,47500,but takes its toll in mental health.
2016,56000,62000,Academia is better
2017,57000,63000,but the hamster wheel gets awful
2018,41000,42000,and I should have quit way earlier.
2019,75000,81000,So here I am at a mid-life startup
2020,78000,84000,and I love it.
I’m currently rather underpaid, judging by @colindean ‘s awesome survey, but I wouldn’t get to help build flying robots at Facebook or whatever. You don’t get to take money with you after all, and I’m literally posting this during a work trip to a helicopter factory.
Boston area, software developer, primarily backend.
66 (base, thousands of USD), starting job out of college in 2011, where I had interned before
69, standard raise
88, changed employer, 2013, did not negotiate
99, when manager noticed how little I was paid
103, standard raise
106, standard raise
108, standard raise
118, raise when I pointed out how badly underpaid I was
142, changed employer in 2019 and actually negotiated my salary (although insurance plan not as good, which cuts several thousand out of this)
I could probably be making 150+ depending on employer, or 180+ if I worked for an employer I hated.
I’ve tried mentioning my salary to other developers in contexts when it made sense, but they’ve never offered, and I’ve never asked. Not really sure how to get that conversation going.
Reading the article, it does look like they hit some performance issue, due to how the Go GC works, and they tried Rust because it was already seeing adoption at Discord. I would not call that “just for fun”.
On the other hand, a lot of things change (improve?) in our industry because we hack stuff just for fun. :)
This happens in other industries too. Youtube is full of metalworkers/MechE’s, EE’s, chemists, woodworkers, and so on hacking their tools, twiddling with silly ideas just for fun, breaking stuff, trying out old ideas in new ways or vice versa, and so on. The only thing special about software is you can do it sitting in front a computer instead of needing a whole workshop or lab.
Even though rather expensive, doing a rewrite is usually not so bad in our industry than it would be in many others. Imagine replacing a bridge with a new one just because you got slightly better steel now than last year.
Imagine building a new bridge because there was more traffic than would fit on the bridge you already have, and deciding you might as well use the new steel while you’re at it.
My own perspective: if software engineering is like writing then it’s a rewrite or a reimagining. If it’s math then it’s something like string theory or where a trail leads nowhere so you go back and start over from a new fundamental. I think software is mostly writing with a bit of the math in my analogies. I don’t think it’s like physical construction but sometimes I use those analogies.
These type of articles keep on popping up. The weird part is that I’ve never seen a rigorous study if Facebook actually influenced any political outcome in a meaningful way. Does anyone know of good papers that study this?
Interesting. My tech career was partially in online advertising where interestingly ad spend would be split between targeted stuff (goal driven, quantifiable) and ‘brand’. The point of brand was simply to get ads in front of faces with the brand name, logo, tag-line etc. The result was not necessarily quantifiable but still there was a generally accepted rule the you put something like 25%-30% of your ad spend in ‘brand’. I’m not sure there’s no one who could quantify this though, e.g. masters of brand advertising such as coke or perhaps some org with capability to both exert massive influence and measure outcomes in a controlled environment (e.g. demographic you know has minimal exposure to channels you don’t control). I bet this exists somewhere.
I work on chat, fun read about the open protocols. You missed RCS (Rich Communications Services) which is a chat protocol designed to replace SMS. (mostly driven by google as far as i know)
Depends on the places. In most tech hubs they easily start at 2-3 times the average salary and they get as highas 4-5 times in places like Zurich. after taxes. With european standards of welfare. That means a disposable income sensibly higher than the general population.
The real question should be: why is society paying so much for a bunch of kids building stuff that most of the times doesn’t have any social value, but we already know the answer.
The real question should be: why is society paying so much for a bunch of kids building stuff that most of the times doesn’t have any social value,
It’s not. Most developers aren’t in SV building useless stuff, they’re working for government and businesses, and getting paid because they save/make their employer money.
that’s very different from producing social value. Just because you make money from somebody doesn’t mean you’re doing much for society. Some people in some countries believe market value and social value are somehow connected but it’s a somewhat old-fashioned cultural artifact it’s time to get rid of.
Just because you make money from somebody doesn’t mean you’re doing much for society.
Well, it’s an indication that you’re providing value to someone. It’s then up to you as an individual to add a moral assessment of the value of the overall enterprise.
Some people in some countries believe market value and social value are somehow connected but it’s a somewhat old-fashioned cultural artifact it’s time to get rid of.
They certainly somehow connected, though imperfectly.
why is society paying so much for a bunch of kids building stuff that most of the times doesn’t have any social value
And doesn’t even work well (e.g. I am unable to paste text in Facebook messenger; the entire thing loses it shit if I paste with either middle mouse or C-v).
I think because social welfare states cost money? Taxation is higher in Europe (for individuals and companies) and we don’t have a billionaire class lobbying for constant cuts. There are tax havens (Luxembourg, Ireland, etc.) but those are mostly for multi-nationals and not SMBs and the like. There’s also higher labor protection over here.
I don’t think the EU will ever make more money than the US. And I sure hope it stays that way.
Because there are a ton of succesful tech startups that are driving up wages… Starting salaries of ~100k for straight out of a 6 month training program are the new normal here.
Is there any source for this? We’re using Layer’s API at my workplace and we’ve not heard anything on this. Their website says nothing and there’s no sources except this article. Even on Twitter the only person posting about it is the author of this article (who works for a direct competitor).
One thing to note is that the author says Layer is only shutting down Layer Chat. But the way the email is phrased, it sounds like all of Layer is being shut down. It’s a strange post.
~
tschellenbach just now | link | edit | delete | reply
Author here, I received a notification about this from one of our customers who switched from Layer to Stream. I’ve since had a conversation with Layer to confirm.
Author here, I received a notification about this from one of our customers who switched from Layer to Stream. I’ve since had a conversation with Layer to confirm.
I actually updated my post a bit, maybe i was a bit too harsh. It’s just that APIs shutting down is bad for startups in this space. If you buy something from AWS you know it will be around for a while. Even with Parse’s graceful shutdown I spent months convincing customers that Stream would be ok and continue to operate. Anyhow I was a bit too grumpy about this.
I think GraphQL is just laziness, since you have a single endpoint. And as we all know, laziness always wins for coders :D And with that single endpoint, comes better tooling from standardization, and the snowball grows over time.
At first, it feels easy and good for lazy devs, but then you take Dragon book from the shelf, because you are required to make optimizing transformer from GraphQL AST to SQL queries. And to make your own query complexity estimator to prevent instant DoS with single query.
GraphQL is like having SQL available to outside world, but with different syntax. I don’t understand attractiveness of this approach.
GraphQL is like having SQL available to outside world, but with different syntax. I don’t understand attractiveness of this approach.
As someone working on a GraphQL implementation for a pretty big website (we have hundreds of software engineers) I feel like I can talk a bit about why it’s working for us. You’re right that it’s a bit like SQL, but it’s designed specifically for business objects. Instead of worrying about the normal form of our data, we specify the schema of those objects as it will be consumed by our clients.
We then get to write our resolvers in ways that make sense. We can do bulk fetches, use multiple data sources (including caches), compute derived fields or combine data sources… and we can swap those things out without our clients noticing. We get to move logic away from ORM-layer magic, instead specifying a schema for business objects and a way to inflate them. Conversely ORM models represent both business objects, with derived fields, and database rows. There’s no schema for derived fields, and serializing a model instance to send it over the network is fraught.
The solution to the ORM problem is obvious: use true business objects, which can be serialized and transported easily, and provide a set of tools that can inflate them. Congratulations, you’ve just invented GraphQL.
I probably wouldn’t choose GraphQL for a small hobby project; but on a project big enough to have multiple caches, multiple canonical data stores, and sharded data, it’s great to work against a standard. Being a standard, we get to take advantage of existing practices and tooling. We get documentation, introspection and query building for free. We can build tooling that can easily read and write schemas, enforcing business rules, keeping things in sync or notifying us of breaking changes. We’re not breaking new ground here either; AirBNB has some great prior art here.
Hopefully this explains a little bit of why we find it an attractive prospect.
Maybe someone should go full circle and implement a new database that uses GraphQL as the query language. Then we won’t need to write server back-ends anymore and can just defined a schema + security rules and expose it to the front end.
Makes sense for API where you don’t know what the UI/client side will look like. So for a headless CMS, or a generic backend as a service. Those use cases make sense. Some people use it for their main app, which just makes things slightly easier in the beginning and impossible to optimize in the long run.
This is a dangerous meme. The average non-degreed developer earns less than a degreed one, so at some point it does matter. Your person at your company is anecdotal and, unfortunately, not representational.
Yeah. I’m not saying I’m unique in this regard, just making a list of everything I did and learned to get there so other people entering the industry can get an idea of what they might need to know or want to learn.
It’s a genuinely decent language which is suited for web development and which has easy performance gains for devs used to Ruby or Python.
That said, the spread of it I believe is up concerted marketing efforts and (well-meaning) misinformation.
A lot of folks get to do “Proof By BEAM” when asked about their technology choice, saying something about WhatsApp and the BEAM and Erlang and waving hands while riding the coattails of a few golden and/or mysterious projects.
Elixir is a natural choice for existing Ruby developers/shops.
You get a huge performance bump, even with naive solutions. The syntax is really close to Ruby and so is an easy switch in that respect. Phoenix is a great framework.
If you go beyond that there’s lots of battle-tested gravy in the BEAM VM and OTP.
The author of this post is famous but doesn’t get how things work. This is his argument…
Tl/DR:
companies go public later, doing more later stage funding rounds.
founders have more control nowadays since VCs started to realize that founders outperform external CEOs
being a founder is less risky (not clear why this would be the case, yes, funding rounds went up, but so did the early expenses of starting a company)
founders have more upside than employees (he pulls a number from thin air, 30-50 times)
There is so much in this post that I don’t agree with that it’s hard to know where to start. First of all, founders having more control is a good thing for employees. Founder stock is very close to the deal employees are getting. At the very least it’s better aligned with employees than investor stock. (down round protection is almost always built-in to investor stock). Also the founders work with the employees on a day to day basis. Making them on average less likely to screw over the employees. (seriously does anyone believe that the VCs care more about you than the founders? have a look at what happened to Travis)
The opportunity cost of being a founder has only gone up. The reason is that nowadays you can get crazy high engineering or management salaries at big tech companies.
I can only speak from my own experience. Maybe we’re particularly generous, but the difference between top employees and founders is not that big over here.
The main thing I don’t agree with is the general sentiment of the post. Supply and demand for engineering talent have been more and more in favor of engineers over the last 10 years. Salaries are going up, perks are going up, work life balance is becoming more chill. I have a friend who joined 4 startups and sold his stock 4 times. He can pay his house in cash these days. No other industry has these amazing jobs.
The one thing that does really need to change is taxation on stock options. That system is obviously a bit broken at the moment.
What I think is really going on here is that Steve Blank is low on traffic for his blog and decided to write some hipster sounding controversial blogpost.
I have to disagree with you on a number of your points.
First of all, founders having more control is a good thing for employees.
This is highly situation dependent–if the founder has experience and values their employees, it’s a great thing. If a founder is young and doesn’t understand the career trajectory of engineers (or other people trying to raise a family), this can be bad. If the founder, as a purely random example, comes from a privileged background and tries to treat their employees like pieces of factory machinery, it’s terrible.
Founder stock is very close to the deal employees are getting. At the very least it’s better aligned with employees than investor stock.
Founder stock grants are quite often orders of magnitude larger than that for their employees, they have inside information about how the financing and fundraising is going, they have direct control over those aspects in ways their employees do not, and that’s before you even get into the options, voting stock, and other differences Blank touches on.
I’ve seen a CTO (who is legally liable for the company’s behavior as an executive!) be grudgingly given less than a point share in the business, because of stingy founders! Us poor grunts who build the products have no hope in such cases.
Also the founders work with the employees on a day to day basis.
The company I was just let go from had a founder that talked to me a total of like 5 times in the last year and a half, the final time gaslighting me about who had me fired. The previous health IT company I was at, the tech cofounder kept their day job and seagull managed the rest of us, and the biz cofounder/CEO usually was holed up in their office and popped out to ask for asinine product tweaks and failed to make sales and raise investment.
This is a highly-variable thing.
Making them on average less likely to screw over the employees.
VCs are there to make money, if it means sharing with employees they’ll do that. Founders are there, in my observation, to boost their own egos–and even if you write most of their product, their own arrogance will prevent them from ever giving you similar compensation, because you once took a paycheck from them and somehow that makes you not as worthy…even if the paycheck was backed by other people’s money. If it’s backed by their money, God help you.
The opportunity cost of being a founder has only gone up. The reason is that nowadays you can get crazy high engineering or management salaries at big tech companies.
That applies double for early employees, right? At least founders get to network with the investing class and can put “I founded ” on their resume and go on podcasts and shit–early employees are usually hired because they’re more qualified than the founders (by definition…if they weren’t, they probably wouldn’t be hired) and they are paid very much below market rates.
Maybe we’re particularly generous, but the difference between top employees and founders is not that big over here.
Are you one of the founders? Can you throw out some numbers?
I have a friend who joined 4 startups and sold his stock 4 times.
I’ve worked at least four startups (two as senior FTE, one as cofounder, others as contracted engineering talent), and only now might have stock from one of them. Last one the founder got really weird when I talked about exercising my options to see our finances. Good for your friend, but equity is basically a joke on par with exposure now.
No other industry has these amazing jobs.
You might be surprised at the perks and job security offered by other white-collar fields. Engineering, once you have a PE, is relaxed as hell by all accounts. If these jobs are so great, why do we mostly only see dumb young men signing up for them?
~
Like, I get it–in magical little pockets of reality that still mirror the 90s, being a startup early engineer is great. For most of us, though, we’re getting shafted compared to the value we add.
Sorry to hear that, doesn’t sound like a great environment. As an engineer you can be quite picky where you work. I’ve made this mistake in the past as well, staying too long somewhere were the culture/environment isn’t right. Did you find a good opportunity eventually?
I have a friend who joined 4 startups and sold his stock 4 times.
When did this happen? His whole argument is that options used to be a good deal, but no longer are. Examples from ten years ago don’t disprove that thesis, which is in accord with my experience. Yes, it’s a good time to be an engineer, but only because salaries are high. None of the equity I’ve notionally had at several startups has ever been worth even enough to buy a coffee in actual exchange value.
Maybe we’re particularly generous, but the difference between top employees and founders is not that big over here.
OK, I’ll bite. What’s the ratio of a founder’s equity to the equity of an April 2019 new hire at your shop?
I don’t think the post said or could credibly say it’s a bad time for engineers, but it did raise some things that seem both true and relevant to one’s analysis of options. Just that you might be waiting a long time before you can sell is a pretty big deal. A naïve analysis of options value probably doesn’t factor in dilution – you might think “it’s 0.x% equity” based on what it is at the time, forgetting that if there are more rounds, that will change. This post only touches on it, but the whole short exercise window if you quit thing is relevant too.
The world is, in general, quite unfairly kind to engineers in 2019. But you should still understand upsides and downsides of options when you’re evaluating them.
Company: Stream
Site: https://getstream.io/
Position: Various (https://angel.co/stream/jobs, if you’re awesome at your job we can also see if there is room to create a position that fits your skills)
Location: Amsterdam or Boulder
Description: We provide activity feed and chat tech for some of the world’s largest apps. Vision here is that apps are more reliable, more secure, and faster to launch if you don’t built everything from scratch.
Contact: tommaso@getstream.io for Amsterdam or thierry@getstream.io for Boulder
seriously, how do you prevent stuff like this from happening if you have a big team. for small companies its relatively easy to prevent. but lets say you have 1000 engineers, how do you prevent 1 of them from making a mistake…
One way to catch this sort of thing is sentinel data — in this case, you could use a unique value as a test account’s password and use that account for testing every service, then search everywhere you can think of for that value. If it shows up anywhere, the siren goes off. In enterprise storage similar things are done for “data loss prevention” to make sure people don’t move sensitive files to someplace they shouldn’t.
Even then. Divert full request logging on your SSL-terminating http proxy server and you’ve just caught a bunch of passwords in-flight. And you probably don’t want to use client-side crypto, or else you lose >1% of potential users. More in places with poor connectivity due to longer page loads.
These things just happen and we need to live with them. When you let someone else handle your data, you should be able to trust them. If they do it on scale, there must be some regulation. Just like you trust your friend not to poison you with a dinner, but you prefer someone to check your favorite restaurant to maintain some standards.
It can easily happen in a team of 10 people. I’m of the strong belief that someone on the team needs to be responsible as a security architect and that’s their main role.
I still use RSS
Me too. I love it.
One of the main benefits is having the title and (usually) an overview/description or excerpt. It makes it so much easier to prioritise and filter content before (and often instead of) having to deal with the modern web experience directly.
Me too. Instead of “still” I would also say that I use RSS more than ever. All the news sources I read I subscribe to via RSS, Atom or JSON Feed.
I started at EUR 24k in Rotterdam back in the days :)
So, what’ve you been paid and what are you being paid now?
Here, putting my money where my mouth is: 55K -> 60K -> 125K -> 160K now, not including contracting and consulting and founding and other misadventures. All base, not counting (usually laughable, never worth it) equity.
Approximations from memory with some kind of parseable format
Can I ask, what is
tc
?Total Compensation, which is generally calculated as salary + bonuses + equity if RSUs and not options. Some folks will include 401k in it, but that’s rare because 401k matches are all over the place and are a function of your salary anyway.
That helps, thank you both.
My guess is “total compensation” i.e. salary + bonuses
From 2012 to now: $60k -> €63k -> €68k -> €78k -> €110k -> €98k. A couple of those years I also got around €35k in bonuses, but those will probably prove to be outliers in the long run.
I took a pay cut at the start of the year to have a job with more flexible hours and less stress so I could spend more and better time with my family. It has been 100% worth it and I wish I’d done it sooner.
In terms of cash, I’ve gone:
[Pittsburgh]
2010-11: $7.25-$10/hr (I was a high schooler / college freshman)
2012: $15/hr interning where @colindean was at the time
[Chicago]
2013: $25/hr at a startup
2014: $75k/yr + RSUs at my first long-term full-time job
2015: $90k/yr + RSUS (promotion)
2016-2018: $90-150/hr doing freelancing
2018: $95k/yr + a little equity working 3/4 time at a startup
2019: $145k/yr + more equity switching to full-time and also getting a raise
Almost all of this has been full-stack web development in Rails or Clojure.
Oh hai!
Hope things are going well in your post-IBM life! I miss the burgh!
In US, various places, mainly Kansas City and Phoenix, currently Pittsburgh. The older figures are VERY vague though.
I’m currently rather underpaid, judging by @colindean ‘s awesome survey, but I wouldn’t get to help build flying robots at Facebook or whatever. You don’t get to take money with you after all, and I’m literally posting this during a work trip to a helicopter factory.
Boston area, software developer, primarily backend.
I could probably be making 150+ depending on employer, or 180+ if I worked for an employer I hated.
I’ve tried mentioning my salary to other developers in contexts when it made sense, but they’ve never offered, and I’ve never asked. Not really sure how to get that conversation going.
A friend of mine did very well on his startup equity 4 startups in a row. But yeah your mileage will vary.
It’s amazing how often rewrites for fun happen in our industry. If this was any other industry than programming people would be shocked.
Reading the article, it does look like they hit some performance issue, due to how the Go GC works, and they tried Rust because it was already seeing adoption at Discord. I would not call that “just for fun”.
On the other hand, a lot of things change (improve?) in our industry because we hack stuff just for fun. :)
This happens in other industries too. Youtube is full of metalworkers/MechE’s, EE’s, chemists, woodworkers, and so on hacking their tools, twiddling with silly ideas just for fun, breaking stuff, trying out old ideas in new ways or vice versa, and so on. The only thing special about software is you can do it sitting in front a computer instead of needing a whole workshop or lab.
It’s even codified, the car industry has time frames in which a whole car is essentially completely replaced.
Even though rather expensive, doing a rewrite is usually not so bad in our industry than it would be in many others. Imagine replacing a bridge with a new one just because you got slightly better steel now than last year.
Imagine building a new bridge because there was more traffic than would fit on the bridge you already have, and deciding you might as well use the new steel while you’re at it.
What’s the equivalent of rewrites in other industries?
Remodeling the kitchen.
My own perspective: if software engineering is like writing then it’s a rewrite or a reimagining. If it’s math then it’s something like string theory or where a trail leads nowhere so you go back and start over from a new fundamental. I think software is mostly writing with a bit of the math in my analogies. I don’t think it’s like physical construction but sometimes I use those analogies.
Nothing more productive than django + DRF
These type of articles keep on popping up. The weird part is that I’ve never seen a rigorous study if Facebook actually influenced any political outcome in a meaningful way. Does anyone know of good papers that study this?
Does genocide count as a political outcome?
Measuring a causality effect like that is basically impossible. it’s the same reason why you cannot really prove that ads do anything at all.
Interesting. My tech career was partially in online advertising where interestingly ad spend would be split between targeted stuff (goal driven, quantifiable) and ‘brand’. The point of brand was simply to get ads in front of faces with the brand name, logo, tag-line etc. The result was not necessarily quantifiable but still there was a generally accepted rule the you put something like 25%-30% of your ad spend in ‘brand’. I’m not sure there’s no one who could quantify this though, e.g. masters of brand advertising such as coke or perhaps some org with capability to both exert massive influence and measure outcomes in a controlled environment (e.g. demographic you know has minimal exposure to channels you don’t control). I bet this exists somewhere.
I think you might enjoy reading this: https://thecorrespondent.com/100/the-new-dot-com-bubble-is-here-its-called-online-advertising/9166825800-232bd4af?fbclid=IwAR0GcNpDq1s9knYgDL3VesS8i7ONuKQM5-vsvUZwquTa7Nl6Vn4GEGkSJ7w
the only game im playing atm, its sooo good :) great multiplayer
I work on chat, fun read about the open protocols. You missed RCS (Rich Communications Services) which is a chat protocol designed to replace SMS. (mostly driven by google as far as i know)
But RCS isn’t gonna cut it on desktop, right?
Better question is why they are so low in Europe…
Depends on the places. In most tech hubs they easily start at 2-3 times the average salary and they get as highas 4-5 times in places like Zurich. after taxes. With european standards of welfare. That means a disposable income sensibly higher than the general population.
The real question should be: why is society paying so much for a bunch of kids building stuff that most of the times doesn’t have any social value, but we already know the answer.
It’s not. Most developers aren’t in SV building useless stuff, they’re working for government and businesses, and getting paid because they save/make their employer money.
that’s very different from producing social value. Just because you make money from somebody doesn’t mean you’re doing much for society. Some people in some countries believe market value and social value are somehow connected but it’s a somewhat old-fashioned cultural artifact it’s time to get rid of.
Well, it’s an indication that you’re providing value to someone. It’s then up to you as an individual to add a moral assessment of the value of the overall enterprise.
They certainly somehow connected, though imperfectly.
And doesn’t even work well (e.g. I am unable to paste text in Facebook messenger; the entire thing loses it shit if I paste with either middle mouse or C-v).
I mean, even more so for software, which never works.
I think because social welfare states cost money? Taxation is higher in Europe (for individuals and companies) and we don’t have a billionaire class lobbying for constant cuts. There are tax havens (Luxembourg, Ireland, etc.) but those are mostly for multi-nationals and not SMBs and the like. There’s also higher labor protection over here.
I don’t think the EU will ever make more money than the US. And I sure hope it stays that way.
Because there are a ton of succesful tech startups that are driving up wages… Starting salaries of ~100k for straight out of a 6 month training program are the new normal here.
Where’s here, and how do I apply
Boulder, Co, thierry at getstream dot io. (you need to be allowed to work in the US though.)
Is there any source for this? We’re using Layer’s API at my workplace and we’ve not heard anything on this. Their website says nothing and there’s no sources except this article. Even on Twitter the only person posting about it is the author of this article (who works for a direct competitor).
Did you ever find out whether this is legit?
One thing to note is that the author says Layer is only shutting down Layer Chat. But the way the email is phrased, it sounds like all of Layer is being shut down. It’s a strange post.
No, I’ve not found anything to corroborate this so far.
Yup it’s real
Separate followup update: We had this confirmed to us today - apparently they missed us before.
Author here, I received a notification about this from one of our customers who switched from Layer to Stream. I’ve since had a conversation with Layer to confirm.
I love that this article is a good balance of reflective thought and quick shade.
I actually updated my post a bit, maybe i was a bit too harsh. It’s just that APIs shutting down is bad for startups in this space. If you buy something from AWS you know it will be around for a while. Even with Parse’s graceful shutdown I spent months convincing customers that Stream would be ok and continue to operate. Anyhow I was a bit too grumpy about this.
I think GraphQL is just laziness, since you have a single endpoint. And as we all know, laziness always wins for coders :D And with that single endpoint, comes better tooling from standardization, and the snowball grows over time.
At first, it feels easy and good for lazy devs, but then you take Dragon book from the shelf, because you are required to make optimizing transformer from GraphQL AST to SQL queries. And to make your own query complexity estimator to prevent instant DoS with single query.
GraphQL is like having SQL available to outside world, but with different syntax. I don’t understand attractiveness of this approach.
obligatory https://p.hagelb.org/compiler.jpg
As someone working on a GraphQL implementation for a pretty big website (we have hundreds of software engineers) I feel like I can talk a bit about why it’s working for us. You’re right that it’s a bit like SQL, but it’s designed specifically for business objects. Instead of worrying about the normal form of our data, we specify the schema of those objects as it will be consumed by our clients.
We then get to write our resolvers in ways that make sense. We can do bulk fetches, use multiple data sources (including caches), compute derived fields or combine data sources… and we can swap those things out without our clients noticing. We get to move logic away from ORM-layer magic, instead specifying a schema for business objects and a way to inflate them. Conversely ORM models represent both business objects, with derived fields, and database rows. There’s no schema for derived fields, and serializing a model instance to send it over the network is fraught.
The solution to the ORM problem is obvious: use true business objects, which can be serialized and transported easily, and provide a set of tools that can inflate them. Congratulations, you’ve just invented GraphQL.
I probably wouldn’t choose GraphQL for a small hobby project; but on a project big enough to have multiple caches, multiple canonical data stores, and sharded data, it’s great to work against a standard. Being a standard, we get to take advantage of existing practices and tooling. We get documentation, introspection and query building for free. We can build tooling that can easily read and write schemas, enforcing business rules, keeping things in sync or notifying us of breaking changes. We’re not breaking new ground here either; AirBNB has some great prior art here.
Hopefully this explains a little bit of why we find it an attractive prospect.
Maybe someone should go full circle and implement a new database that uses GraphQL as the query language. Then we won’t need to write server back-ends anymore and can just defined a schema + security rules and expose it to the front end.
Makes sense for API where you don’t know what the UI/client side will look like. So for a headless CMS, or a generic backend as a service. Those use cases make sense. Some people use it for their main app, which just makes things slightly easier in the beginning and impossible to optimize in the long run.
Current banking system works quite poorly for those with less assets. Some real competition sounds like a good thing.
The top paid developer in our company doesn’t have a degree, nobody cares about a piece of paper if you’re good at your job.
The problem is often getting in the door in the first place without one.
This is a dangerous meme. The average non-degreed developer earns less than a degreed one, so at some point it does matter. Your person at your company is anecdotal and, unfortunately, not representational.
Yeah. I’m not saying I’m unique in this regard, just making a list of everything I did and learned to get there so other people entering the industry can get an idea of what they might need to know or want to learn.
The most popular tools for high load dev:
I use Go for everything, but I do realize that its by no means the most popular tool. Whats up with these Elixir fan clubs?
It’s a genuinely decent language which is suited for web development and which has easy performance gains for devs used to Ruby or Python.
That said, the spread of it I believe is up concerted marketing efforts and (well-meaning) misinformation.
A lot of folks get to do “Proof By BEAM” when asked about their technology choice, saying something about WhatsApp and the BEAM and Erlang and waving hands while riding the coattails of a few golden and/or mysterious projects.
Elixir is a natural choice for existing Ruby developers/shops.
You get a huge performance bump, even with naive solutions. The syntax is really close to Ruby and so is an easy switch in that respect. Phoenix is a great framework.
If you go beyond that there’s lots of battle-tested gravy in the BEAM VM and OTP.
Mainly, it made the BEAM/OTP visible for a lot more people than Erlang ever did.
The author of this post is famous but doesn’t get how things work. This is his argument…
Tl/DR:
There is so much in this post that I don’t agree with that it’s hard to know where to start. First of all, founders having more control is a good thing for employees. Founder stock is very close to the deal employees are getting. At the very least it’s better aligned with employees than investor stock. (down round protection is almost always built-in to investor stock). Also the founders work with the employees on a day to day basis. Making them on average less likely to screw over the employees. (seriously does anyone believe that the VCs care more about you than the founders? have a look at what happened to Travis)
The opportunity cost of being a founder has only gone up. The reason is that nowadays you can get crazy high engineering or management salaries at big tech companies.
I can only speak from my own experience. Maybe we’re particularly generous, but the difference between top employees and founders is not that big over here.
The main thing I don’t agree with is the general sentiment of the post. Supply and demand for engineering talent have been more and more in favor of engineers over the last 10 years. Salaries are going up, perks are going up, work life balance is becoming more chill. I have a friend who joined 4 startups and sold his stock 4 times. He can pay his house in cash these days. No other industry has these amazing jobs.
The one thing that does really need to change is taxation on stock options. That system is obviously a bit broken at the moment.
What I think is really going on here is that Steve Blank is low on traffic for his blog and decided to write some hipster sounding controversial blogpost.
I have to disagree with you on a number of your points.
This is highly situation dependent–if the founder has experience and values their employees, it’s a great thing. If a founder is young and doesn’t understand the career trajectory of engineers (or other people trying to raise a family), this can be bad. If the founder, as a purely random example, comes from a privileged background and tries to treat their employees like pieces of factory machinery, it’s terrible.
Founder stock grants are quite often orders of magnitude larger than that for their employees, they have inside information about how the financing and fundraising is going, they have direct control over those aspects in ways their employees do not, and that’s before you even get into the options, voting stock, and other differences Blank touches on.
I’ve seen a CTO (who is legally liable for the company’s behavior as an executive!) be grudgingly given less than a point share in the business, because of stingy founders! Us poor grunts who build the products have no hope in such cases.
The company I was just let go from had a founder that talked to me a total of like 5 times in the last year and a half, the final time gaslighting me about who had me fired. The previous health IT company I was at, the tech cofounder kept their day job and seagull managed the rest of us, and the biz cofounder/CEO usually was holed up in their office and popped out to ask for asinine product tweaks and failed to make sales and raise investment.
This is a highly-variable thing.
VCs are there to make money, if it means sharing with employees they’ll do that. Founders are there, in my observation, to boost their own egos–and even if you write most of their product, their own arrogance will prevent them from ever giving you similar compensation, because you once took a paycheck from them and somehow that makes you not as worthy…even if the paycheck was backed by other people’s money. If it’s backed by their money, God help you.
That applies double for early employees, right? At least founders get to network with the investing class and can put “I founded ” on their resume and go on podcasts and shit–early employees are usually hired because they’re more qualified than the founders (by definition…if they weren’t, they probably wouldn’t be hired) and they are paid very much below market rates.
Are you one of the founders? Can you throw out some numbers?
I’ve worked at least four startups (two as senior FTE, one as cofounder, others as contracted engineering talent), and only now might have stock from one of them. Last one the founder got really weird when I talked about exercising my options to see our finances. Good for your friend, but equity is basically a joke on par with exposure now.
You might be surprised at the perks and job security offered by other white-collar fields. Engineering, once you have a PE, is relaxed as hell by all accounts. If these jobs are so great, why do we mostly only see dumb young men signing up for them?
~
Like, I get it–in magical little pockets of reality that still mirror the 90s, being a startup early engineer is great. For most of us, though, we’re getting shafted compared to the value we add.
Sorry to hear that, doesn’t sound like a great environment. As an engineer you can be quite picky where you work. I’ve made this mistake in the past as well, staying too long somewhere were the culture/environment isn’t right. Did you find a good opportunity eventually?
When did this happen? His whole argument is that options used to be a good deal, but no longer are. Examples from ten years ago don’t disprove that thesis, which is in accord with my experience. Yes, it’s a good time to be an engineer, but only because salaries are high. None of the equity I’ve notionally had at several startups has ever been worth even enough to buy a coffee in actual exchange value.
OK, I’ll bite. What’s the ratio of a founder’s equity to the equity of an April 2019 new hire at your shop?
I don’t think the post said or could credibly say it’s a bad time for engineers, but it did raise some things that seem both true and relevant to one’s analysis of options. Just that you might be waiting a long time before you can sell is a pretty big deal. A naïve analysis of options value probably doesn’t factor in dilution – you might think “it’s 0.x% equity” based on what it is at the time, forgetting that if there are more rounds, that will change. This post only touches on it, but the whole short exercise window if you quit thing is relevant too.
The world is, in general, quite unfairly kind to engineers in 2019. But you should still understand upsides and downsides of options when you’re evaluating them.
its too complicated for me tbh. i swear a little everytime i use 2FA. just nothing better out there atm.
Company: Stream Site: https://getstream.io/ Position: Various (https://angel.co/stream/jobs, if you’re awesome at your job we can also see if there is room to create a position that fits your skills) Location: Amsterdam or Boulder Description: We provide activity feed and chat tech for some of the world’s largest apps. Vision here is that apps are more reliable, more secure, and faster to launch if you don’t built everything from scratch. Contact: tommaso@getstream.io for Amsterdam or thierry@getstream.io for Boulder
seriously, how do you prevent stuff like this from happening if you have a big team. for small companies its relatively easy to prevent. but lets say you have 1000 engineers, how do you prevent 1 of them from making a mistake…
One way to catch this sort of thing is sentinel data — in this case, you could use a unique value as a test account’s password and use that account for testing every service, then search everywhere you can think of for that value. If it shows up anywhere, the siren goes off. In enterprise storage similar things are done for “data loss prevention” to make sure people don’t move sensitive files to someplace they shouldn’t.
I have never heard of those techniques but it seems interesting! Do you have some recommendation of good readings about this subject?
Even then. Divert full request logging on your SSL-terminating http proxy server and you’ve just caught a bunch of passwords in-flight. And you probably don’t want to use client-side crypto, or else you lose >1% of potential users. More in places with poor connectivity due to longer page loads.
These things just happen and we need to live with them. When you let someone else handle your data, you should be able to trust them. If they do it on scale, there must be some regulation. Just like you trust your friend not to poison you with a dinner, but you prefer someone to check your favorite restaurant to maintain some standards.
It can easily happen in a team of 10 people. I’m of the strong belief that someone on the team needs to be responsible as a security architect and that’s their main role.