Hacker News new | ask | show | jobs
by throwawaythisis 4142 days ago
Based on personal experience and observation of some startups around here this is the dynamic that I've seen and what could be happening:

- startup gets some funding, but not a lot, and needs (more) developers

- startup founders think they can find good developers at rates that are similar to those of 'regular' developers outside the Silicon Valley / HN bubble / web development scene. Possibly because these founders are non-technical and mostly have experience in bigger, more 'boring' companies where developers aren't 'essential' (or don't seem to be), or groomed inside the company and happy with lower salaries.

- startup finds out that nobody will take the jobs at the offered salaries

- startup decides to be more creative and - if they're very lucky - find:

    1. competent, usually remote developers who are willing to work for much less than the going rate in home country  
    2. oblivious developers or developers just out of college who have no clue how much they can make
Unfortunately, what I suspect often happens is that they end up hiring subpar developers who just want to get paid an acceptable salary and know nothing about their potential value in their field, or developers who are under-qualified for the specific challenges that many startups face (web-based, mobile apps, rapid development, need for independence and taking initiative because it's chaotic).

And the founders of these companies, if they're not technical, might never quite realize that in the end they're probably wasting more money because the codebase is terrible.

While I would never argue that the only competent developers are those in the 'SV/HN/web bubble', I do think it makes sense that there's a correlation between developers who are oblivious to their value and the rest of their field, and developers who are still stuck in older, less efficient approaches to many startup's problems.

Pay your developers well!

2 comments

"they're probably wasting more money because the codebase is terrible."

A terrible code base that serves customers is better than a beautiful codebase that goes unused. I think your criteria is expressed poorly. Perhaps you meant that bad developers are unable to produce code that serves customers well? Add in, a terrible product. (Product != codebase)

Personally I think this idea of a terrible codebase that still presents a wonderful user experience is an urban legend. In 20 years I have never seen it. I've seen plenty of terrible codebases that limp along, with the staff constantly fielding bug reports from unhappy users. But never one with happy users that just happens to be ugly under the covers.
This. A hundred times.
I do agree that a product that functions on bad code is better than no product at all. If there where very terrible design decisions made in the beginning. This could have a very negative impact as the business starts to add customers.

A terrible codebase will _eventually_ fail to serve customers for a few different reasons. Scalability is huge and may be very difficult to find performance problems and fix. maintenance time, and time to add new features are places where a terrible codebase will eventually impact a customer.

Scalability is overrated :-)

Ability to add new features without breaking things is nice. Uptime is nice.

Many products do just fine with a few thousand occasional users, but too many developers think that they are building the next Amazon or something, and overcomplicate things to death for performance reasons.

That's a good point, and I agree that I expressed my criteria poorly.

When I'm saying 'the codebase is terrible', I'm talking about front-end code for a web app that is a convoluted mess of jQuery written by someone who is clearly not used to writing javascript, and quite possibly a bad developer even in the language they are comfortable with.

Even if they're decent at whatever their primary language and 'domain' is, the front-end side of things is such a mess that it noticeably impacts performance and the ability to work on the app well before even the MVP is done.

I've worked with front-end apps (and even websites) that were multi-megabyte monstrosities that loaded multiple versions of jQuery, hacks upon hacks to make things work, and not even the simplest of optimizations (lazy-loading images, 'browser-side' caching, etc).

I've worked with jQuery-only front-end apps that took more than a month to build, did only the most basic of things, and were almost impossible for me as a contractor to work with. I would rewrite the whole thing in either Backbone or some variation on the react/flux approach in, at most, two days, and be able to get the in-house developer up to speed in another one to two days if they were capable and, perhaps more importantly, willing and remotely curious.

In part this has been due to the current speed of development in browser technologies and frameworks/libraries, and in part it's just part of working with in-house developers who have no love for their job or have other things that they prioritize (35+ with kids, understandable!).

Usually this level of horror only presented itself in older, more established companies with 'legacy devs', but I've seen similar issues with (web) startups that hired without knowledge of the domain.

So, to be clear: getting the job done is the priority. I've worked on Backbone projects where I would've loved to use the latest and greatest, but happily worked with stuff that I would consider, in front-end-hacker-news-hipster terms, old-fashioned. And I've come to realize that if you have clever developers with curiosity, you can get a 'front-end app' done that isn't pretty, but works well. But too often, especially in the 'cheaper' startups with little founder-level technical know-how of the domain (front-end), I've seen things go very, very wrong.

