Hacker News new | past | comments | ask | show | jobs | submit login
Turning a Job Opening into a Dream Job for Top Talent (medium.com/javascript-scene)
124 points by wilkystyle on Feb 3, 2018 | hide | past | favorite | 130 comments



What this doesn't talk about enough is work impact -- mentioned yes but doesn't emphasize it. These are shitty years and it eats me I am working for an enterprise gardening their websites instead of literally making the world a better place. I mean, sure, it pays and challenging and whatnot but I miss NowPublic dearly because we made a god damn difference. We ran one of the biggest Katrina missing person boards. We were one of the first "citizen journalism" sites and had photos and reports from places where noone else had. It was amazing. I miss it so badly.

And you know what, I would be open to changing, I am still doing Drupal and I need the money but ... if you are doing something meaningful with Drupal, Elixir or Go and have some part time opening? Let's talk :) Click my username for email address.


> These are shitty years and it eats me I am working for an enterprise gardening their websites instead of literally making the world a better place.

It's a peculiar quirk of the tech industry that "changing the world through X" is a reasonable expectation. Bus drivers don't wonder how they can make a difference through bus driving. They do their shifts and then go volunteer at the hospital, food bank, homeless shelter, etc.

Point being, you have an urge to help people. Then help people.

Now, you'll obviously add the most value to organizations that need Drupal, but free technical help is usually not "free as in beer" as much as "free as in puppies". Setting up someone with a slick technical solution almost always comes with some required maintenance fees, organizational knowledge, operational costs, etc. That is, it's hard to give away tech in a way that's sustainable. Even tech training has limited use if you're not prepared with next steps for the trainees (college applications, concrete job prospects, immediate personal benefit, etc.).

That being said, information can be given away effectively, as you learned after Katrina. Maybe some community is just missing certain information presented well. Drupal is great there. Other people are great at writing middleware for CAN buses. They probably have fewer opportunities to apply tech to help humanity than you do. They'd be better off pitching in at Habitat for Humanity, and maybe you would be too, just to start.


Depending on where you're from, there might be a refugee code school in your neighbourhood. I love that: it's volunteering, but in a way that effectively uses my skillset.

[1] http://hackyourfuture.net/ (warning: autoplaying video with sound)


I worked in a ad agency and people had the same gripes about their role in the society. Helping brand X to get market share from brand Y can feel like a huge waste of one’s life .

I’d expect it to be the same for a lot of media industries.

BTW a bus driver physicaly helps people by moving them from A to B. Isn’t it one of the most useful job of our society, until driveless cars come along ?


I didn't mean to degrade or single out bus drivers. I tried to pick a normal blue collar job. I don't think there's anything wrong, and a lot right, in people just doing a great job with the job they have, whatever it is. I don't really know how to compare:

* getting people to work

* keeping the web pages for N businesses all up and running

...but I do know that if it doesn't feel like enough, there are lots of organizations that need volunteers and donations, often both.


People want to climb Maslow's hierarchy in every area of their lives. If bus drivers had better pay and job security (so much so that they hit the region of diminishing returns), maybe we'd see more talk from drivers about wishing they were driving especially important buses.


> If bus drivers had better pay and job security...

City bus drivers are often public employees represented by a powerful union. Hence their pay and job security are often pretty good by most peoples' standards.


I really need to stick up for city bus drivers, speaking as a regular passenger. They deal constantly with crazy, disruptive, violent people whilst getting other riders safely from point to point operating a large vehicle.

It’s a difficult and socially valuable job and they earn their money.


>It’s a difficult and socially valuable job and they earn their money.

I was not implying otherwise, if that's what you thought.


Not at all! It was a reply to further back comments about bus drivers.


And so do Uber drivers


USDS is hiring. Defense Digitally service is hiring. VA Digital service is hiring. Other government agencies responsible for these missions every day are hiring.

It’s a weird climate, sure, but all those missions still need doing.

Further, organizations like Urban institute, NCRC, other advocacy groups are getting deeper into data visualization and web platforms for advocacy and need help - sounds like you know where to find the opportunities.

Totally agree with you - mission is one of the key parts of any job description and ranks above comp for me.


I am Canadian here.


Heh - yeah, then obviously the US versions won't work.

Perhaps the Canadian one? https://digital.canada.ca/work-with-us/


People who espouse remote work seem convinced that it’s the end-all way to work.

I don’t care if I have to go into an office. I like offices. What I care about is that you don’t mind if I work from home every once in a while. I care that it’s okay for me to leave early or come late.


Remote work is the only way I'd go now. Having had twins in the last year it's been vital.

