Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?
61–70 of 538 posts
Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?
#62Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?
#63If I could go back in time and give myself advice it would be: 0) Nothing is too hard to do, no matter how much those doing it might seem like towering titans many levels above you, or how out of your reach it may seem. Nothing is too hard, there are only things that take time, and things that take more time. If you put in the work, those titans will be your peers before you realise it. Of course, you can't do everyt…
Regarding 2, how do you suggest I avoid "spinning my wheels and learning nothing"? Over the last 6 months I've becoming increasingly aware of this problem with me, but I don't know how to fix it.
Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?
#64If you start going down a path that makes you feel less happy, take a moment to ask yourself why that is, and what you're getting from that tradeoff. If you can't answer that question in a way that makes your inner mind happy then figure out a way to change course. And a slightly higher salary is not a good reason.
Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?
#65- You must decide where you want to go next. The first thing you should think about is: three years from now, will you take the Manager path (lead a team) or the Individual Contributor path. If you choose IC, do you want to specialize, or you want to broaden your skillset and become more of a generalist? In any case, I would say work on soft skills, broaden your horizon (e.g. learn new languages, write front-end code if you do backend and vice-versa, etc) and learn one to three domains very well (look up "T-shaped", this is where you want to go). But focus on the part you will need the most for your next step.
- If you go for the generalist IC route, try to work as close to production as possible. That means: deploy your code, monitor what it does to the servers (or machines) it runs on in the wild, watch how real users use it. Also, it is time to learn how your tools (build system, programming language, OS...) work.
- If you specialize, pick something with a future, engage with the community, and if possible with Academia. Sometimes when I talk to engineers and mention I read research papers they think I'm crazy, but there is no way you'll be good at an R&D topic if all you do to keep up with research is watch videos and read popular science blog posts.
- Have fun. Don't burn yourself out working too much. Keep doing fun side projects, they teach you things you don't learn in a professional setting.
Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?
#66If I could go back in time and give myself advice it would be: 0) Nothing is too hard to do, no matter how much those doing it might seem like towering titans many levels above you, or how out of your reach it may seem. Nothing is too hard, there are only things that take time, and things that take more time. If you put in the work, those titans will be your peers before you realise it. Of course, you can't do everyt…
Regarding 2, how do you suggest I avoid "spinning my wheels and learning nothing"? Over the last 6 months I've becoming increasingly aware of this problem with me, but I don't know how to fix it.
For everything in your tech stack - find out the sweet spot use cases and the ones where really you should use something else. For example with databases - don't repeat your data (aka normalization) is common - when does that not apply?
Spinning your wheels would be things like trying new languages, frameworks, etc. for the sake of just trying them out. It's like going to a car dealer and test driving without any real need or intent to purchase - literally spinning wheels :) You might be fooling your brain that it is learning when you are really just trying something new that is nearly the same as something you already know.
Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?
#67Earlier quoted context omitted.
> AppAmaGooBookSoft Interesting... I have always steered clear of such jobs because I felt I would be just a cog in the machine. It seems to me only a select few in those organizations ever shine (and most of them achieved their status before joining AppAmaGooBookSoft). Am I mistaken?
I know a variety of folks there, and their experiences range from "cog in machine" to "really couldn't imagine working anywhere else", and there are a lot of machines you can be cogs in that don't pay $300k (ask the former Japanese salaryman). The main reason I mention it is so that everyone knows to aim for a package (compensation, skills growth, interestingness of work, life happiness, whatever) which compares to a…
Are you asserting that those five turn over a majority of their mid-career engineers annually? That's the only way I see the tens of thousands number being accurate.
As for "mere mortals", I think most of us realize these companies hire them. Hell, I've been interviewing for my company a lot recently and a number of the people from those companies have been underwhelming at best (some to the point of causing me to wonder how they got hired there and I didn't). The issue is that many of us have soured on the random bullshit in their processes and have decided to stop throwing ourselves at it. I think it is a disservice to the up-and-coming not to acknowledge that and for them to realize it is "realistic" in a similar way that hitting a number in roulette is.
Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?
#68* Salary compression is real: most companies are not going to keep giving you raises to match what the market would give you for your skills. They would rather you leave and take all of the institutional knowledge with you than pay you the amount you could get elsewhere. Even if that means hiring someone else at market value.
* Don't get comfortable at a company to the point you're not getting new experiences and learning new skills. Don't become a dinosaur.
* Even if you don't want to become a manager, when the time is right and you have the right skill set, demand a title with "architect" or equivalent in it. Titles are B.S. but people listen to developers with "architect" as part of their title. I insisted on the title and now I'm being recruited for much higher salaries even though I had the same responsibilities as a "senior".
* Good local recruiters are your friends. They can tell you salary ranges for a job and they do a lot of the hard work for you.
* know how to calculate your contract rate if you're doing contract work. Your rate will be different if you are a W2 contractor vs a 1099 contractor. Take into account self employment taxes (1099), the lack of PTO, the time between contracts etc.
* Whether you are a contract or perm, realize that you are still your own company. Your employer is your customer. Do you your best work but never feel a sense of loyalty that keeps you from jumping ship for higher pay. They don't have any loyalty to you.
Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?
#69That shipping stable software that works and meets requirements is what people really want. In other words, what the non-tech business people want, or your customers want, is software that fixes their problems, makes their lives easier or makes them more money. It's easy for us programmers to become fixated on using a newer JS framework, a slightly tighter Java loop or the latest cool language. Took me a few years to…
Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?
#70- "how to solve it" by george poyla
- asking more "why"s to problems