News for hackers. Stuff that matters.

mikasjoman

After reading this thread, now I get why /r/financialindependence is so full of IT guys like me. We got so roasted during 2001, that we never ever again want to be dependent on our cosy well paying jobs we know not to take for granted. I think FIRE is mostly an insurance for us who has seen those dark days. Like 50% of the other swedes working in IT, I got kicked out of the trade for many years. Moved to China, had a crazy wild life there, married there and moved back to Sweden after 12 years. Currently work in one of the four big IT consulting firms. After the 2001 IT bubble/crash, I still today fear that the crash will come again and wipe us out. Today I grow a healthy sized emergency fund and my investment portfolio is very hedged against a stock market crash. I suggest the same to anyone who asks me for advice.
Re:Ask HN: Germany vs. Canada for Tech Jobs? on Sunday September 29, 2019 @11:28AM (#21107582)
It's really really hard to get visas if you have an Indian passport. Especially if you are not invited by a firm.
As someone who employs developers, I don't really even care why it went South - well at least if you didn't wreck havvoc at the place. Startups are big bets, and they mostly go south because most ideas don't work out. I would be interested to hear what you learnt though - if you can reflect well on things going south. What I really do care about is your skills and your ways of working with colleagues. I care about technical know-how, clean code/defensive/architecture, testing your code, awareness of non-functional requirements and how you work to ensure your code doesn't suck or is even dangerous to my clients/citizens, the ability to be a mench that contribute to the team delivering. Those are my standard, and they have nothing to do with your startup going south. So don't worry. I don't think any other managers would care too much either.
I don't see any difference between a mailfunctioning piece of software creating serious harm to that of a crashing bridge. They can both kill, create huge social disturbance and leave people ruined. The problem is that the field still largely just thinks of them as bugs when it comes to software. That we have an abundance of programmers not taking software engineering as serious as the mechanical engineer is a huge problem today. When someone gets hurt from a bug, the software engineer mostly gets away with it (or get a reprimand from the boss) and doesn't get his/her licence to write professional code away. To be honest, what we would need is a professional certification where the software engineer should at random be required by law to be audited about his/her code and potentially be forbidden to work with some type of projects if it doesn't pass. I have seen way too many nasty outcomes and suffering during my career in the industry to hold any other opinion. We have real software engineers out there who write clean, rigid & maintainable code - but the industry is flushed with hobby tinkerers allowed to work on projects that can result in serious harm. Calling oneself a software engineer should be regulated, audited like any other engineering field. That we don't require it, leaves us with the nasty results that is an ongoing disaster. Anyone can write a piece of software, the way anyone can build a bridge. Ensuring neither of them come crashing down and adhering to principles and practices that doesn't make it come crashing down with high certainty is what's makes engineers different. If you have read the book "structures - or why things didn't fall down", you know that those other engineers from other fields also fail on and off. The difference is that in software we just keep building the next bridge go come falling down when the previous broke.
Definitely not too old, Dev manager here. First step, study some programming courses using video where you build full stack projects. F.eg. meteor JS by Stephen grider on Udemy.com or the one by Andrew Mead (possibly better). Take both courses because you get more training on one framework before learning other stuff. Why meteor js? Because you can focus at the one language everyone needs in web development; JavaScript. Nobody can escape learning it given that it rules the web. Also you don't want to learn multiple languages as a beginner, because it makes your learning curve much harder. Then build something, for real and release it. The smallest thing you can imagine that would improve somebody's life just a tad and put it up online. Then continue extending it with more features, improve what you already built, and release at least weekly. Second, you lack a CS degree. BUT there is tons of people with CS degree that write crappy unmaintainable low quality code. Lucky for you I say, because with some effort you can use this widely spread quality disaster in the field to outshine many of those with fancy CS degrees. Most juniors with CS degrees I meet doesn't have a clue on how to write high quality maintainable code. So the next step would be to focus on that. How? Order these books, read them, take notes and practice the concepts: Clean code, Pragmatic programmer, Code complete. Second practice unit testing and although it's a bit hard when you begin writing them, just keep at it. Almost everyone I interview for software engineer positions seriously lack understanding of quality practices such as: clean code, defensive programming, unit testing etc. Since quality problems cost me millions - I would pick a junior without a CS degree but that has competence in those quality practices over an intermediate/senior lacking those skills (big majority I interview). Analysis and design is also important, but you can read up on those subjects as you move forward. To conclude; just learn the basics, build stuff and release often. Then remember this is an engineering discipline, it's not a business where crappy code belongs (sadly the business is full of it). Excel at quality practices and you will definitely raise a lot of interest from interviewers. This advice is the same I would give any newly baked CS graduate. Why? Because crappy programmers cost us more support, bug fixing, slows down development and so forth. If you decide not to be part of this ongoing software quality disaster, you can quite quickly become a very interesting candidate.