It doesn't work for everyone, but a way I've seen remote-first companies get around that is to offer to rent a desk in somewhere like WeWork, so you can choose to be around other working people, away from home and then look to hire others in the same city who might opt for a desk there too, at least some of the time.

If the article is right that remote working works for, say 50% of people, a company able to attract remote workers is going to have a vastly bigger talent pool to fish in.


> Having had twins in the last year it's been vital.

Employers that actually want workplace diversity should really consider how many lifestyles their work culture can accommodate. Some people adopt lots of kids and need more room. Some people love their families and won't move more than a few hours from them.

Nearly everybody needs flexible work arrangements from time to time: health problems, ailing family members, young children, everyone's-getting-married-this-summer, etc. Talking to your employer about a different pattern of availability is professional. But having to ask permission with forms and HR people in the room is not decent or necessary. If someone isn't earning their paycheck, that's a reasonable conversation to have. But assuming that's not the issue, let's just be decent human beings.


The problem is that not all humans are decent. The more of them you hire, the more likely one of them is the asshole who will take advantage of flexibility and ruin it for the rest.


I'm not sure I agree with this. Do you think an otherwise good person/employee with a newfound ability to work remote would become an asshole and abuse the privilege? Seems like they'd probably be an asshole to begin with. Also, if someone is an asshole and taking advantage of the flexibility, why not fire them? I'm not sure how keeping them in an office solves this issue of people being bad employees.


That's true, but I don't think the solution is to treat all humans like they're assholes.


The 'one bad apple' thing never cut it for me. If you are bad apple's manager, you have measurable metrics on her performance, and you act based on that, no more no less. This has no bearing on any of the other apples.


And what exactly do you think objective metrics for developers should be? LoC? Defects? As soon as a measure becomes a target, it ceases to be a useful measure.

If one person in a group takes unfair advantage of flexibility by e.g. only going to the office half as much as the rest, it sure will have an effect on the "other apples".


Why would she need to go to the office? Work is something you do, not a place your'e at. If you, as a manager do not have any way of measuring how the people you are managing, then you have no reason to be there.


How are they ruining anything?


I worked remotely for more than two years because I had to move to another place. I loved the company and they were quite happy as well, so they let me work remotely full time without problems. I absolutely loved it for the first six months, then I quit my job after the second year despite being a "dream scenario" for many.

I generally work alone when I want to think, but I loved the interaction with excellent colleagues and sitting at home with skype wasn't exactly the same.

I would still work remotely for 2-3 days a week, because it's so much more productive for certain tasks, but no more. I do not consider full-time remote jobs.


I’ve always been hesitant to try remote work because it seems like there’d be an added pressure to seek out face to face interactions or else I’d slowly become a hermit. I consider myself an introvert, but even that has its limits.


My take from the experience was that if you have an active social life outside of your colleagues and work is "just work" for you, then a full-time remote job is probably fine. Saves you the commute too.

I do have an active social life, but I expect my work to be something more than "just work". I enjoy what I do, and working at a distance detracts from the experience.


Doesn't work in all situations, but what's worked for me is to treat it as something that you need to keep an eye on, and then liberally take trips into the office.


My opinion as an employer: Sure, feel free to take your work hours as you like and WFH every once in a while.

Just make sure that overall your total hours are what we agreed to in the employment contract.


It's probably different where you're located, but around here it's pretty much a given that an engineer will work more hours than what is written in the employment contract, even if they regularly come in late / leave early / WFH.

Imho flexible hours are a good thing as they remove the pressure to stay around doing nothing until late because you can't be seen leaving before 7pm.


> Just make sure that overall your total hours are what we agreed to in the employment contract.

What's the justification for monitoring total hours and not something more directly tied to business success? End users and profit margins (assuming your engineers are salaried) don't care about whether your engineers had consistent 40+ hour work weeks.


In my previous company, they has a name to distinguish these two kinds of metrics.

- Inputs are the things employees can act on easily, like the number of LoC written or the number of features developped.

- Outputs are related to business success, for example the number of customers, or the revenue.

The key here is to consider the external business environment as a complex machine, in which you put some effort, measured by inputs, and you observe the outputs as a result (reward). Because you don't know how the environment is going to respond, running the activity consists in adjusting the measures of inputs according to previous results, and trying to maximize those.

This is sane for business because executives can focus on maximizing the input metrics, without caring too much about the outputs, and evaluate separately the assumptions they made about the business (e.g. that x number of features requested by customers developped within 1 month increase the userbase).

It kind of looks like a reinforcement learning process actually.


