Ask HN: Sources of remote dev work with minimal human interaction?
I am in a situation that I feel some of you can relate to, so I wanted to pose this question in hopes of generating some resources for myself and similar people. I've had a few developer jobs so far in life and on balance, I haven't really liked any of them. When I ask myself why, the reason is always the corporate bullshit that I must endure. I find the actual job of being a developer quite fun and enjoy solving problems and building things with code. I also have no troubles with the interpersonal side of developing, as far as working in a team and being a decent coworker is concerned. What I cannot stand is the corporate environment and it's associated crap and rituals. I don't like being "obligated" to put in extra time with my colleagues on team events and retreats. I don't like daily stand-ups that are about talking about what you're up to so you look busy, rather than sharing (both ways) useful info with the team. I don't like a lot of the personalities I have to interact with at work (IMHO, certain departments/roles attract people who I feel are inherently dishonest or manipulative. These people creep me out and I wish I didn't have to be so close to them every workday). Many who read this will be able to add a lot to this list of complaints, as I can too.
What I want is a remote dev job where I close tickets. That is, one where the gig really is cash for functioning solution that meets spec, code standards, and QA. My ideal world would be where I log in somewhere, pull a respectably specified ticket with clear acceptance criteria, and then pull request myself to at least a modest quality of life. Does anyone know of any remote work where the hassle is just engineering related? I will specify that I am not interested in simply transitioning the interpersonal bullshit to a Skype-based model, so team-intensive remote work won't suit this requirement. My greatest thanks for any insightful thoughts or resources you guys can provide.
110 comments
[ 4.0 ms ] story [ 57.0 ms ] threadIf you keep quiet, but regularly update your tickets and/or PRs with just the facts, do people still bother you?
I understand the "interacting" with humans can be tough. But as humans, interacting is what we do.
I am not saying there is no jobs like that, or you won't be able to find a job where you could do that. But there will always always always be some sort of corporate "crap" to put up with.
Just as an example, at that job I still interacted with people quite a bit, but almost non of it was mandated; people worked together to get shit done, and were trusted that they could reach out when they needed help etc. At my current company, it's all lowest-common-denominator; everyone has to use the same processes because some people will just sit around and do nothing if you don't make them tell everyone what they're doing all the time.
Anyway, to the op, I would say that you probably won't find something with close to zero interaction, but I do think you can absolutely find places where the vast majority of the interaction is fruitful.
Also interested to know if such jobs exist.
Now we just communicate over Slack, close tickets in Asana and document everything in Nuclino. Generally, if we're feeling anything ("Hmm this process seems inefficient or useless"), we simply express it, and change it. If that meant more bureaucracy, we'd do it. If it meant less, we'd do it too.
The most important thing is to communicate how you feel and why. I feel encouraging this culture really comes down to good organizational management and good product management (especially when it comes to feature requirements), not any kind of engineering process.
I definitely appreciate this perspective and plan to keep it in the back of my mind - this is probably what some developers are thinking even if they don't say it!
So if I keep this handy, people will say: "Oh, it's already been said, and that's okay! Now what? We can figure this out."
I have been contracting for the last 10 years and I have a contract like this now. It's great, I've been completing tons of work for the company, but it's not the norm.
I report directly to the CTO of the company and talk to him almost daily. I have no daily standups and almost no meetings. Everything is as needed. IE: If we need to meet with someone in the company. we schedule a short meeting. Everything else is through our main ticketing system.
"pull a respectably specified ticket with clear acceptance criteria, and then pull request myself to at least a modest quality of life"
If you want a better quality of life, choose companies that don't rely on software as their main source of income and have been in business at least 5 years. I usually only choose companies that utilize software, but the main product is not the software itself.
My motive is that I have side businesses that I also run during the day.
Consulting companies are probably the worst in terms of work/life balance. I worked for a consulting company that had hundreds of clients and multiple projects all going on at the same time. The pressure was crazy.
They originally hired me to get a project done in 3 months (down from the original estimate of 1 year). When I started working on it, they told me I had 7 weeks and pushed me every day until it was done. Luckily, I was able to figure out some better ways of completing the required tasks and got it done in time.
As far as pull a "respectably specified ticket" goes, this might be difficult. Most of the time, people don't know exactly what they want and part of your job (unless it's a very large company with a layer in between you) is to decode someone's request and translate it to software. It will almost never be as easy as seeing a ticket with perfect requirements.
But it really does sound like you should be contracting. You won't need to be part of any gatherings or useless meetings, because a company is paying you hourly.
My motive is that I have side businesses that I also run during the day."
This post really resonates with me.
People on here always tout the idea that you don't want to work for a company where software isn't the main product because then you're in a 'cost center' so it drove me into a job at a faang company. Now that' I've been at one for a few years I see that it's just full of people chasing clout so they'll work themselves into the ground.
Trying to work on side projects is futile when you're expected to work lots of unpaid overtime so if you have any ambitions outside of work you won't fit in well. I wish I had known this earlier on.
"expected to work lots of unpaid overtime"
A great thing about contracting is that you are paid for every hour you work. It has more risks (less stability than a full-time job), but it definitely can give you a better life balance, if you want it.
Companies are also less likely to give you overtime if they need to pay for it. Most of the time, I have to get overtime approved.
It really depends on your goals. Working for FAANG is good for some developers, because they want the prestige, you can make really good money, and you get to work on some really cool software. I don't care about any of that. I just want to make a living while I'm working on my next business.
The business is my goal.
But, I hear your concern about working in a setup which feels ineffective. My suggestion would be to pick teams that are small (2 - 3 devs) with a well defined goal. Keep your interactions effective and short with this small group.
Standups and iteration planning meetings have value. Unfortunately many follow it as just rituals instead of seeing the real reason behind doing them and the value it provides. You don't need to call them as standup or IPM as long as what they are achieving are met in your project. That is the whole point of being agile.
OP’s post is pretty level-headed, they say they like coding and people but dislike office politics, and all you have to do is to recommend them to go to a doctor? Maybe you’re the one with the mental problem?
I don't think this is helpful.
Being able to either ignore or put up with office politics might be a pathology, but it's a pathology that is required in most well-paying work environments. Passing subjective judgement on it isn't helpful unless you're a) a high-level executive with the ability to drive culture changes; or b) able to provide examples of work environments that better conform to OP's preferred social interactions (which I do in my original post).
I'm not sure if this gets you a modest quality of life where you live.
If you can't find a way to play the game without emotional investment, then perhaps look for jobs in lower-paying sectors where you're less likely to encounter ambition and bullshit.
For example, have you looked for development jobs in the nonprofit and/or public sectors?
Nonprofit/gov't work in general can attract bad personalities, but IME the software development shops within those organizations tend to have very few of the types of people you want to avoid. The pay/prestige is low enough relative to other development work that you mostly get "true believers".
Universities (software development departments, not research groups!) are also typically nice laid back work environments.
Medium-sized non-software companies with small development groups (5-10 people) can also be good.
However, do realize that in all of those situations you are trading standups and TPS reports for daily interactions with non-technical end users, which come with their own set of frustrations.
I have had the good luck to work for managers who handle the bureaucracy and I talk to other devs as needed and submit code
If you consider moving back to industry after some time in nonprofit/gov't, I think many in dotcoms will tend to assume you're not good, even if you've been doing similar or harder work as you would've in a dotcom. Because who would've turned down dotcom kind of money (fair enough), and the chance to have impact (questionable logic, to people saving lives and liberty), and the chance to work with the best people who are them (now it's getting circular). Most of their data points are from people who chose dotcoms, they see lots of gov't/nonprofit-related dumbness in the news, and we all have prejudices about things we don't know.
If you're not coming from another dotcom, besides your skill/aptitude being suspect, you're also probably being judged with suspicion in some exclusionary (and questionable) idea of "culture fit". It's not just women and some other underrepresented socioeconomic groups who can be marginalized on this basis.
BTW, if OP thinks they have an unusually low tolerance for BS, I'd like to suggest two possibilities: (1) maybe they really do have an exceptionally low tolerance, and pursuing what they are asking for is a top priority; or (2) maybe they're reacting to some bad experience that's not representative of industry as a whole, and they'd find a more representative culture to be tolerable, and a better environment in which to learn to work within reasonable levels of BS.
(Regarding #2 above, I'm sympathetic. I quit a prestigious job at a place I really wanted to be, which led to an aversion to one particular bit of "BS" that I'd previously tolerated, but which foreshadowed untenable problems. I've turned this particular thing into a cultural litmus test for the prospective employer, which has caused me to turn down a lot of opportunities that probably would've been fine, after the initial BS. OP's situation might be similar: not wanting to get burned again, and being very cautious, to the point that they're ruling out too many opportunities.)
I really don't agree that non -profits or government are where to go if you don't want to have to deal with inane business bs. In my experience selling in to both for the last year they're both chock full of forms and meetings for the sake of forms and meetings. Just people going through the motions of what they think business is without the talent to do it properly nor the genuine need or market mechanisms to punish /reward those running things effectively. Tons of politicking and busy work creation.
The most straight forward business people to deal with are the highest ranking in the most overtly profit oriented businesses. They want to make a buck, you want to make a buck, you have simple common ground to build on when interacting.
You do mention "ambition" though which OP doesn't. So maybe you, them, and me all have different ideas of what shit people to work with are. I do think that OP is likely to get "corporate crap and ritualed" to death in any of the non profit businesses I've seen the internals of though.
I do second universities though. I have a developer friend who works for one and it sounds like exactly what OP wants. He's mostly left to his own devices working on tickets.
* Open ticket
* Write code for ticket
* Submit to QA / release
You basically described how many places outsource development. So you are now competing with $5 an hour body shops overseas.
The reason I and many others hire local people, or at least people who want to contribute is to brainstorm and solve problems together with. Just turning specs into code is not worth paying someone 10x the overseas wage.
Now all your problems I understand. Perhaps try working at a smaller shop somewhere? Maybe a company < 20 total people, especially one that isn't 100% developers. Tons of little companies need a dev or two, but they don't have any of the standup and paperwork type stuff. Just some problems to solve, and a reasonable pace of life. Basically "boring backoff" type jobs.
Preferably an industry halfway to monopoly. Companies that don't compete every day for survival don't worry as much about raises and have much less politics, because people aren't always on the edge of being fired.
There are a lot of interesting problems in those industries, but they're not flashy, so they rarely attract coattail riders, corporate cutthroats, and empty suit salesmen.
And frankly there are very few compelling and accessible problems in software at all in the private sector for software as such. Interesting problems you can use software to solve, yes. Interesting software problems (that aren't better situated at a research program at a university)? Not a whole lot.
Avoid volatile markets that suffer speculation or primarily employ low wage workers or minimal skills workers, or both. Not because poor or uneducated people are tough to deal with-- ime they are more pleasant than the college educated a lot of the time-- but because it makes it very easy for companies to lay off large sections of their work force. (Think agriculture or construction.)
Speculation causes booms and busts. Low wage work does the same as the market for work expands and contracts. Insecurity makes people cutthroat, and if they can fire their main workforce and rehire identical cogs two years later, then your job supporting those people can come and go, too. High skills labor force makes a company think twice about letting people go, because they might be hard to find again later. (You can fire your Fortran programmer, but good luck finding a replacement quickly and for the same price in two years...)
As you point out, leadership at a company can change all of this. They can foster a better culture. The problem is knowing this in the first place about an employer, attempting to get located inside the company wherever that magic happens, and then the insecurity of not being clear when the magic will end. (Either because you don't know what created the magic to begin with or because it's dependent on person exoduses that can't be predicted.)
Which, by the way, is a full time job, you cannot just design some good algorithm and sit back while it earns you money. It is not this easy. :(
Like a hedge fund.
It is smart to be doing this now, as it'll only get harder as the large financial firms get better at it over time.
It's wonderful for me, but I have to caution you that it is both a career limiting move and that you still have to do what corporate asks (and they will). That will include status updates, presentations, design review meetings, meetings with legal, required training, etc etc etc. I spend about 1 day out of 5 on this and still occasionally deal with "what have you done for us lately" style concerns.
Part of this is probably due to it being early days, but you should be aware that even in these very flexible, very remote jobs people still have to justify your headcount. And that means you will need to spend time telling those people how to do that.
Normally I wouldn't solicit people to sign up on HN, but since you asked for sources I figured I'll take the opportunity to help fulfill your search: https://www.codersclan.com/, if you sign up, mention you are the poster from HN and I'll make sure to speed the process up for you. Do note that the hourly rates start from $30/hour and that right now we're mostly looking for WordPress or front-end devs.
Another source you might want to look at is https://remote.co/ I think we even advertised there in the past, but naturally the type of work you'll get will depend on the contract you land.
I have spent a fair chunk of my 25+ year career consulting. Net 10 may not be the best terms, but it's far from terrible. $30/hr, on the other hand...
But I have no idea what payoneer is. Unless it’s a weird way of saying “wire transfer”, then yes it’s probably terrible.
Edit: That totally disregards that it's paid via Payoneer, so you'll also have delays in transferring your money from Payoneer to your pocket, which could take days more.
Edit: are you sure that’s the definition of “net 10”?
From https://www.accountingtools.com/articles/2017/5/7/accounting...
> Net terms. "Net" means that the full amount is due for payment. Thus, terms of "net 20" mean that full payment is due in 20 days. The term may be abbreviated to "n" instead of "net".
From https://due.com/blog/10-invoicing-terms-need-know/
> Net 7, 10, 30, 60, 90
> These imply that the net payment is due in either 7, 10, 30, 60, or 90 days after the invoice date. For example, if the invoice was dated June 10 and you used one of the most used payment terms, Net 30, then the payment would be expected before July 9.
Edit2: the referenced site even says the same, presuming they handle invoices end-of-month:
> Payouts are sent on a NET + 10 basis. It means that for every work completed and approved in a specific month you get paid for it on 10th of the next month. E.g. if for work completed and approved during September you'll get paid on October 10th.
So I’ll restate my original point: payment 10 days after invoice is not terrible. It’s not fantastic but it’s not terrible.
From their faq:
"When do you send payouts?
Payouts are sent on a NET + 10 basis. It means that for every work completed and approved in a specific month you get paid for it on 10th of the next month. E.g. if for work completed and approved during September you'll get paid on October 10th."
This is basically Net 30 + 10. It can get even more complicated by internal payables cycle.
Edit: When seeing things like Net+10, always asks what the Net term is; it could be anything + 10 days.
EditEdit: That 10 days you're referencing would be from the end of the month, not the beginning. From the beginning of the month, you're 40 days out. With legit corporate work, or direct to legit customers, this can work; when you're subcontracting to seo shops like this you won't even know you're not getting paid or have to fight for it until the next month.
There are ways to avoid corporate bullshit:
- Start your own product. But you might face some government bullshit.
- Trading. Probably the best if you want to avoid any human interaction. While you are at it, move to a tax-friendly jurisdiction and pay 0 in taxes.
Good luck and don't give up, it's worth it.
Regardless, standups are stupid. It’s another ridiculous process invented by managers to look like they’re doing something.
If developers need to know what others are working on because it affects them, they’ll ask.
Rule #1:Avoid big companies.
Big companies seem to attract and promote more sociopaths. Or maybe they are just more visible because of the larger population? Possible explanations include: sociopaths are focused on their carrier path within an organisation rather than on accomplishing something, which attitude is only possible within a big organisation where many layers of hierarchy and processes offer shelter from the hard realities of customer (dis)satisfaction and competition.
Rule #2: Avoid the web.
The technical culture is just too bad there. Ideally you should look for a development job in a company that also employs other kind of engineers (telcos, construction, industrial equipment...) The culture will be more grounded in science (and the economy), and the objectives less vaguely defined.
Rule #3: As a last resort, consider leaving the USA and emigrate to Europe, where the corporate culture encourages less openly hypocrisy. Note, though, that this "fake it until you make it" attitude that tends to make American coworkers creepy to us Europeans has been shown to have a positive influence.
Now, I also wanted to address you depiction of the ideal engineering work as closing well defined tickets.
You are certainly already aware that explaining to a computer how to solve a well understood problem is a very simple task, compared to the work required to explain to a bug tracker what a problem actually is and what its solution should be.
The first task consists merely of translating a specification into a program, while the other task requires to understand a complex system, what it does, how and why, its history and to anticipate its possible futures, plan its evolutions, etc. This is so much harder, especially because to reach this point where you understand enough the problem that you can write the specifications (or directly the program) you have to collect information and ideas from many human sources and to also fight human incompetence, lazyness, malevolence and conflicting interests. To do this efficiently you need a lot of knowledge, not only technical but also about the industry, the internal working of the social organisations you are part of, etc. That's being an engineer in IT here and now, and very few jobs will match what you are looking for.
And if you ever find one, chances are that you will then just play a role in some managerial intrigue and nobody will actually care about what you are doing.
You can but you'll likely collect proportional pay. (ie the below mentioned $5/hour overseas outsourcing).
On a completely unrelated note, most outsourcing projects fail because they hope they can magically skip 1 & 2 and the outsourced labor will just genie up a working product.
Writing code is, for the 95% to 99% case, easy. (That last 1% to 5% requires anywhere from cleverness to brilliance.) It's figuring out what needs to be written that is very difficult. It's the part that involves actually talking to people, understanding their needs, having empathy for those needs so as to help you refine a solution from "it'll work" to "it's good", and only then does hands-on-keyboard programming matter.
And most of it doesn't; it can be slapdash and it can be duct-tape-and-chewing-gum and as long as it correctly solves the problem at hand--which was identified and planned against long before a programmer ever thought about a line of code!--it's fine.
Programming is not easy. Programming is specialized labor. But it is the implementation of a strategy. Why would the implementation matter more than having the strategy in the first place? This is why well-paid programmers (outside of the inflated FAANG market, at least) are positively brilliant and working on high-value technical problems, decision-makers and leaders of people, or both.
> Why would the implementation matter more than having the strategy in the first place
Who said that? Noone is saying that programming is more important. On the other hand, I see I lot of people saying programming is trivial and not important. I wouldn't have objected if it was at least 25%. But 5%? That's probably true if you're just gluing frameworks together all day, but even then...
Is it not really absurd to claim that the person deciding things and telling people what to do is doing almost all of the work? But suppose that maybe there was a lot of nuance and research involved, and the resulting specification is very detailed. If that is the case, the programming involved will not be trivial either, hell it might be even harder.
> Writing code is, for the 95% to 99% case, easy
> Programming is not easy. Programming is specialized labor
D-did you just contradict your self there? I'm not sure what are you getting at anymore.
People will use you as you act. If you are someone who is always quite, never has time for team events, never interact much but works on tickets in good quality, your team lead or manager will learn to use this for them.
I like to have a team with everyone engaged but if i have someone on my team i can give a ticket and they just do it in good quality or don't mind if i tell them how they have to rework it, great.
Make sure you are not in a start up. There is stress and direct communication needed. Look for something less edgy, less modern. Something which works but is not that interesting and good defined.
I would like to receive your application here: https://ideatostartup.org/join