Most of the time spent is in debugging/maintaining.

Terrible code base says that the value per customers is decresaing while customers increases because your costs (of software QA) are eating your margins.

Ugly codebase that does not scale with increasing efficiency for instance.

Remember low OPEXes always beat KPEX (investment)

People focus on features in software as the only value, I think it is the recuring costs per feature that should be the value.

For instance storing digitalized book is plain stupid. The first book printed is still there because paper/ink are cost efficient in terms of recurring costs for their value of keeping information whereas servers/software ... will doom data to an end because of reccuring costs that don't scale.

As a university student who is soon going to graduate, how do I find out what I'm really worth?
One way would be to try to get an offer from one of the big players - Google, FB, Amazon, etc - even if you don't want to work for them. They all pay about the same starting, and since they're so visible they set the market, especially for recent grads. Of course, their numbers are also inflated with the cost of living in the Bay, so scale accordingly if you don't live there.
> Of course, their numbers are also inflated with the cost of living in the Bay, so scale accordingly if you don't live there.

Only if your job offer is in the Bay Area. Some of these companies have branches in smaller cities where the cost of living (and consequently pay) is lower.

The unpopular answer? Get a job at an established company that isn't a startup.

That'll give you the best idea of your market value. You don't need to take the position, and if the bureaucracy of an enterprise gig isn't your thing, then maybe you shouldn't, but that'll give you the best float test for what it is that you're actually worth, with which you can parlay into knowledge for salary negotiations elsewhere.

Knowing that Oracle would pay you is great for evaluating whether or not it's worth a $30k difference in salary to not have to worry about a business casual dress code, corporate politics and a rigid command structure.

Not knowing the difference in pay, it's harder to evaluate whether or not it's worthwhile.

If I wanted to go work for a startup, how do I find them? Usually when I go job hunting, startups are more difficult for me to find because using my university resources only leads me to big companies (i.e. Google, Apple, Cisco, ...)
There is a lot of value in working for a bit with one of the big players, and seeing first-hand what a well-established code-base looks like, the big day-to-day problems of maintenance, and have people checking your work in ways that you might not get at a small startup where the quantity/quality tradeoff is at a different place.

Many of the old-school Caribbean pirates were in the navy first, after all...

Many of the large SV companies place many bets.

You could walk into Cisco, VMware, EMC, Pivotal, etc. etc. and find yourself working with close to cutting edge tools, hard problems, etc - BUT have a stable salary, perks, training courses, huge amount of corporate resources to lean on and learn with.

AngelList is probably your best bet for startup jobs: https://angel.co/jobs

Don't rely on your university for advancing your career. I've basically never seen a university career department with good connections or any knowledge of tech at all.

(Also, shameless plug, but we're hiring in NYC: https://angel.co/cafe/jobs)

For your local area, I'd look at who is sponsoring the tech events (e.g. you local Ruby/JS/iOS/etc meetup). For instance in Portland that quickly gets me New Relic, Urban Airship, and maybe a dozen other names. You can also see if there is a local tech magazine/newsletter, and read a few issues. If you're looking for younger companies, look at the class list of the last few years of local accelerator programs.

If you're looking for remote work, you could start with the list of YC companies. Or just go with any young companies whose products or blog posts or people you admire.

It's better to start with the companies you want to work for, and check their own jobs pages (or ask someone who works there), than to start with aggregated job boards, which are really a wasteland.

Found my current job through a monthly Who's Hiring thread on HN. Check this site: http://hnhiring.com/
If you're in the valley, networking. I can hardly pick up lunch at a Specialtys without running into startuppers that are trying to solve interesting problems.

If you're not in the area, it gets substantially harder. Some random sources.

https://news.ycombinator.com/jobs

AngelList: https://angel.co/jobs

StartupHire: http://www.startuphire.com/

I would say if you have to ask the question your probably worth about the average starting salary. Perhaps a better question is where can I work so that I can be paid to learn cutting edge software. Eg. React JS or something cool like that. Don't take a job to write SQL Server 2005 SSIS tasks or maintain win forms apps etc. What your worth is also based on peoples perceptions of you which is also reflected in your confidence. Eg. I just graduated however my strongest skills are my quick ability to pick up new technologies and I have a natural ability to develop well structured code and so I strongly believe I am worth a better rate. Etc.