> This is sane for business because executives can focus on maximizing the input metrics, without caring too much about the outputs, and evaluate separately the assumptions they made about the business...

That's basically the problem right there. If you treat the employees as a giant black box, you don't observe when workplace policies (that might not even work!) get in the way of human decency, let alone helping a diverse group of employees each flourish in their own way.

Employers instead sit around wondering why there aren't enough Latino engineers without even considering a remote work policy that would let engineers live in El Paso, Phoenix, Los Angeles, or Miami.


That problem I worked on all day? I'm still trying to solve it when I'm cooking, showering, washing dishes, etc. I'll solve it before I get to the office tomorrow. How should I track all that time?


By adjusting your pay rate.

As a society, we agree on pay for hours. We pay more for folks who bring more, better solutions during those hours. How they do that is beyond the employment agreement's scope.

Short of being a contractor with a fixed-price-on-delivery contract, we'll have to be content with that.


Most of my least fulfilling work experiences we're when I was remotely full time (3-4 years)

it sounds great in concept but in practice it gets really lame after extended periods of time


I usually hate posts about top job, top tech talent, etc.

This post was a lot of great stuff. The idea of pairing talented people of different levels is crucial. A senior lead with shit backup can only do so much. The right balance I think can turn two mythical 10x devs into 100x total instead of 20x. Of course, make sure those people are also compatible, as half the 10x devs I know are loners who don't mix well and work best when left alone.


Agreed, this post gets a lot of things right IMO.

An idea I've had on 10x developers (or whatever the multiplier..) is not that they can code and solve problems this much faster, but in the long term they steer the code base as a whole in a direction such that the impact is that large. (But of course recognizing this, or being able to compare it to the other would-be ways the code could have gone, is a non-trivial matter :).


> An idea I've had on 10x developers... in the long term they steer the code base...

Agreed. And on the flip side, you can have -10x developers that make all the wrong choices, like inventing and entrenching their own language or crappy framework for reasons of boredom or ego.

I suspect that junior developers are less likely to be net-negative to that degree. Perhaps it's one unarticulated reason employers tend to prefer inexperienced engineers. If the employer can't tell the difference between a 10X and a -10X developer (the guy pitching the UML-based python code generator or the guy who really likes cucumber?), it's typically easier to hire smart people who are still learning and trust your existing technical leaders can get value out of them.


And sometimes they invent a framework that hits all the right design points, but junior engineers can't read a book about them or take a class about them, so don't understand and badmouth them as crappy and a result of boredom or ego.

Its hard to invent something, and have it get no traction because nobody else wants to move forward.

I've been at two startups that had frameworks that solved all the problems in the product space, efficiently and nearly perfectly. And failed because as the company grew, new Engineers all clamored for something simpler or something they already knew. They outnumbered the designer with their voices and management steered the company off the rails. It's tragic.


This is an incentive alignment problem. Developers want to maximize their human capital since they usually don't have significant capital in the business itself. With experience in all the latest buzzword technologies, they can get good offers elsewhere, or use the leverage to increase their pay. Whereas sinking all their effort into an in-house framework is fantastic for the business in multiple dimensions: it's a custom fit so it's more productive, but it also locks in the employees, reducing their employability elsewhere and BATNA.

I do wonder if incentives can be aligned for things like this, or if it's just a structural problem we need to live with.


> Whereas sinking all their effort into an in-house framework is fantastic for the business in multiple dimensions

Well, it's fantastic until it isn't anyway. Companies do fail, at least fail to own new markets, by being tied down into legacy architectures.


I think that's orthogonal. You can fall behind just as easily by not addressing technical debt. Consider how easily it is, particularly in the JS world, to accrue multiple different bits of UI written in different frameworks du jour.

Rewriting stuff is very seldom in the business' interest, but stuff gets out of date at a rate controlled by the ecosystem, not the company.


That's a lot to unpack.

Generally speaking, the worst kind of legacy code is the kind that cannot be easily rewritten. That's why I particularly called out custom frameworks and custom languages. Replacing custom service implementations, in comparison, doesn't even count as "replacing stuff" since it's so trivial.

It's not in the company's best interest, generally, to write business-critical things in ways that are hard to replace and/or pivot on. This means that a company needs to account for the whims of "the ecosystem" in both its business plan and in its technical strategy. If it's a huge concern, the profit margins need to stay high enough and customer expectations need to stay flexible enough to mitigate the concern. Also, if "the ecosystem" is a huge concern, technical strategies also need to help mitigate. For example, if you're running the same JS code both client and server side and you're worried about changes in the client-side ecosystem, you might want to think about implementing the backend in something more boring and stable just to mitigate ecosystem risk.


