Ask HN: What to do as a programmer about to go homeless
I'm a full stack freelance web developer with several projects all heavily delayed. Meanwhile I'm living overseas in a country where I don't know anyone (Vancouver, British Columbia), have $60 USD left in my bank account, and only have rent paid for another 2 days (at a hostel). Food here is pretty expensive and runs about $15/day even if you really try to save, especially if you don't have a permanent place for groceries.
It seems to me my best bet of making money is exchanging programming services for money as usual. How do I make this kind of trade last-minute?
Resume is in profile if that helps give advice. Also, this is a special case, but I have no one to borrow money from.
60 comments
[ 2.5 ms ] story [ 61.5 ms ] thread[EDIT: Ah, The OP has updated his post]
You say you're in a foreign country, and you don't have any family back home who could help with the price of an airline ticket? In that case I would suggest going to your country's embassy and explaining your situation.
Embassies aren't "get out of jail free" cards. Sure, it's better than nothing - but they get tourists without a return ticket home so often that there are strict policies on these sort of things. Even if they do help you, it might end up in you getting your passport revoked for a significant chunk of time, etc.
Freelancers should require a deposit upfront. 50% for jobs <= 1 month, 30% for jobs > 1 month. The rest can be paid at milestones or hourly/daily. If it's hourly/daily , bill bi-weekly, and try to get paid net 15 [1]. For long term jobs, if the client does net 30+, increase the deposit to secure your cash flow. And always use a contract.
1: http://www.freshbooks.com/blog/2010/03/02/the-best-invoice-p...
I am not sure you will be able to find anything in the programming area on such short notice that will pay out that quickly.
However, this might be a case where you look outside of that, and take more pedestrian approaches to get you the cash needed to ride out the rough patch.
Day labor, its not programming, and it doesn't pay much, but it could be enough to put food in the belly, and a roof over the head. I know in the US there are all kinds of day labor companies, and construction will occasionally hire for unskilled on a job site, and pay cash.
Recruiters/Staffing/Temp: Find someone that has a client base of people that need software staff augmentation immediately. I am not sure it would solve the problem in 2-3 days, but you might get very lucky.
Original response was dead on though. Hard to say what can be done without knowing where in the world you are.
If cost of living/food is a sustained problem, try to save up and fly to a place where that won't be your noose around your neck. Perhaps southeast asia once you've saved a bit. Again couchsurfing for a softer landing there as well.
If you freelance, I see no reason why you need to stay in a place that costs a lot to live in. Move elsewhere.
If you really have no money you should probably use your credit cards until you find a permanent job. Or ask your friends or family to loan you money while you are getting yourself back on your feet.
Also, there should be plenty of places to buy food there using Bitcoin. Here's a list of just some of them:
http://www.bitcoiniacs.com/merchants/
So to earn money, go check out: https://coinality.com/ and http://www.reddit.com/r/Jobs4bitcoins
They both post programming jobs. And Bitcoin payments are immediate. Just watch out for scammers -- Bitcoin unfortunately attracts more than its fair share.
If you post a Bitcoin address, I'll get you started with enough Bitcoins to buy some cheese fries here:
http://bestie.ca/
Edit: By the way, the quickest secure way to get a Bitcoin address is probably to sign up via blockchain.info and use 2-factor authentication and a long (20 char+) password. Just don't end up storing $10,000 on a blockchain wallet.
In the long run, you're best off learning to securely manage your Bitcoins yourself using bitcoin-qt or another desktop client:
https://en.bitcoin.it/wiki/Securing_your_wallet
You said you have several projects all heavily delayed. Can you approach those clients and offer them a discount if they provide a down payment?
Also reply to Craigslist ads looking for temporary labor (e.g., moving boxes or doing outdoor work).
Things like "I will not work with Windows hosting" and "Honestly, strictly speaking, any semi-competent hacker is capable of using any documented framework" make us associate you with someone who is stubborn and over-confident. The latter may be just, but I doubt it given your situation.
I apologize if my words are harsh, but as it goes; beggars can't be choosers.
But seriously, you need someone to be brutally honest with you about these things and employers will NEVER tell you what you need to know.
I need to self-fund my own startup, and I have not access to angel investors. So I start selling BBQ related things in the streets. I do this only in the weekends, in the night, right now. In a strike of luck, I get some very good freelance work just after the 1 week, but I still doing because a)I like it b)It could pay the rent! c)Reduce the stress!
This is a tactic that (here) work well. Sell food is fairly easy if you are smart about it. Requiere very low capital, not much talent, and some kind of foods bring more than 50-70% in earnings, after all the costs. Things like sell fruits (salad fruits) juices, tacos, empanadas, pizza, maicitos, mangos with salt, etc. This suckers are EASY and profit well!
The only catch? Location. This is the hard thing.
Other things to try:
- Fix computers - Teach about computers - Provide IT services to local stores - Exploit any talent you have and look if is possible to monetize in the very short term. - Become a "Cafe internet" - Become a "Play videogames here"
Both also are similar to "Sell empanadas" emergency business popular here. I don't know if is possible in Canada. Start a home business have zero real problems with the law if is low-level in my country so is easy to have a escape plan.
P.D: Another very easy tactic: If you are close to a location where people do sports, sell fruits, water and similars become possible. I know a women that only work 2 days each week for like 4h/day and made 3x-4x the AVG. salary of a developer here.
Your longer-term resolution, which I hope to share both with you and people whose present position resembles your position back in February (so that their position in October does not resemble your position as of this moment), is to improve the management of your business or, if you are unable or unwilling to do so, to secure gainful employment as a computer programmer, and trade the upside for predictable paychecks every 2 weeks until such time as you have financial/social/etc resources to survive natural variation in cash flow.
You're a freelancer. Variability in payment schedules is something which your business needs to be able to deal with.
You manage a business, and you should comport yourself as such, rather than as e.g. a college student who occasionally works for spending money. This implies, among other things, radically raising your rates, securing appropriate credit to smooth out your cash flow cycles, securing appropriate savings to smooth out your cash flow cycles, securing social and professional relationships such that you have them available in leaner times, and locating the business somewhere conducive to success at it. I express no opinion on whether Vancouver is that place, but if you've got no support network there and are at the margins of Canadian society, I would suggest rectifying that.
You should work on your pipeline such that you've always got some engagements which are in the pitch stage, some which are in the execution stage, and some which are in the "get the final invoice paid up" stage.
You need to increase your billable efficiency to more than the number you think is required for meeting your monthly expenses, because if you shoot for poverty level incomes, you will be poor when the business performs at plan and destitute when it does not. Your minimum viable number is not $600 a month. It is closer to $3,000 billed a month. This is the absolute "pack it in if you cannot hit it" minimum number -- a successful freelancing business should be billing much more in the current environment.
I assert, without fear of contradiction, that you do not charge nearly enough for your services. You need to charge more, substantially more. You probably get bad clients and bad projects from something like oDesk. Do not get bad clients and bad projects which pay you no money. Instead, network actively and get better projects from better clients at the prevailing wages for professional work.
P.S. The best clients will not respond well to hearing about you being a hair's breadth from financial disaster, because this does not happen to professionals. It suggests a lack of professional competence and will, therefore, impair your ability to land engagements doing professional work. In keeping with the "comport one's business like a professional" strategy, you will want to avoid sounding like you need to get paid ASAP.
I do freelance work, and THIS advice is the advice that has helped me the most.
Be, act, and appear a consummate professional at every front. Quality of clients, size of projects, it all depends on acting the correct part.
Might drop the term freelancer as well, although thats a little more controversial. It has appeared to me lately, that freelancer has begun to give the impression of cheap roll-of-the-dice...where as something like 'consultant' tends to be more in line with stable, experienced, professional, and yes, more expensive.
For general Python contracting work, go to people who already employ Python programmers, demonstrate competence, and then ask if they are hiring or know anyone who is. This can be virtually or in meatspace, at meetups and whatnot.
For getting work which is more than just being an interchangeable body who can ship a web app in Python, you'll want to find businesses which have problems which are amenable to solutions with computer programs, and then sell them that you're the right person to do that. I've gone over this many times on HN -- use hn.algolia.com and search for [patio11 consulting] or [patio11 prospecting].
(n.b. You should also shutter the business which sells fully functional prototypes for $3k, because that is not sustainable. Good clients know this, so if you're using that business for lead gen, you're selecting for pathological clients. You're also proposing to do project management for projects for the worst freelancers and the worst clients, at a fee of 8% on $3k, which is an even worse idea than delivering those engagements yourself.)
http://www.meetup.com/vanpyz/
I know that sounds snarky, but that's really that's all there is to it. Once you find your way into a local dev community, you'll quickly find more and more connections. Good luck!
The organizers of that event probably know of companies in Vancouver who are looking for Python developers. You could also comb the attendee list and try to figure out what companies they are working for, as they'll probably be using Python.
I'm not saying it a great option, but that it might be the best of a set of bad options.
Also, you might think about posting to Craigslist or similar, explain your situation and ask for some work. It certainly won't hurt.
If you are going to speak to them, one thing you can do to make things easier is to get the ball rolling with work. If you get your CV out today then you should be hearing from recruitment agencies tomorrow. If someone is going to put you forward for a telephone interview then that might be enough to persuade family that you are worth investing in.
Assuming that someone in the family can help you out you can pay them back with direct debit over six months or so, plus you will owe favours in return. This does mean doing a day job, i.e. getting out the door very early and getting back late with no life to yourself except the weekend.
You can also look for local work with rubbish pay doing things most people don't want to do. Pretend you are a student and that the job is perfect for you, in that way they will overlook any intellectual aspect of your character. The benefits of a local unskilled job are many: you can take on a challenge and 'win' (factory production lines are ridiculously fast to the uninitiated), physical hard labour does get you fit up to a point where you are just permanently run down, the travel can be easy and inexpensive saving you 1-2 hours per day, the camaraderie can be better than any office, you can get paid weekly, you can get paid for overtime, uniform/overalls are provided and although the experience may be utterly intolerable there will be retrospective enjoyment. Just pretend that you are going 'undercover' much like George Orwell in 'Down and Out in London and Paris' and all will be survivable.
If in an inane factory job read the trade press and look for vacancies that can combine the low--skilled in-depth knowledge of the job with programming. For instance, if you end up working in a bar then keep your eyes peeled for vacancies with the company that supply the POS software. If they want people to be support staff then they are willing to hire users (that know the software already and understand the pressures of their customers). A support role - picking up the phone and logging calls will lead to a second line role by which time you will have gained people skills and become a customer service focused person. That is worth more on your CV than any programming TLA's or half-baked open-source project contributions. It may not be rocket surgery and it might be hard work, but all I am saying is that a dead-end job really need not be dead end at all if you are prepared to be slightly enterprising about it.
It may take six months to a year of having to work at rubbish jobs before you can climb out of the hole into something nearer your true calling but that is not so long in the bigger scheme of things. As mentioned you will learn things along the way that they just don't teach in university.
Expecting to exchange programming services for money shows a slight lack of grasp of reality, in truth it is exchanging your labour or your time for $$$.
All you need to do to repay us is code my fraternity brothers idea its sort of an Uber for Instagram with Pinterest functionality. When can you start?
All you need to do to repay us is code my fraternity brothers idea its sort of an Uber for Instagram with Pinterest functionality. When can you start?
Look into couch surfing or staying with friends/family for the short term if that is possible.
Look for a way to get quick cash legally. In the U.S., collecting recyclables is a common way for people on the street to do that. A quick google does not indicate you can do that in Canada. You might consider pawning something, accepting donations, finding some kind of short term work that pays cash.
While drawing on those resources, then try to get more long term solutions in place. You cannot crisis manage your way to a more middle class life. You have to make real plans and do a lot of problem solving.
I hope that some of the advice here on how to market yourself as a serious professional is useful to you in the long run but I will say that it makes some really big assumptions which may be completely off the mark. First, in order to charge $100/hour for anything at all, the quality of your work needs to be worth that much. Your work may not be that good. So you may need to find out how to improve the quality of your work. Second, simply relabeling yourself as a "consultant" instead of a "freelancer" may not be some kind of magic bullet to get you better clients.
Some of the advice here is a good long term thing to shoot for but, really, if you are on the verge of homelessness, the odds are high that you have bigger problems than what label you are using for your business model. So you may have some serious work ahead of you in terms of figuring out exactly what went wrong and how to fix it.
Also, asking for help here on HN in this manner may be doing you more harm than good. The people you want to hire you for your programming skills may well be reading this forum and may well basically blacklist you because of this post.
I am sorry you are in this situation. (I have been homeless for 2.5 years, so I am not looking down on you.)
Best of luck.
To the OP, having come close to your situation before, my advice is to focus on finding a day job. If visas are an issue, look for remote work or cash work (or, I suppose, a long-term "freelance" gig--for example ad agencies in Canada frequently employ programmers to do work in-house as contractors), but focus on finding anything that will let you wake up every day without worrying about how you'll pay rent or buy food. Freelancing/consulting is great, but there are a number of factors which make it a lot more difficult to dig yourself out of a hole that way, especially if you don't have a track record of consistently filling your time with valuable client engagements. You can always re-visit that path once you have savings in the bank.
EDIT: This is a subject that's fresh in my heart and mind, having transitioned from (some of) the starry-eyed delusions of youth to (some of) the miserable realities of adulthood more recently than many here. Guys like 'patio11 mean very well, and they are giving actionable advice which I've made work for myself many times over, but they are taking a few things for granted which they maybe shouldn't, and de-emphasizing the importance of a few things which programmers have a tendency to over-emphasize:
1. You cannot charge $100/hour if you can't demonstrate any previous success at all. It's true that programmers over-emphasize the importance of this most of the time, but you do need something.
2. You cannot charge $100/hour if you're not able to act like a professional. This includes communicating professionally, dressing professionally, etc. Again, programmers over-estimate the importance of this, but there is a basic requirement (which is probably on par with most North American white collar work).
3. You will never be able to bill 100% of your work time and it's probably not realistic to even get 60% in your first year of solo operation. (That, by the way, is part of why $100/hour is on the low end of what you should be charging.)
4. You will almost never get paid on time, and it's not unusual (a few times a year) to face expenditures which represent more than a week's work (tax season, etc), so you should have at least a month's worth of cash float available.
5. Regardless of your overall market value and the value you're able to create for any business, there are many parts of North America where businesses will not justify spending more than $100/hour on your work. Your options (as a freelancer/consultant) are basically moving or trying to work remotely (see 6).
6. You're not going to get a "freelance job" at $100/hour working remotely unless you're $INSERT_INTERNET_FAMOUS_NAME. You might get a consulting engagement, but only if you've met the client in person previously, or you've been referred by someone, or you have some very serious Fu. (I am probably overstating the difficulty here, but not by much.)
7. It's near impossible to pull off #'s 1 through 6 if you don't have food to eat this week. (I'm speaking from experience, although in reality I have a wider support net than most people. This list is doubly true for those without a support net.)
In other words, 'patio11 and 'tptacek and the other good people giving wonderful consulting advice are right 100% of the time, but they're making reasonable assumptions about functional professional adults with a few connections and a bit of money in the bank (again, they're optimizing their advice for people who have the resources but lack the confidence). If you're not there yet, get a job for a while--it has its own set of challenges anyway. (And when you do, check out http://www.kalzu...
It's not helpful to suggest that a person just needs to go check out the local $INSERT_PROGRAMMING_LANGUAGE_HERE developer meetup and ask people to hire them for freelance work--that sort of environment is not the norm in most of North America.
Of course freelancing is a perfectly viable option for lots of people, and I will generally agree with your party lines (ie. businesses typically value developer skills on a completely different axis than programmers do, and programmers typically underestimate their ability to provide that value) but offering it up as a panacea to someone who's on the verge of homelessness seems... a bit strong.
"Employment Insurance (EI) provides temporary financial assistance to unemployed Canadians who have lost their job through no fault of their own, while they look for work or upgrade their skills."
Government assistance should be a safety net that is intended exactly for temporary situations like this, right? It's definitely not optimal, but perhaps it would be one avenue to follow up given the situation?
"Employment Insurance (EI) provides temporary financial assistance to unemployed Canadians who have lost their job through no fault of their own, while they look for work or upgrade their skills."
Government assistance should be a safety net that is intended exactly for temporary situations like this, right? It's definitely not optimal, but perhaps it would be one avenue to follow up given the situation?