Earlier quoted context omitted.
It used to be better, now if you aren't running your own software company you are treated as a 3rd class citizen and you have to become sleazy "Saul Goodman" to prosper. I am super disgusted by the state of affairs right now, which is why I am running my own businesses, but don't expect this would get any better as the computing tech innovation pace has slowed down to a crawl, stabilizing existing power structures fo…
I guess it depends who you work for. I prefer to work at small new companies until they get off the ground. Then I shift to the next small new company. Small meaning < 30 employees for the whole organization. Pay isn't as great, and the work is definitely more under pressure, but I find that the only thing expected of me is quality work. I don't have to worry about trying to climb ladders or schmoozing management. I…
Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?
291–300 of 538 posts
Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?
#292* that there are too many things to build and too little time, so don't code for the sake of coding, but solve problems and touch more lives
* that I could have supplemented my coding skills with business skills, and built something that made me money
* that life is short, and coding isn't the only thing to do
---
Bonus tip: strong CS fundamentals, math > new hip language, new framework
Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?
#293Earlier quoted context omitted.
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.
Whenever you set out to write something, write it differently than last time you did it. It takes conscious effort and a lot of getting used to but actually stopping and thinking about alternative ways of doing something is a practice in itself. When you act on these thoughts, you're most definitely practicing, and quite probably improving. This approach scales from the tiniest pieces of code to whole systems. If you…
Four years in I'm hoping the OP has seen a pretty broad range of different styles and approaches and is now ready to hone their craft with smaller improvements, and is no longer struggling just to get something working so they now have some extra energy to put towards maintainability and overall system design.
It might be better to try to define and refine a consistent style that can be applied to an entire project, that way you have to evaluate all the options, and do everything intentionally, but also you're not sending the next dev back to the syntax manual every time they try to read a new function.
Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?
#294Everyone's code basically sucks, including yours. The boundary between a beginner and a coding rockstar really isn't very great unless you are getting into the realm of computer sciences, like machine learning. Learn from your seemingly smarter peers, but don't idolize them. Chances are they will leave the company long before you do, and you will figure out that their coding skills aren't all they are cracked up to b…
Pushing that hate for legacy code to your own self is important, as it as a good motivation to improve (for us narcissists at least).
Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?
#295Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?
#296What I have learned is: * Typed languages while more complex are worth it (circa 12 years ago I was a heavy scripting language fan) * Unit tests that heavily use Mocks are almost always a bad sign. Brittle tests suck. Don't increase coverage for the sake of it. * Get it done and move on. Try not to obsess on little details that add no value. * "It depends" * NIH (not invented here) is not always bad. In general it ac…
Or perhaps you mean "strong typing"? Because Python is a "strongly typed" language: It does not do automatic conversion of types, if types are incompatible, an error will be raised. Which I agree with.
But it is a dynamically typed language: You don't need to declare types, and, most importantly of ALL, functions and containers (lists, etc) are not bound to a specific input data type.
I do think the combination of strong typing + dynamic typing is a great combination.
Also, amen brother on your thoughts about Unit tests. They have been greatly overblown these last years.
Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?
#297Earlier quoted context omitted.
If you do all the other recommended things, you'll start hanging out with people who spend money to solve real business problems. The projects will come to you then.
Would you say this is true even if you're not living in a tech hub like SF?
Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?
#298Everyone's code basically sucks, including yours. The boundary between a beginner and a coding rockstar really isn't very great unless you are getting into the realm of computer sciences, like machine learning. Learn from your seemingly smarter peers, but don't idolize them. Chances are they will leave the company long before you do, and you will figure out that their coding skills aren't all they are cracked up to b…
Totally agree on the personality and grooming points you made. You need to be good at making people know exactly what you have achieved. Shout about it on slack, fire up google docs and write some brief documentation on a new feature you implemented. Others within the company won't be actively looking at your contributions. They will notice who stands out, who is taking initiative and touching base regularly. Unfortu…
Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?
#299OOP is just a sliver of it and the typical ALGOL-based languages you're learning are a small piece of what programming can be. Learn functional programming now. Learn about immutability, referential transparency, and data-oriented programming. Even if you continue down the imperative, OOP path afterward, this knowledge will change the way you approach every design.
There is so much more to learn, and so much more I could reveal; you'll get there, though, and it'll mean more because you did it yourself. Keep at it.
Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?
#300Stop feeling guilty for not finishing side projects (only finish the good ones).
Adapt not just your skills, but your learning techniques (you're not in college any more, and the learning landscape is evolving quickly).
Don't be overly loyal to your company, at least more than is rational (their loyalty to you is limited to shareholder return and their basic humanity). This isn't to say you should bail early (as you won't learn or ship anything real), but value your own career over the number of years you stay with one company.
Look ahead regularly: where do you want to be in 5 years? It takes 5 years to get somewhere (like front-end, back-end, kernel dev, UI designer, etc.). As this question EVERY WEEK, and do something about it.
Make good habits: your habits are your learning and productivity, this includes the wetware (i.e., you).