The code that you can't afford to rewrite is the code that is hairy with details. The details are some mix of essential and incidental complexity. The ratio is dependent on the degree of fit between your business logic and the framework, the primitives it's built out of, whether it's third-party, custom framework, custom language, whatever. And of course any custom component has its own complexity; it should be additive, but it may still be large. A good fit - an excellent fit - means your business logic is clear, concise, and is operating over abstractions that map directly to the business concepts. A poor fit is speaking haltingly in unidiomatic language, too verbose, aggregating globs of ugly code, losing track of the forest for the trees, etc. But it'll be easier to find average devs who are familiar with the particular style of thicket that ends up coming out. We even have names for the scar tissues that grow around each glob, helping them interface - we call them design patterns.

There's no hard and fast rules, it seems to me. Use a small fraction of lots of different third party bits and pieces and you get a recipe for pain. I'm fairly certain there's no more productive way for engineers to code than to raise the level of their language into their business domain - http://www.paulgraham.com/progbot.html - but this is the custom framework / language approach. I'm also fairly sure that it's hard to scale an organization around this approach because of the incentive problem when hiring developers. I think it only really works for startups that are composed of a bunch of hackers with decent equity stakes. It doesn't work out for employees, unless the company ends up moving the needle industry wide, like Java or Rust or React, and that's really rare, too rare to bet on.


Well, my thought is that, on average, learning people have less organizational impact than experienced people, both in a positive and a negative direction. You get the risk more concentrated in super-senior engineers. Hiring a dozen net-uninformed college grads would do the trick, too, though.


Its the medium-experience Engineers that pose the risk then, of having enough knowledge to talk, but not enough experience to appreciate the fine points of what they're talking about. They fool management with plausible but wrong arguments. In my experience anyway.

And today, the demographic may be skewed toward just that group.


It's unfortunate that we try to measure this kind of thing on a single dimension. There's certainly a type of developer/mentor who does do a good job of setting helpful directions in a large-team setting. At the other extreme, there are people who don't necessarily thrive in a "team setting" at all, but on the other hand can build big things (or, better yet, small things than solve big problems) remarkably quickly. Both "high multiples", but quite different skills.

(There does seem to have been a fair amount of devaluation of solo-working over the last few years, which perhaps leads to less appreciation of the second kind of high-multiple than was once the case).


> Of course, make sure those people are also compatible, as half the 10x devs I know are loners who don't mix well and work best when left alone.

This is absolutely a great point, and the author also addresses this:

> That doesn’t mean that a top-performing developer will write 10x as much code or crank out 10x as many features. What it means is that they’ll deliver 10x as much organizational value.

I too have seen developers who are very talented actually cause negative organizational value, due to their inability to work well with others.


What is missing in the article is the word "freelance".

Most of the time within a startup you can see developers stay in the company for ~1 year. Usually they are more willing to find another job than negotiating a salary bump ( which happens to be also mentally easier, since the first action is passive - just reply to a recruiter ).

When I completely switched to freelance gigs, I discovered that I stay in a company for far longer time. It is easier for me to index my price per hour with the market, since I have less bureaucracy with my client ( removes FOMO ). I had the best offers ( company shares + bonuses ) to join various companies than being an employee ( because of the FOMO of the employer that you might leave soon ). And finally I improved my code quality, since you always write your code with having your mind that sooner or later you will be not the code-owner.

Of course having 3 months off to enjoy the summer also makes it more appealing than the 22 vacation days you usually receive ( in Europe ).

Disclaimer - all of this won't work if you are a junior developer. Usually the stronger hands are in your employer then, since your contract can be terminated any day, without any notice.

But hiring a senior developer as a freelancer in your team ( IMHO ) will definitely mean that you will work with a highly motivated person, being there to do the job.


“Freelance” has very negative connotations I my book. It brings to mind sites like odesk or whatever it is called now where low quality companies look to find 99 cent an hour talent.


Freelance is a desperate student who is working for free to create his portfolio.

You want to call yourself a "contractor", or better "a "consultant"


I find the most important thing is the “deal” with the manager. “Here is what I can give you, Here is what I want in return.”

Some people want promotability. Some want remote work. Some want new technical challenges. Some flexibility. A manager can’t give everything to everyone but they can say, “I can give you all the flexibility you need as long as the servers never go down” or “I can work to promote you in a year if you hit every deadline and do three or four side projects”

That conversation is more important than any perk.


I agree 100% EXCEPT for the huge asymmetry in information that exists during that phase of an interview. "Hit every deadline", you would then need to know how aggressive and how frequent those deadlines are. You would have to know how stable the team(s) are because if a team has a deadline and loses the head engineer, well shit.

