Rust: Refactoring something is a pain in the ass. For example, if I’m working on writing a new struct and think I need a lifetime as part of the struct, I have to add two annotations to each impl block where the lifetime is used. Although this has gotten better with lifetime elision, it’s still just a lot of boilerplate that makes it incredibly frustrating to deal with.
Python: Please let me have static types, I’m begging you (mypy is getting there, but it’s not perfect)
C++: After writing Rust, and then trying to move something without using std::move, 1000 lines of error messages leaves me aghast at how people are able to be productive in this language. I realize that you begin to see patterns in these error messages (e.g. trying to copy something without a copy constructor) and if you really take the time to read a handful of error messages, you can usually pinpoint what’s going wrong. But it’s a lot of work.
Engineers are paid extremely poorly in India. Even engineers with years of experience are paid below the United States’ one-person household federal poverty line (which was $12,490 in 2019).
Regarding software jobs: If you graduate with a Bachelor’s degree in Computer Science or a related field, entry-level software engineering jobs pay is around INR 25,000 per month (that’s $4,350 per year) in the big cities, and around INR 15,000 per month ($2,610 per year) in smaller cities. After 3-5 years of experience, their salary might rise to approximately double (e.g. to around $8,500 a year in big cities), but after that it grows very slowly.
Cost of living isn’t really that much lower in India, so the poor salaries aren’t justified. Rent and food is cheap, but everything else is more expensive. Things like laptops and smartphones are considered luxury goods, are usually all manufactured abroad, and subject to exorbitant tariffs and taxes. An identical laptop will cost 30% to 40% more in India versus the U.S., thanks to taxes. Therefore, software engineers making these abysmal wages, often have to save up for several months to buy a $300 laptop. Compare that to the $149,000 average base salary in the U.S. according to TripleByte: https://triplebyte.com/software-engineer-salary The ratio is around 20x to 40x.
This is a heavily IT skewed perspective about jobs and salaries. ISRO employs more than “IT” people. Looking at every job through the lens of IT is a weak take.
The parent comment is a generic comment about IT salaries.
ISRO employees are central government employees, while their take home salary might look small, they have other benefits like government provided housing (in some places, not in big cities), govt paid health care/reimbursements, access to central govt run schools, very good maternity leave (2 of the mission directors are women). And their salaries are adjusted for inflation (which the private sector IT people may not get; their fortunes are tied to their company perf & Rs/$ exchange rate etc.,).
Does a central govt employee make more than equally talented and well-placed IT person? Likely no. But they do enjoy stability (job for life), and other perks.
My general point is that salaries are abysmal in India.
their fortunes are tied to their company perf
The fact that salaries can increase and especially decrease is likely a uniquely Indian phenomenon. I have literally heard of people’s actual salary being decreased by 30% to 40% because the company was going through a tight spot. This sort of thing is unheard of in the U.S.
At the top American tech companies, you usually get significant stock grants or stock options that are directly tied to the company’s performance, but your salary never varies based on company performance.
My last job paid a $140,000 base salary, $60,000 in stock options, $8,400 in free fully-vested retirement account contributions, top-of-the line health coverage with Aetna and One Medical (that likely cost the company at least $12,000 a year), $2000 in healthcare copay reimbursements, at least $5,000 a year in free lunches (via served by stadium), another $1000 a year in gym reimbursement. The stock options’ value is entirely dependent on the company’s growth, but if the company was even moderately successful, my total compensation would’ve easily been over $200,000 a year. And, I only have a Bachelor’s degree + a few years’ of experience. Although, I should add, my visa for this was denied; something that I wrote about in: https://www.reddit.com/r/h1b/comments/buesue/denial_by_uscis_for_140k_salary_software_engineer/
govt paid health care/reimbursements, access to central govt run schools
You just reminded me of the fact that health insurance isn’t included with most jobs (at private companies) in India. Insurance, in general, isn’t common. People are always expected to pay out-of-pocket for all their health care. Also, I assume that ISRO employees only get care at govt-run hospitals. Most of my relatives in India (who are generally very wealthy, by Indian standards) never use govt-run hospitals or schools. They exclusively go to “expensive” private hospitals, and their kids go to specialized private schools that have a heavy emphasis on college entrance exam training (with an IIT-JEE focused curriculum). Of course, these private schools and hospitals are dirt cheap by American standards.
I think the situation in India is really sad. It pains me personally to even think about it. Talented engineers and scientists are being paid peanuts in India, compared to practically every country on Earth.
If you peruse some of the salary threads in places like HN, you will find that salaries for software engineers is abysmal even in Western European countries (culturally closer to US). US is an outlier that way.
It’s possible to appeal, but an appeal would take between 6 months to 2 years–time that HyperScience simply can’t keep waiting for me. It’s been quite devastating for me. I feel I’m being forced out of my home of over a decade. I’ve been in the U.S. most of my adult life, so it truly does feel like home. It’s hard to describe the trauma of dealing with the horrific U.S. immigration system.
Anyways, I’ve been keeping myself busy lately by working on personal projects. One of my favorite topics to daydream about has always been programming language designing. So I’ve decided to throw myself into it.
Right now, I’m actually reading the LLVM documentation[1]. As a kind-of toy/learning project, I’ll be writing a LISP compiler (or rather, transforming a LISP interpreter I’ve already written, into a LISP compiler). I feel like I rarely see new LISP compilers. It’ll be fun to create a LISP-to-native-code compiler via LLVM.
Very cool! You probably are already on it, but if not this is one of my favorite subreddits: https://www.reddit.com/r/ProgrammingLanguages/. It’s lots of folks helping each other out building languages.
You’ve probably also seen this before, but if not I’d recommend “Realm of Racket”, and “The Definitive ANTLR4 Reference”, which were 2 of my favorite books when I started to get into PLD.
Edit: So sorry about the immigration situation! I do hope it resolves beneficially soon and I know there’s probably nothing I can do (but let me know if there is!). Two of my close friends have been in similar situations (one a DREAMER and the other a postdoc), and it’s just so unfair to them and counterproductive to our country. I love your approach to instead focus on the personal projects instead of that ridiculous situation. As the saying goes “what you focus on increases”.
Rust: Refactoring something is a pain in the ass. For example, if I’m working on writing a new struct and think I need a lifetime as part of the struct, I have to add two annotations to each
impl
block where the lifetime is used. Although this has gotten better with lifetime elision, it’s still just a lot of boilerplate that makes it incredibly frustrating to deal with.Python: Please let me have static types, I’m begging you (mypy is getting there, but it’s not perfect)
C++: After writing Rust, and then trying to move something without using
std::move
, 1000 lines of error messages leaves me aghast at how people are able to be productive in this language. I realize that you begin to see patterns in these error messages (e.g. trying to copy something without a copy constructor) and if you really take the time to read a handful of error messages, you can usually pinpoint what’s going wrong. But it’s a lot of work.If you want types with Python… have you looked at Nim?
I used https://github.com/arp242/hello-css to build the latest avatar of my website - https://www.btbytes.com/
Jesus Christ. Nobody in the UK is going to use this software.
For we ‘muricans and other Anglophones who don’t use this term colloquially: https://en.m.wiktionary.org/wiki/spack
Right, I should have been more clear. Imagine introducing a piece of software called “retard” to your coworkers and trying not to get sent to HR.
What a git.
What package management do you use, Spack?
I know my office would run that into the ground pretty quickly.
This is so cool! Anyone have a link to why India’s costs are so low? What are they doing better than SpaceX? Is it just a lower cost of labor?
Engineers are paid extremely poorly in India. Even engineers with years of experience are paid below the United States’ one-person household federal poverty line (which was $12,490 in 2019).
Regarding software jobs: If you graduate with a Bachelor’s degree in Computer Science or a related field, entry-level software engineering jobs pay is around INR 25,000 per month (that’s $4,350 per year) in the big cities, and around INR 15,000 per month ($2,610 per year) in smaller cities. After 3-5 years of experience, their salary might rise to approximately double (e.g. to around $8,500 a year in big cities), but after that it grows very slowly.
Cost of living isn’t really that much lower in India, so the poor salaries aren’t justified. Rent and food is cheap, but everything else is more expensive. Things like laptops and smartphones are considered luxury goods, are usually all manufactured abroad, and subject to exorbitant tariffs and taxes. An identical laptop will cost 30% to 40% more in India versus the U.S., thanks to taxes. Therefore, software engineers making these abysmal wages, often have to save up for several months to buy a $300 laptop. Compare that to the $149,000 average base salary in the U.S. according to TripleByte: https://triplebyte.com/software-engineer-salary The ratio is around 20x to 40x.
This is a heavily IT skewed perspective about jobs and salaries. ISRO employs more than “IT” people. Looking at every job through the lens of IT is a weak take.
Very interesting numbers. Thanks for sharing!
The parent comment is a generic comment about IT salaries.
ISRO employees are central government employees, while their take home salary might look small, they have other benefits like government provided housing (in some places, not in big cities), govt paid health care/reimbursements, access to central govt run schools, very good maternity leave (2 of the mission directors are women). And their salaries are adjusted for inflation (which the private sector IT people may not get; their fortunes are tied to their company perf & Rs/$ exchange rate etc.,).
Does a central govt employee make more than equally talented and well-placed IT person? Likely no. But they do enjoy stability (job for life), and other perks.
My general point is that salaries are abysmal in India.
The fact that salaries can increase and especially decrease is likely a uniquely Indian phenomenon. I have literally heard of people’s actual salary being decreased by 30% to 40% because the company was going through a tight spot. This sort of thing is unheard of in the U.S.
At the top American tech companies, you usually get significant stock grants or stock options that are directly tied to the company’s performance, but your salary never varies based on company performance.
My last job paid a $140,000 base salary, $60,000 in stock options, $8,400 in free fully-vested retirement account contributions, top-of-the line health coverage with Aetna and One Medical (that likely cost the company at least $12,000 a year), $2000 in healthcare copay reimbursements, at least $5,000 a year in free lunches (via served by stadium), another $1000 a year in gym reimbursement. The stock options’ value is entirely dependent on the company’s growth, but if the company was even moderately successful, my total compensation would’ve easily been over $200,000 a year. And, I only have a Bachelor’s degree + a few years’ of experience. Although, I should add, my visa for this was denied; something that I wrote about in: https://www.reddit.com/r/h1b/comments/buesue/denial_by_uscis_for_140k_salary_software_engineer/
You just reminded me of the fact that health insurance isn’t included with most jobs (at private companies) in India. Insurance, in general, isn’t common. People are always expected to pay out-of-pocket for all their health care. Also, I assume that ISRO employees only get care at govt-run hospitals. Most of my relatives in India (who are generally very wealthy, by Indian standards) never use govt-run hospitals or schools. They exclusively go to “expensive” private hospitals, and their kids go to specialized private schools that have a heavy emphasis on college entrance exam training (with an IIT-JEE focused curriculum). Of course, these private schools and hospitals are dirt cheap by American standards.
I think the situation in India is really sad. It pains me personally to even think about it. Talented engineers and scientists are being paid peanuts in India, compared to practically every country on Earth.
If you peruse some of the salary threads in places like HN, you will find that salaries for software engineers is abysmal even in Western European countries (culturally closer to US). US is an outlier that way.
Wow, your story is crazy. I’m so sorry you are going through that. Is there a way to appeal? What’s the latest?
It’s possible to appeal, but an appeal would take between 6 months to 2 years–time that HyperScience simply can’t keep waiting for me. It’s been quite devastating for me. I feel I’m being forced out of my home of over a decade. I’ve been in the U.S. most of my adult life, so it truly does feel like home. It’s hard to describe the trauma of dealing with the horrific U.S. immigration system.
Anyways, I’ve been keeping myself busy lately by working on personal projects. One of my favorite topics to daydream about has always been programming language designing. So I’ve decided to throw myself into it.
Right now, I’m actually reading the LLVM documentation[1]. As a kind-of toy/learning project, I’ll be writing a LISP compiler (or rather, transforming a LISP interpreter I’ve already written, into a LISP compiler). I feel like I rarely see new LISP compilers. It’ll be fun to create a LISP-to-native-code compiler via LLVM.
[1] Specifically, this: https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/LangImpl03.html
Very cool! You probably are already on it, but if not this is one of my favorite subreddits: https://www.reddit.com/r/ProgrammingLanguages/. It’s lots of folks helping each other out building languages.
You’ve probably also seen this before, but if not I’d recommend “Realm of Racket”, and “The Definitive ANTLR4 Reference”, which were 2 of my favorite books when I started to get into PLD.
Edit: So sorry about the immigration situation! I do hope it resolves beneficially soon and I know there’s probably nothing I can do (but let me know if there is!). Two of my close friends have been in similar situations (one a DREAMER and the other a postdoc), and it’s just so unfair to them and counterproductive to our country. I love your approach to instead focus on the personal projects instead of that ridiculous situation. As the saying goes “what you focus on increases”.