Live data from Hacker News

Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?

news.ycombinator.com

61–70 of 538 posts

Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?

#62
Expand your experience with C#, Python and JavaScript. Nothing gets past those three (you could add SQL to the mix). Take on as many projects as possible, preferably with increasing technical (not business) difficulty. If you plan on starting your own company, get in bed with someone with stellar business development/marketing skills, while you focus on developing/maintaining the product/service. Under this scenario, also retain the services of a good lawyer. You'll be happy you did.

Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?

#63
post #36

If 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.

Take on bigger technical challenges and keep a notebook for writing down new concepts you learn along the way. Of course the notebook could also be in software. But write. It'll help you internalize stuff.

Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?

#64
This might sound cheesy but mine is to pay attention to your inner state of mind. If you love coding then don't let yourself get drawn into management just because it's "advancing your career", and likewise if you find you enjoy making a broader impact through managing a team or expanding your skillset then do that and be okay giving up code.

If 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
- What rhubarbcustard said: get interested in the business. This is especially important if you work at the bottom of the stack. You must understand what you users (higher-level developers) want, what the company's customers want, and what the company itself want.

- 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?

#66
post #36

If 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.

If you are writing software, learn design patterns and create some example application using them to really understand where they fit. Doesn't really matter what language - object oriented one would obviously work best. There are also books on architecture and integration patterns.

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?

#67
post #57
post #52

Earlier 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…

> which compares to a clearly achievable outcome which tens of thousands of people of similar skill levels get offered every year

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
I have been developing professionally for 20 years and I'm in my early 40s. What I've learned:

* 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?

#69

That 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…

Are you using a java framework on the backend? Something like Spring maybe? I'm just curious, I've been thinking about using Java for the backend of my own projects.
Post reply on HN