Negotiating and accepting an offer letter is way too much like gambling. Whether its start-up equity, growth/lifestyle promises of a manager, or hope that office politics won't grind your soul to dust within 3 months, its a huge risk even saying "yes".


True. I find this is easier as part of a longer term relationship. There is a gamble, and trust is involved. The one recourse is if they violate your trust, you can leave.


This doesn't work in many states because labor laws require companies to give every worker in a given role the same perks. If you allow Bob to work remotely, you also need to give that choice to Jason and Ashley. Texas is like this for instance.

This is the real reason why a lot of companies have trouble switching to remote work: they can't slowly transition. It has to be an on-off switch for all workers.


It's also hard because "Remote first" companies make it look easier because they're designed for it.


Senior developer salaries in my local area (Edinburgh, Scotland, UK) are £30k-£40k which is about $42k - $56k USD. On a £40k salary you pay roughly £9,500 in tax. Ive no idea what the tax rate is in America but the difference in salaries between the UK and the US is astounding.


The UK mostly pays developers a derisory salary.

Australia seems to pay roughly on a par with the US, or did when I lived there. But most of the UK is dreadful - software folks are paid poorly and treated like drones.

Unfortunately there are enough people that will take the bad salary, have mediocre performance and deliver mediocre software slowly, that a lot of British companies now expect to pay peanuts and get monkeys.

I've found the only way to replicate the money you can get elsewhere is to be a contractor. You can make about double your quoted figure outside London (my experience in the Hampshire/Wiltshire/Dorset region), or triple or more if you land something bank related in London. No idea what might be available in Edinburgh.


Completely agree with you. In the London area it’s white expensive to live due to how expensive housing is.

Contracting might be a good thing for a tech guy with a specific skill but a lot of people like me like to have something standard and be more secure in a way that they won’t need to search for another gig in 3 months. I guess the more contracting you do the more reliable you become and you constantly close down gigs knowing your intake for a year before signing any contracts, but I’d say it’s still a bit hard.

From what I’ve seen if you are a developer going to Manchester or Birmingham or something like that and getting a gig might be the best thing you can do, since the cost of living goes heavily down and the salary drop is not that massive unless you were working on finance tech which tends to pay higher.


(Trying not to sound patronising but...) I used to think thay way, until I got confident in my own abilities.

It helps I enjoy interviewing and seem quite good at it.

--edit-- it also helps I don't have a family to support, so consistency of income is less of a concern for me.


In my experience, most contracts in enterprise Java typicaly last 6-24 months, some even longer. 3 months and gtfo is not standard.


The contractor premium will get dragged down in a year or two as well - the Tories are planning on kicking up taxes for them in order to bring in an extra £200 mil.

That will probably lead to an exodus of the experienced developers from the UK. This will not only have a negative effect on UK software houses it will also exacerbate the existing problems with UK government IT projects, which have already have a multibillion-pound problem with failure to deliver and cost overruns as it is.

Meanwhile, Russian oligarchs are still paying peanuts for their empty central London mansions and big companies are barely paying any corporation taxes.


Not so sure. People who've been living here often can't just go back to where they come from. They wouldn't have moved to the UK if the situation in their countries was better.

The effect so far of Brexit is to stop the flood of newcomers, not making establishing people leave. It's good as a developer, less competitors for the same amount of jobs.


I get what you're saying, but contractors by their nature tend to be mobile and motivated by pay. This strongly increases the likelihood of an outflow, especially if companies don't react to the extra taxes by raising pay.

The effect is compounded because a) good techies really like to work with other good techies and b) losing most of the good ones also means losing all of the people who can recognize other good techies and hire competently and c) there's a scarcity of mentors too, impeding the ability of junior techies to develop.

The UK is still a tech center in spite of Brexit. For now.

I've worked in markets before where there's a scarcity of high end talent because it all got sucked away elsewhere and software-wise, these environments produced mediocre crap.


Contractors are mobile in the sense that they can change company every 3 months.

They stay in the same area. They are not mobile to move themselves and their family across the border periodically.


shrug half the ones I know have done precisely that already and I've done it too.

I don't doubt that there will always be some that won't or can't cross a border though.


Has any party even suggested moving council tax to a percentage of assessed value rather than the band system?


Yeah, and the Daily Mail went apeshit over the so called "garden tax". Lord Rothermere's country estate is taxed enough already, see.


If taxes go up, I'll need to charge more. I think we should probably pay similar tax levels, but I'm not willing to let it affect my take-home!


