So much truth in that post, though I found it a bit histrionic. but I can't stress this enough, (especially for young developers) work hard but keep your eyes open.<p>Remember to ask yourself, "if this startup/firm/company went to shit tomorrow, what would happen to me?" ... if you think that people at that firm are going to take care of you when things get bad ... slap yourself. Just like in the OP, you might luck out and have someone care enough to give you a soft landing, but that is the exception and not the rule. Always make sure you don't get caught out there,<p>- passively scan the market every 18 months and go on an interview or two. At worst you'll realize how much you're being taken advantage of, at best you'll realize how lucky you are to have your job.<p>- Stay in touch with direct contacts at companies that sound interesting who reach out to you, especially on linkedin (I ignore 3rd party developers). If they took the time to reach out to you, just respond with a "Hey I'm not really looking to leave right now but lets stay in touch". Grab coffee with them, and find out what they're up to. This way if everything goes to crap you have a warm lead for gigs, instead of competing with your teammates to get your resume in front of hiring managers in your city<p>- Keep developing your skills, get on mainstream technologies right after they go mainstream/hit critical, that will make it easier to not chase every shiny new fad. That will increase your marketability and make it easier for you to find opportunities that your peers will not<p>Above all, don't let being an engineer blind you to company politics. Pay attention to whats happening, read the tea leaves so you can be ahead of bad news ESPECIALLY if you are an immigrant. This has served me well over the years. Once I quit a job because I got a bad feeling that new management cared more about head count than quality ... lo and behold, my replacement was laid off just 6 months after being hired.