Live data from Hacker News

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

news.ycombinator.com

231–240 of 538 posts

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

#231
post #107

You're going to read your code 100x more than you're going to write it. Optimize the code you write for reading. Your code will be in production either much longer or much shorter than you think it will. The 5 lines of code you spend three days perfecting will be replaced in a week, and that one-line 3am hack will be out there for ten years. A good walk around the block will help you solve a problem faster than stari…

> Find someone smarter than you and learn from them. The corollary is if you're the smartest person in your area, you're more likely to stop learning. Maybe. I think the other side is find someone smarter than you, but less experienced , and teach them. You learn much more from teaching than being taught. If you're at loss of finding smart adults, find some children ; they're probably all smarter than you, in the sen…

If you can't find someone to teach you, then yeah, this would be a good alternative. And so long as you're willing to put significant effort into correctly answering their questions, it should be a good substitute.

That said, teaching will not typically help you learn something new, though it will help refine the knowledge you already have.

For example, answering "Why is the sky blue" will give the chance to refine your own understanding of refraction and how that interacts with air, but it's unlikely to guide you into learning about quantum mechanics.

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

#232

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

You might like this piece of John Carmack's advice: If you're not sure which way is better, implement it both ways and compare.

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

#233

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…

This is why I always ask what is the business value of doing cool thing X on a project.

Using your words if "using a newer JS framework, a slightly tighter Java loop or the latest cool language." doesn't improve the business value of what the customer is getting out of the product, it gets a very big NO.

I became very much against "cv building driven programming".

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

#234
post #201
post #145

Earlier quoted context omitted.

Here's my problem. I'm not particularly prolific, so the number of ideas I have far outweighs my execution so far. This is mostly due to ADHD and other issues which I'm working on fixing, and while contextually relevant is not my point. This lack of prolific-ness means that I have a literal tower (it's rather intimidating) of wanting to build cute but objectively not so useful routines simply for the sake of building…

Your "problem" sounds different the one I currently deal with. My current solution is to have a backlog and spending time to prioritize them. I'd focus on my top priority, and continue writing down new ideas as they come into my mind. When I finish with the top priority, I re-evaluate to find out where the recent ideas fit in. I'd also look into reading about the agile methodology. If you're like me, ideas come in ve…

Also, "freeze" your "features" at versioned levels for each project.

If you want to add or alter something, that would be a new project.

Otherwise, you will never finish a project.

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

#235

Earlier quoted context omitted.

Would you think that it's not sexyness, but applicability? What values do you bring to the table that a SW company would need? Because I bet you that you could find some if you switched from targeting straight dev roles to something else that is part of a SW org.

Other than time spent programming on platform X, I'm at a loss as to what values I'd bring. Would I hire myself, based on my job history? Probably not. I'm hardly going to impress anyone with such an attitude! Any suggestions on alternate roles to look for? I'd worry that just because it's a software organization, it doesn't mean I wouldn't be filling their own version of cog in a cost-center.

I guess this varies by location, but on average there are so many more openings than there are developers that it shouldn't be at all impossible to find a company willing to take a chance on you, especially if you are willing to either work very hard or take a slightly under market value paycheck (for the very first job).

So time spent using X is great, but just saying "I can learn" and giving an example of how you're able to learn is often enough. Then just look at X enough that you know the gist of it, have a small little sample project in your github account, and you'll be good enough that someone will hire you.

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

#236
I've only developed professionally for ~6 years but here's the mandatory non-answer: make sure you prioritize "life" things too, especially when doing full-time plus side projects. My kids are still young but I already wish I had spent even more time with them when they were teeny.

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

#237
If you dig into the origins of a buzzword, it's highly likely there's a very valuable concept hiding underneath the accumulated cruft.

Had I known this sooner it would've sped me along considerably towards finding a lot of cool things that give me more motivation to program.

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

#238
post #96

Earlier quoted context omitted.

I have used Spring before and I like it quite a bit. I have tended to use vanilla Servlets for most of my projects recently and use libraries like Gson, Apache Commons, PdfBox etc etc where appropriate. I think if anyone wants to go down the route of using Spring, Play or similar then you MUST spend the time learning it in pretty deep detail. I've seen so many people with "Spring experience" on their CV who can make…

I appreciate the reply, thanks! Perhaps I will try to use vanilla servlets for one of my personal projects. I'll have to start reading the docs!

I have to agree with parent heavily and I used to be a long time Spring advocate since version 1.0.

The thing you will find using Java for a long time at any company is you eventually end up with your own framework / stack.... Yeah sure there is some underlying DI or Web framework but a majority of it becomes your framework and workarounds/plugins/extensions for whatever DI/Framework you choose.

I used to to think this was a terrible thing but these days I think using less dependencies, autoconfigure magic, and even using older technologies such as the Servlet API are just easier to maintain, understand, debug, stable and surprisingly easier to train new folks on.

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

#239

Earlier quoted context omitted.

Okay, so as someone who is less than 4 years into programming what are the key common shortcuts(not they're actual hotkeys just which ones are used the most) to learn for semi-advanced text editors and IDE's? EDIT: thanks for the advice guys, I use Jet Brains range of IDE's for school cause free licensing and I'm using VS for my summer internship. I'll look into emacs though, thanks for the suggestion!

Learn the multi-line edit thing in Sublime Text (or equivalent in your editor or IDE). Once mastered, make sure you do this brazenly in front of as many people as possible - it will blow their minds and probably get you an instant promotion.

you, i like you, you're funny.

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

#240
Make sure you get to learn a bit of everything, don't become too focused only in tech.

Yes, it is cool to know all latest features from language X or framework Y, but real work on a company is not only typing code.

Learn to get overview of how software architecture and development processes work.

Build your social skills to be able to bridge between technical audience and those not so technical.

Do not work in silos, make sure you get an overview of what everyone is doing, get domain skills on the business areas the product is targeted for, learn what customers actually do and want from the product.

Post reply on HN