What's the point in getting all those $$$K if a single major medical event (like cancer) will bankrupt you? Ah, and I just checked my retirement calculator. It claims that once I retire at 67 I'll have to pay $8K/month for my medical insurance.


If you're getting $$$k in salary, you're also almost certainly getting top notch medical insurance.

Also, you don't need private insurance when you're 67, that's what Medicare is for.


And you pay for Medicare after you are eligible for it. My dad just hit Medicare age and was surprised to find out he gets to pay for it.


It's not $8,000 a month though. I'd still take a developer career in the US over Europe any day.


Well, it is a number adp.com (site which helps to manage your retirement/payroll data) tells me.


Seems like the absolute maximum for that is a bit over $1k/month, and that's only if you didn't Medicare taxes for less 10 years, have an income of over $214k/year and get the most expensive part C and part D coverage. A typical amount would be roughly $200/month, less than even someone in their early 20s would typically pay for health insurance.


That’s the number adp.com gave me. Note that it’s like 35 years from now and yes, it includes (I think) C and D parts. Of course a lot of things may change in the next 35 years.


Keep inflation in mind. I don't know how old you are, but that's probably going to be more like $3k/month in inflation-adjusted dollars, which honestly isn't much more than my employer pays to cover my family now.


The difference in pay between US and EU has always left me scratching my head. Is development universally treated as a cost center by business people there? Isn't there anybody trying to attract those top N% of engineers with big salaries so those engineers make them a fortune? A 50-80% haircut on salary is a big whammy for the same position in places with similar COL.


I thought it would be at least £50k, that's not a great salary (city isn't very cheap as well)


The top thing on the StackOverflow survey was vacation time, but the article hardly touched on it.

We have a 45 days holidays policy for all full time employees. Mind you, this includes public holidays, because we're also 100% remote and it's more fair for everyone if we don't align public holidays to one spot. This also means that if you prefer working over Christmas, and then take time off another time - you can. We also heavily encourage everyone to take their holidays, and you can only transfer up to 5 days from one year to the next, so people use it.


Who’s “we”?


Lots of good ideas in the article - the key is to really stand out.

I take 10 weeks off a year to go travelling - true vacation time, not remote work. I know I can get a 20% raise if I switched companies (I know that because I got an offer), but I stay where I am because i can't imagine going back down to 3 weeks of vacation a year.


It's weird that more companies don't offer more vacation as a perk. Offering 40 days instead of 25 means 15 days of foregone work for the company - 6% fewer days worked a year. But, it looks a lot better than a 6% increase in pay on paper.

Moreover, you probably lose much less than that because you'll have better rested, less stressed, probably more productive employees and it will help cut down on employees making themselves critical choke points.

Something to think about the next time you read the phrase "war for talent".


From me experience at least in the US there is a moral component to more vacation. The managers I have dealt with acted a little as if wanting more vacation is a moral failing of the person.


That's just because the manager is then responsible for the work when people take vacation, so dissuading it as much as possible saves them time and stress personally.

Vacation is a big problem of you're running with just enough people to operate the business, which most are people are one of the most expensive parts of the business. Unless you're not doing anything time sensitive, mission critical, or customer facing, then being on vacation means someone is stretched to cover you.


Thinking that everything is time sensitive is often an illusion or management failure in my view. You can't be constantly on the critical path.


It's not real. I've gotten that when asking for more money too. Running a guilt trip on employees or potential employees is a pretty standard tool of psychological manipulation and intimidation.

A manager whose bonus is on the line and who knows that they have no chance of getting an increase in holiday allowance approved is quite likely to do that.


Plus I'd argue that more vacation time would mean each employee has a more even spread of the workload. You depend less on individuals, and more on the team.


That's an awesome situation.

Two interview cycles ago, I wanted a full month of unpaid vacation on top of the normal vacation package. I told each I would take a 1/12 pay cut in exchange. It was a huge obstacle for employers.


The problem is if they give you your special deal, they have to give everyone their own special deal which becomes an absolute nightmare to manage.


And here's an opportunity for smaller companies.

I have a small company, and I can't offer my employees the prestige or high salary that larger companies offer.

But I can offer to accommodate whatever other special wishes people have. Want to work just 4 days a week? Fine. Want to work from 12pm to 8pm? Fine. Want to take a day off on short notice? Fine with me.

Larger companies have all kinds of rules and policies in place. In a small company, you can design the policies together with the employees.


This is basically what we do. I think we offer competitive salaries, but also give tons of work flexibility. We judge on work produced, not hours in seats (within reason for meetings or time critical items like customer support) or any other useless metric.

