Hi all,
Mostly lurker, I very rarely post, mostly just read the excellent posts here.
I'm a Filipino, which means I am a citizen of the Republic of the Philippines. My annual salary, before taxes, is about $20,000 (USA dollars). I work at an IC development company (12 years at this company), developing the logic parts of LCD display drivers. My understanding is that the median US salary for this kind of job is about $80,000 -> $100,000 a year. This is a fucking worthless third world country, so the government eats up about ~30% of my salary and converts it to lousy service, rich government officials, bad roadworks, long commute times, and a (tiny) chance of being falsely accused of involvement in the drug trade and shot without trial. Thus my take-home pay amounts to about $15,000 a year. China is also murmuring vague threats about war because of the South China Sea (which the local intelligentsia insist on calling the West Philippine Sea); as we all know, the best way to survive a war is not be in one.
This has lead to my deep dissatisfaction with my current job.
I'm also a programmer as a hobby, and have been programming for 23 years (I started at 10 years old on Atari LOGO; I know a bunch of languages from low-level X86 assembly to C to C++ to ECMAScript to Haskell, and am co-author of SRFI-105 and SRFI-110). My understanding is that a USA programmer would *start* at the $20,000-a-year level (?), and that someone with experience can probably get twice that, and a senior one can get $100,000/year.
As we all know, once a third world citizen starts having first world skill level, he starts demanding first world renumeration also.
I've been offered a senior software developer job at a software company, offering approximately $22,000/year; because of various attempts at tax reform it offers a flat 15% income tax, so I can expect about $18,000/year take home pay. I've turned it down with a heavy heart, because seriously, $22,000/year at 15% tax for a senior software developer?
Leaving my current job is something I've been planning on doing, and I intend to do so early next year. The increasing stress (constant overtime, management responsibilities (I'm a tech geek with passable social skills, and exercising my social skills drains me), 1.5-hour commutes) and the low renumeration makes me want to consider my alternate options.
My options are:
1. Get myself to the USA, Europe, or other first-world country somehow, and look for a job there. High risk, high reward, much higher probability of surviving to the singularity (can get cryonics there, can't get it here). Complications: I have a family: a wife, a 4-year-old daughter, and a son on the way. My wife wants to be near me, so it's difficult to live for long apart. I have no work visa for any first-world country. I'm from a third-world country that is sometimes put on terrorist watch lists, and prejudice is always high in first-world countries.
2. Do freelance programming work. Closer to free market ideal, so presumably I can get nearer to the USA levels of renumeration. Lets me stay with my family. Complications: I need to handle a lot of the human resources work myself (healthcare provider, social security, tax computations, time and task management - the last is something I do now in my current job position, but I dislike it).
3. Become a landowning farmer. My paternal grandparents have quite a few parcels of land (some of which have been transferred to my father, who is willing to pass it on to me), admittedly somewhere in the boondocks of the provinces of this country, but as any Georgian knows, landowners can sit in a corner staring at the sky, blocking the occasional land reform bill, and earn money. Complications: I have no idea about farming. I'd actually love to advocate a land value tax, which would undercut my position as a landowner.
For now, my basic current plan is some combination of #2 and #3 above: go sit in a corner of our clan's land and do freelance programming work. This keeps me with my family, may reduce my level of stress, may increase my renumeration to nearer the USA levels.
My current job has a retirement pay, and since I've worked for 12 years, I've already triggered it, and they'll give me about $16,000 or so when I leave. This seems reasonably comfortable to live on (note that this is what I take home in a year, and I've supported a family on that, remember this is a lousy third-world country).
Is my basic plan sound? I'm trying to become more optimal, which seems to me to point me away from my current job and towards either #1 or #2, with #3 as a fallback. I'd love to get cryonics and will start to convince my wife of its sensibility if I had a chance to actually get it, but that will require me either leaving the country (option #1 above) or running a cryonics company in a third-world country myself.
--
I got introduced to Less Wrong when I first read on Reddit about some weirdo who was betting he could pretend he was a computer in a box and convince someone to let him out of the box, and started lurking on Overcoming Bias. When that weirdo moved over to Less Wrong, I followed and lurked there also. So here I am ^^. I'm probably very atypical even for Less Wrong; I highly suspect I am the only Filipino here (I'll have to check the diaspora survey results in detail).
Looking back, my big mistake was being arrogant and thinking "meh, I already know programming, so I should go for a challenge, why don't I take up electronics engineering instead because I don't know about it" back when I was choosing a college course. Now I'm an IC developer. Two of my cousins (who I can beat the pants off in a programming task) went with software engineering and pull in more money than I do. Still, maybe I can correct that, even if it's over a decade late. I really need to apply more of what I learn on Less Wrong.
Some years ago I applied for a CFAR class, but couldn't afford it, sigh. Even today it's a few month's worth of salary for me. So I guess I'll just have to settle for Less Wrong and Rationality from AI to Zombies.
A pessimistic starting salary for a competent US computer programmer is $60K and senior ones can clear $200K. $100K is a typical starting salary for a computer science student who just graduated from a top university (also the median nationwide salary).
In the US market, foreigners come work as computer programmers by getting H1B visas. The stereotypical H1B visa programmer is from India, speaks mostly intelligible English with a heavy accent, gets hired by a company that wants to save money by replacing their expensive American programmers, and exists under the thumb of their employer (if they lose their job, their visa is jeopardized). I think that the average H1B makes less money than the average American coder. It sounds to me like you'd be a significantly more attractive hire than a typical H1B--you're fluent in English, and you've made contributions to Scheme?
The cost of living in the US is much higher than the Philippines. Raising a family in Silicon Valley is notoriously expensive. Especially if you want your kids to go to a "good school" where they won't be bullied. I don't know what metro has the best job availability/cost of living/school quality tradeoff. It will probably be one of the cities that's referred to as a "startup hub", perhaps Seattle or Austin. If your wife is willing to homeschool, you don't have to worry about school quality.
You can dip your toes in Option 1 without taking a big risk. Just start applying to US software companies. They'll interview you via Skype at first, and if you seem good, the best companies will be willing to pay for your flight to the US to meet the team. To save time you probably want to line up several US interviews for a single visit so you can cut down on the number of flights. Here are some characteristics to look for in companies to apply to:
The company has a process in place for hiring foreigners.
The company is looking for developers with your skill set.
The company's developer team is "clued in". Contributing to Scheme is going to be a big positive signal to the right employer. You can do things like read the company engineering blog, use BuiltWith, look up the employees on LinkedIn to figure out if the company seems clued in. Almost all companies funded by Y Combinator are clued in. If your interviewer's response to seeing Scheme on your resume is "What is Scheme?", then you're interviewing at the wrong company and you'll be offered a higher salary elsewhere.
The company is profitable but not sexy. For example, selling software to small enterprises. (You probably don't want to work for a business that sells software to large enterprises, as these firms are generally not "clued in". See above.) Getting a job at a sexy consumer product company like Google or Facebook is difficult because those are the companies that everyone is applying to. You can interview at those companies for fun, as the last places you look at. And you don't want to apply for a startup that's not yet profitable because then you're risking your wife and kids on an unproven business. I'm not going to tell you how to find these companies--if you use the same methods everyone else uses to find companies to apply to, you'll be applying to the same places everyone else is.
Of course you'll be sending out lots of resumes because you don't have connections. Maybe experiment with writing an email cover letter very much like the post you wrote here, including the word "fucking". I've participated in hiring software developers before, and my experience is that attempts at formal cover letters inevitably come across as stuffy and inauthentic. Catch the interviewer's interest with an interesting email subject line+first few sentences and tell a good story.
Actually you might have some connections--consider reaching out to companies that are affiliated with the rationalist community, posting to the Scheme mailing list if that's considered an acceptable thing to do, etc.
Consider donating some $ to MIRI if my advice ends up proving useful.
Thanks for the reply, I'll consider your advice more!
re: English, fluent writer, my spoken English is sometimes halting (it's not like I can go back and edit my vocal utterances, unlike in "written" English on a computer). re: Scheme, I'm not so sure if a Schemer would say I "contributed" to the Scheme language with SRFI-110 - there's significant resistance against indent-based syntaxes - but I know a few implementations have picked up SRFI-105 (Guile at least, I think a few others).