Ask HN: Burnt out developer trying to move out of Iran, advices?
Living in Iran
38yo/married/no kids
University drop out
Burnt out developer because employer asks you to finish the job quicker and quicker and then throws more work at you without any perks/changes to your salary
Have been working as a bookkeeper/sort of an accountant for 5 years
No savings/hard to save much when your salary is 350USD/mo
My wife has a masters degree in accounting and a good resume
Good skills in Vanilla JS/HTML/CSS
Viable skills in C#/T-SQL/a lot more
No resumes
Planning to migrate to Europe/US/Australia in next 5 years because Iran is on edge of economic/social/life-basics collapse.
1. My main question is: Can I work as a developer and not be under pressure every minute?
2. If I get hired as a developer, can I have a life outside my work or I'm gonna have to learn the new hipster framework after work hours for the rest of my life?
3. Is it worth cutting my salary by 2 days a week to work on open source projects to build up a resume?
4. I'm fine learning say, COBOL. Should I go that way?
5. Am I better looking for other jobs?
6. Any advices?
P.s I don't think I can do paid remote work for foreign countries until I get a second passport since Iran is sanctioned and I probably can't have a bank account in western countries.
92 comments
[ 1.6 ms ] story [ 138 ms ] threadYou can and should be able to work as a developer without the job being hell. There are dozens of us that actually enjoy our work :)
Don't learn COBOL.
I won't blame him for not sticking around for more than 3 months if he's been exploited for low pay & unreasonable workloads (which they know they can do due to his situation).
Australia is also a lot more expensive than Canada. And you will be almost totally excluded from western hemisphere employment due to the time zone, instead of being on EST with +/- 4hrs of the entire US and Europe.
I understand your frustration, but the phrasing doesn't hint at a great attitude here.
If it was a serious question, he could've solved it by googling, and the answer is yes, of course there's situations where you could have life outside of work. Half of the developers I know work 9 to 5, and I can google and see how others are doing. Instead, he's just venting. Which is understandable in his situation, but doesn't make it a serious question.
lel
Also, from my own observations, in Europe "hipster" doesn't have a negative connotation, meaning simply "cool person"
Part of the reason I left software is because everybody expects this obnoxious puppy-dog personality out of developers. The grumpy old bastards just want to be left alone to stew
Uh, what? Maybe in some parts, in Germany hipster is absolutely negative.
Is this a new thing? I remember explicitly telling my Berliner friend that hipster had a negative connotation where I came from. Maybe all those things I heard about Berlin not being Germany are true :P
Where I lived in Holland the term was similarly neutral. (Also I saw an ad in Dutch "hipster" where it meant panties or women's underwear?)
This would be about 10 years ago though
> Berliner
The joke really writes itself :D
But I’ll also allow that this might be one of the occasions where I’m too out of touch with German culture, it’s not as if I talk about hipsters with my German friends ;)
> Also I saw an ad in Dutch "hipster" where it meant panties or women's underwear?
> Low-rise is a style of clothing designed to sit low on, or below, the hips. The style can also be called lowcut, hipster, or hip-hugger.
https://en.wikipedia.org/wiki/Low-rise_(fashion)
Yeah, it didn't really come up with German friends from other parts of the country. Though the Berliner epitomized "hipster" in the California definition of the word. I miss that guy...
Not really "cool person", more like "pretentious person".
I always understood it as "someone who is putting extra effort into finding obscure/novel things just to appear cool".
A pretentious person is a person who thinks they're "better" than others (whatever that means) for irrelevant reasons, like their taste.
A poser is a person who in addition doesn't have the good tastes to be better than others, and so he fakes their tastes. He's putting in effort in order to attain pretentiousness.
I would define hipster as synonym of poser. It's worse than pretentious.
I'd call that wisdom...
* There are new people going into software development all the time (because like some other poster said it's one hell of a cushy job). As a result, there are a lot of developers who spend a lot of time learning frameworks because they don't really know the language or the operating principles of the underlying platform/environment. This only makes them replaceable and easy to exploit. Differentiate and build yourself a moat by cultivating a deeper understanding of those subject matters that you personally find most inspiring.
* Churn is especially bad in frontend, but if you are already good at VanillaJS you'll do fine and be productive in any framework. You may even find it fun to learn how different tools solve the same problems differently. This requires you to be familiar with the essence of those problems, and not only the usage of the solutions. I suggest becoming familiar more deeply with the more time-tested tools, as they have the greatest mindshare and the most prolific ecosystems - so, more stuff out there for your to reuse and learn from. "Choose boring techology": https://boringtechnology.club/
* On a related note, if you do find yourself working in the Web ecosystem, I suggest brushing up on the history of JavaScript, especially how the transition from ES5 to ES6 and beyond was implemented. This is the ultimate source of most of the complexity that people have in mind when complaining about framework churn. The proliferation of React and TypeScript, and the related, somewhat forced migration from CommonJS to ESModules over the past 2-3 years, are a continuation of that.
* The "new shiny hipster framework" is a blip on the radar. The chances of being exposed to one in production are low by definition, and you should cherish them. If it's some particularly bad one you might spearhead an effort to replace it with something more sensible throughout, and get experience that will lead to better career progression. What's more likely is being exposed to (a) a specialized in-house framework which cannot be readily transferred across gigs, (b) a mainstream framework which gradually reveals its ugliness as you become familiar with it.
* Working with/on in-house framework could be a great opportunity for learning and applying higher-level concepts across the spectrum from development to business. Mainstream frameworks can be a bit depressing because a lot of them are open source in name only - they are a way for tech giants to get people to solve their problems for free, i.e. once you see what they're doing wrong you can't unsee it, it's all over the place, and you can't really do much of anything about it. Find the one you hate the least and learn how make it do something that its authors totally didn't anticipate - that way you'll know enough to fix it when it inevitably falls apart.
* Work-life balance is not a constant. The learning curve in this line of work is steep but the amount of fundamental knowledge that you need before you can be reasonably productive in any generic developer role is finite. (They say mastery takes 10000 hours. They also say that number is bollocks.) In the end, you gotta put food on the table, and you gotta stay healthy and not burn yourself out in order to... keep putting food on the table. Think laterally, don't get stuck in that loop, and think how to spend time on activities that you, personally, find meaningful.
Multiple people asked why they don't do remote work via UpWork. And the poster answered none of them.
Here it confuses me even more.
Why would someone with coding skills work for 350USD/month?
Can't you work remotely for $XX/hour?
The (good?) news is that the OP seems close to a typical burnout snap, after which they might be able to take the necessary risks required to improve their situation. It's not a fun time while it is happening, though.
Super smart engineers who would otherwise kill it in remote work.
2. Hard to say. I don't spend much time outside of work learning new tech, but I also try to find jobs where I get to practice them on the job, too (i.e. my current job is React, which I didn't know before taking this job, with various AWS/Azure tech I have to pick up bits and pieces of).
3. No, I wouldn't personally do that, especially on your salary. I've been able to get jobs without even sharing my github, which has almost nothing on it anyway, and nothing pertaining to the jobs I apply for (it's all game-related or some tiny scripts). I've also never had any interviewer ask me any questions based on my github when I have included the link. Also there have been times where I've been tossed a resume and been asked to interview someone in like, fifteen minutes, so I didn't have time to review a github properly. At best I'd check a portfolio website link if it was available, and read descriptions of the projects. I imagine many interviewers are given similar notice and don't have time to check your supporting links.
4/5. If you go the route of learning COBOL, you're going to be very limited in the types of jobs you can get and the industries you can work for (mainly government agencies and banks). I don't really know how lucrative it is, I've heard it can be, but every year more companies move away from it, so your options will keep decreasing. I personally wouldn't want to be in that position.
6. If you're only making 350 USD a month, I would definitely try to emigrate to another country. There's a lot more money you could be making if you were based out of another country (and still working remotely). I don't really know what to suggest there, as I've lived in the US my whole life and don't have those experiences, but there should be a path where you can increase your standard of living.
Not condoning tax evasion, but some countries deserve it.
Please try to take this serious.
People who've lived their whole adult life in "safe and civilized bouble" countries will ofc see in in reverse, but outside of the "safe zones" we currently live in, this planet is a nasty place and you're competing with nasty people, so properly taking context in consideration is the only way to take this serious and give people useful actionable life advice!
- there is a huge ecosystem of themes and plugins that need development and maintenance
- it’s not “cool” so you have far less hype and trends
- the basic tech stack changes pretty slowly and you mostly don’t need to learn “hipster frameworks”
The Wordpress field is saturated which means making a living wage is difficult. Even if you hit the lottery and release a popular paid plugin, it won't be sustainable in the long run.
Furthermore, Wordpress is unlikely to teach you modern development practices and even if you learn them by yourself you'll be hamstrung by the near-impossibility to apply them to that field.
PHP is fine (it's actually quite pleasant with modern frameworks), Wordpress is not.
Which probably means either 1) they're not paying enough or 2) there aren't any qualified candidates around - and as for why that is, see 1).
https://wagecentre.com/work/work-in-middle-east/salary-in-ir....
2. Learn React + any backend technology and you're fine
3. No. People don't really care about open source if you have experience (unless it is a highly notable project).
4. No. Stick with JS.
5. No. Software is the easiest best paying career by a long shot. Doubly so for someone without a degree.
6. Move to Canada
1. Yes you can, developers are still in high demand meaning the relationship employer / employee is not as one sided as in other jobs. That being said, if you get a visa sponsored by a company it can change that relationship. There are still lots of good companies out there though.
2. Depends on your specialty, some aspects of tech do evolve much faster than others. Frontend development tooling is one of them and it does require to stay up-to-date-ish. But usually it's not that hard to learn a new framework if you have solid experience in the domain. Backend, infrastructure development tends to have longer cycles.
3. If you are already cash constrained I wouldn't. Can you build your resume from your work experience?
4. COBOL is a niche technology, not dying anytime soon but you would constrain yourself to a small number of industries and companies. I'm biased by my own industry but web development (typescript) or backend development (go/rust/python) seem to be skills that would cover a broader set of companies.
5. Not sure how it is in Iran but in the US / Europe software development is likely one of the cushiest jobs you can get and one that has the biggest chances of being sponsored for a visa. Sure there can be lots of pressure from time to time, bad managers, crunch etc, but overall we have it easy compared to lots of other industries / jobs.
6. If you actually believe that "Iran is on edge of economic/social/life-basics collapse." my advice would be to try to get out asap. It will likely be a couple of years of hard work (to apply to companies, get a visa etc) but will be worth it down the road.
Good luck.
Instead, you have js work experience.
I'm sorry to see Iran undergo hardship. I love Iranian hospitality and literature. I plan to learn the language someday. I wish you all the best.
To answer your questions,
1. Yes, definitely. Especially in one of the countries you mentioned + Canada. I'd work for a non-profit or a university if I were you. Work/life balance is great.
2. Yes, you can have a life. Just don't do JavaScript. Go for a slow-paced field. Find a mature and boring tech and learn it. COBOL sounds good.
3. Probably. But your success depends on your emigration.
4. From the work/life balance point-of-view, COBOL sounds good. But finding a job is another question. If you think you can find a job, go for it. Otherwise learn a popular but mature language/ecosystem.
5. In your situation, I'd migrate first, get a degree in CS, and work part-time as a developer in the meanwhile. In the long run, this will be rewarding financially.
6. Go for it. You don't have kids. Things would have been difficult with kids.
I guess it depends, because I did not feel balanced at the University I worked at. Everyone was wildly stressed, taking on n+1 roles and responsibilities, and all of your work time was stolen by meetings and trying to get humans to manually do the bureaucracy between you and achieving your assigned tasks.
Focus on front end web design if you have to and partner with a local graphic designer to land bigger contracts.
feel free to DM on twitter if you need specific advice. I'm just a hamvatan but not a developer.
Sanctions are going to be a much bigger hurdle. I’ve known at least one Iranian citizen living stateside with a proper employer-employee W2 relationship, so I think you’ll be okay once you’ve got at least legal residency & work permit elsewhere, though a second passport may well be better. (I am definitely not a lawyer or sanctions professional.)
If you’re open to entrepreneurship, do you know anyone locally to you that runs their own business & collects payments from countries other than Iran? You could check with them for advice.
One more though, your origin (Iran) is unfortunately not doing you a favor. If you decide to follow an industry or alike, consider that you might fight some ressentiments / legal restrictions. For example, public, manufacturing or similar industries most likely will be very cautious at hiring someone from Iran.
Talented software developers are in high demand for PHP. It's used to build some very competent and complex applications and platforms, but not every PHP developer can work on those effectively, so clients are willing to pay well once they find someone who can work on those.
When it comes to COBOL, the main problem isn't actually the programming language itself, it's everything else around it. Most companies who need COBOL have a horrible tech culture & situation and are stuck with a pile of shitty, undocumented COBOL dating back decades.
If you're going to be doing COBOL, your problem won't be COBOL, it will be the archeology that you will have to do to reverse-engineer the existing system, the pressure you'll be under to deliver something fast under those constraints and the blame you'll take when it inevitably explodes (forget about CI/testing or a staging environment).
COBOL is not just a programming language but an entire ecosystem completely different from mainstream computing. Forget SQL DBs, forget UNIX terminals - you'll need to learn how to use & develop for mainframes - it's a closed ecosystem guarded by IBM which means there aren't many free resources available to learn from or get help, and it is so different that the skills you'll learn won't be transferrable to modern, non-mainframe development.
Furthermore, all of the above doesn't actually pay that well. I'm sure you've heard all the media attention about COBOL and how systems are failing all over the place because there are no developers to maintain them - well that's a lie, the problem isn't that there are no developers to maintain them, it's that there are no developers to maintain them at the price the company is willing to pay.
Finally, COBOL is mostly still used by governments or large companies which would be very hard to get into due to your origin.
Many companies that use COBOL/RPG use IBM i (formerly known as AS/400) computers, and you can get hands-on practice for free in Pub400 (https://pub400.com). The salaries are decent but not great, and the platform only changes a bit with each OS release, so you can build up mastery without burning out.
(2) definitely yes, but stay away from front end web stuff if you want to avoid it
(3) that depends on the visibility of the product and on whether or not you think it will help you land a job afterwards, a well respected maintainer of project 'X' or a high profile contributor would not find it all that hard to get a job with a company that is a large scale user of 'X'.
(4) that's an interesting thing, not the first one that I would try but I like your 'out of the box' thinking. Personally I'd go for something that is more in demand but that people dislike, such as either administrative software or embedded. The jobs are more interesting than they seem on the outside and typically job security is reasonably good because these are not boom-or-bust companies.
(5) you should definitely look for better jobs continuously for the first couple of years
(6) yes: concentrate on finding out which country is the most friendly with your country in terms of accepting immigrants and then work backwards from there. That's the biggest problem you will have to deal with the rest is essentially a side-show.
Why no resume? Just write down your experiences in sequence. Personal stuff can be included too, most employers of substance only care about skills at the end of the day.
I've met some young Iranians who made it out independently, even in non-tech fields (eg. architecture) in Southeast Asia. SEA is a good potential initial destination. Gets you out and networking and is not over the top (vs. western countries) for flights/visas. Bali, Malaysia and Thailand have a bit of tech presence. Don't recommend the other countries for various reasons but you could always try.
I heard Thailand recently flipped policy to offer 10K THB (USD$275)/year for a remote work long-stay visa, valid ~5-10 years IIRC. Unsure if it lets you get a bank account. (Compare ~AUD$8K=USD$5420 for a provisional immigration visa to Australia - if you qualify.) It's going to be chance to hit the right vein but there are 100% people in SEA who will appreciate your skills and willingness to commit for the opportunity.
Consider contact with the established Sikh community (generally trustworthy, international, reliable, moral types of good character by all accounts), or more generally crypto and tech meets (less so). Just reach out.
I'd focus on full stack javascript/C# development since it seems like you know some of that already. Get some experience freelancing if you can and build your resume up for when you move.
You'll need 1000's to 10's of 1000's of EUR/USD to move anywhere in the West, otherwise you'll end up in refugee centers from where it'll be exceedingly hard to get/keep stable employment. It'll be very hard to find housing on a budget anywhere where there are economic opportunities in the fields you're looking in, so expect costs of several thousands a month (let's even say just 2k for everything for the two of you) - and you'll have to be able to pay those until you get a job.
As you will know, after you leave Iran it'll be pretty much impossible to get any cooperation from the Iranian government to get any of your paperwork validated/accredited etc (I've seen real problems stemming from that with several Iranians in the diaspora of the guy I was talking about above).
Your wife's job will be very hard to impossible to do here without basically going through university again. And you/she will not be eligible for scholarships. Nobody will really think of her experience in Iran as being applicable in Europe (regardless of how true or not that is), save for some niche circumstances like her being able to find a job working for an Iranian company or a company that works with Iranian companies a lot. I don't have to tell you that there are very few of those around.
Not to be a Debby Downer, but at least if you plan to come to Europe, make very sure you know what you're getting yourself into. Fair or not, you'll be lumped in with 100's of thousands of other Middle Eastern and African refugees, and it'll be very hard to get your foot in the door in professional jobs in Western Europe (and I imaging in Southern- or Eastern Europe it'll be more difficult still, as you'll have basically 0 chance without speaking the local languages very well).
There are plenty of companies that like using their same old .NET or Java, you don't need newest JS...
https://www.canada.ca/en/immigration-refugees-citizenship/se...
OP’s wife being the main application to Australia is potentially more possible, though I would still classify as “very improbable”