Since each person has to be thought of individually, I can see where it would be hard to scale in a really large environment. Some employees also have a hard time without strict policies in place (weird I know). We make sure to let people know in the interview that responsibility comes with the freedom.

One last thing, we treat every position in the company this way and not just the developers.


I think that's bullshit. I think it's purely about trying to keep everybody in the dark about each other's compensation packages.

It's easier to keep employees in the dark about money because of the taboo talking about it. If Tom spent the last month sunning himself in the Maldives, on the other hand, he's probably not going to shut up about it.

Compensation secrecy is a fairly straightforward way of dragging down payroll costs, which are going to be the biggest drag by far on the bottom line in a software company.


In my experience as founder of a 20 plus employee start-up, I assumed all employees would find out each other's salary. There is no way to enforce secrecy, people talk. For exactly this reason it is better to have a clear policy. Having 20 different special deals - like "I want to work one month less, but get paid less" etc - means you spend all of your time managing HR. Everyone thinks the other person's deal is better. Absolute nightmare to manage. Much better to transparently say "This is what we pay, this is what we offer in terms of benefits / flexibility (location, time off, etc). If that matches your needs, great. If not, we are not the right employer for you."


In my experience employers will often profess transparency but will refrain from sharing salary information (citing 'personal secrecy') and rely upon the taboo around discussing compensation do its work, which it usually does.

You sadly professed transparency and then immediately gave the game away when you said this:

"Everyone thinks the other person's deal is better."

That happens when compensation packages are kept secret or are revealed suddenly, not when they are open as a matter of policy.

It's not being 'transparent' when you share details of everybody's holiday entitlement, because it's easy to spot when people aren't in the office and there is zero taboo surrounding sharing how many days of holiday you take or whether you took friday afternoon off. It's simply a tacit acceptance of reality.


It's actually illegal to attempt to enforce that secrecy, at least in CA.

https://www.dir.ca.gov/dlse/California_Equal_Pay_Act.htm


Yes and there often fixed overheads per employee (desk space, health insurance, payroll costs, management overhead) that don't necessarily go down when the employee chooses to work less.


I would love that. I have offered a pay cut in exchange for more vacation but management couldn't even compute the suggestion. It's a foreign concept to them.


I loved remote work and did a lot of effort to ensure that we adopt a remote-friendly culture.

However I will never get over the fact that we found some of our engineers ended up doing freelancing work, over-estimating work and basically just slacking around in the freedom of their homes.

I would love to hear if anyone had similar experiences or how they prevent such in remote environments.


I've worked remote for over a decade. At the best jobs, I was made to feel fully part of the team. I was included in decision making, kept updated with changing plans, had a means to communicate & stay socially and professionally involved with the team. In those cases, I was fully dedicated to the job.

On the other hand, I've worked other jobs where I was essentially ignored for weeks, even months at a time. I was left out of decisions, etc and just handed work to do. At those places, I definitely drifted off into my own stuff.


That is an interesting point. Personally, I think remote work should be freelance work.


Are you saying that remote employees should be deprived of full-timer benefits and legal protections, however meager? All because of trust issues that grew out of experience with a bad apple which isn't representative of remote workers in general?

Empirically speaking, effective remote employees are more trustworthy and less prone to organizational politics. I can even tell you why: these people have a system of values outside of work that in turn values their professional activities as something that helps enable this desirable lifestyle. In return, work is treated with diligence and virtue.

I'm sorry that you or the person you're replying to have had a negative experience with remote workers. As usual, a few bad apples don't spoil the whole bunch.


I didn’t have any bad experiences with remote workers, and I can definitely see how that can work for non-freelancers. Personally, I just think remote and freelance are an ideal combination for independent creatives.


Are people really making these salaries? I mean like mid-level, not god-tier type people.

I don't know if I am stupid or just don't say the right things but are there really mid-level devs not at huge companies making $160k a year? I mostly hang out at startups and it is normally around like 130k for a senior dev.


"startups" is the keyword here


Emphasis. One MUST stop working for startups to make a living.


Yes, absolutely, there are normal people at normal companies outside of the bay area making 160.

If you're actually senior and are still making 130 you probably aren't negotiating.


I am not even making 130... ugh. (And I know others are)


Depends on the location, and not just because COLA. If you live in a big gov contracting area or somewhere with a lot of company offices (not necessarily tech), they will push up the salaries.

I met a guy once who worked as a programmer at a local plant (steel or something), and between his high base salary and bonuses he made more than anyone else I had ever talked to in the area.


Good question. Indianapolis seems to have a thriving tech community, but the Glassdoor data for senior software engineer average base pay comes in a full 30k under your startup number: $99k (based on 1081 anonymous submissions). LinkedIn shows median $100k.


Author lives in the Bay Area so he's using Bay Area salary numbers.


I should have prefaced that my comment was initiated in light of one peer’s suggestion to get out of startups to make a living. The fact that salaries presumably at established companies in one region can come in well under startup salaries in the Bay Area highlights the generally understood regional differences even more.


I really wish we'd start using a term like journeyman to talk about what people insist on calling "senior developers". A person with 3-6 years of experience isn't senior. That's preposterous on its face. Nor is a 3-6 year developer a junior, but we are woefully inept at using meaningful terms for developers.


This always makes me sad. 3-6 years of experience, and you are senior. 20 years of experience, and you are too old for the "young and dynamic team". I'm slowly hitting 20 years soon... and even now I have troubles with getting a job. I didn't have the problem when I had 3-6 years of experience.

A surgeon with 3-6 years of experience is usually too inexperienced to operate on her own. 20 years of experience, and you can lead a team of surgeons.

In IT we have some strange cult of inexperience. And this makes me sad.


Because you might not fit in "culturally". Which is BS. I've noticed that going to work for many, primarily younger, people is more a social thing than a professional one. I see lots of time spent talking about and focusing on what people did in the 16 or so hours since they last saw each other at work. Mondays are the worst as sometimes an hour or more is blown catching up on what everyone did over the weekend. People and teams are lacking direction and focus. These younger teams need stronger leaders able to focus and re focus the culture and discussions on achieving organizational goals. These "work is social" folks fear those who might make them look bad by focusing on Getting Shit Done rather than focusing on people's personal lives. This isn't to say we shouldn't care about people and their lives outside of work, we should be empathetic, but it shouldn't be what the team gels around.


"This should always be a normal Monday" or "This should never be a normal Monday" are both wrong. What matters is that the team is productive.

There's always a give and take, especially with the labor market being tight. All a balance between value_of_happy_employees : value_of_more_work. Because the only thing worse than the current team pissing away time is having to hire a new team...


So I assume that in 10 years those valuable employees will be fired, as they won't fit culturally, regardless spending the last 10 years in that company :)


20 year programmers fairly often get to "lead teams of programmers".

In some ways, it's staying hands-on that can be difficult. At least if you want to be recognised and valued as someone who's experienced and can take on challenging problems without a lot of support.


The surgeon only did his first operation 3 years ago and started studying medicine a few years earlier.

The developer did his first program a decade ago when he was around 12 and he's been studying and practicing ever since.


“A decade ago” is more than “3-6 years” of experience - is that your argument? Because he doesn’t have 3-6 years experience working woth others, or realizing that the problems he’s solved were solved decades ago and those solutions can be found in the right places, or living with the reality that out in the workforce he’s most likely not the brilliant unique snowflake his family thinks he is.


There is always more to learn in leading people and maintaining existing software. The point is that the developer had many years of practice already AND THEY ARE NOT ACKNOWLEDGED.

Surgeons don't have that expectation. They never butchered a human until their first class in medical school at 20. A developer that is a total starter, like the surgeon, will have a hard time passing any interview and landing jobs.


Most companies don't provide a work environment even half as good as an average home office.

I think remote working may be the first killer app for VR but it would probably require a $3k HMD today to be viable. Most tech companies could easily afford one per worker.


Your brain's going to melt if you're going to play VR all day


Honestly I kind of feel like any company that is offering market rates for remote workers has a bigger problem filtering developer applications than they do finding great engineers. Complete opposite from the hiree perspective vs in a big tech town where everyone is desperate for talent.

Between my last 2 positions I tried looking around at fully remote jobs - sane hours, good pay, good (virtual) environment including codebase - pick 1, maybe 2 if lucky.


I wonder about recommending both remote work and spending quite some time mentoring. How well does remote mentoring actually work?

I was positively influenced by people giving me advice remotely (I don't know if I'd really call it mentoring), but my feeling is that face-to-face works much better.

Any experiences?


I had a number of very positive remote only mentors when I was younger and I give them all a large amount of credit for who and where I am now.

Mentorship is important,but I don't think face to face is particularly important. Although I wouldn't rule it out if it was convenient to both parties.


That awkward time when you finish reading the article and you realize with the ad at the last paragraph that it was all just advertising for the author's service.


Most, if not all, of Eric Elliot's writing is just an advertisement for himself. Notice also how most of the references he links are his own articles.


I mean, it's at least reasonably good content, versus him spamming backlinks into random Disqus feeds.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: