Live data from Hacker News

Ask HN: How do you keep improving?

news.ycombinator.com

31–40 of 92 posts

Re: Ask HN: How do you keep improving?

#31
I for one will often (and usually naturally) befriend the most talented developers I work with. Talking code often and bouncing ideas off of them will really help you see where you're lacking or where you can improve.

Learning new languages and different paradigms can also play a huge role in how you approach future problems. Go to glot.io and play around with a handful of languages you've never touched.

Read up on various best practices and style guides. Read blogs on architecture, design patterns, etc. I read probably 5-10 hacker news articles daily, but I also watch many videos on youtube such as pretty much anything by Martin Fowler, Rob Pike or any of the other greats.

Code stuff outside of your comfort zone. If you're a web developer, try writing some games. If you're a game developer, write a web server or a blazing fast load balancer that handles TCP/UDP sockets and HTTP. I code random shit all of the time just to gain some exposure even if I'm never likely to do related work in the future. I probably have a few dozen Go programs I've developed just because I was curious how something worked.

I've been programming for over 17 years starting with C++ when I was 13. Over the years, I've developed stuff in C/C++, Python, Ruby, Lua, C#, Java, JS, TypeScript, SQL, Dart and Go for the past 3 years. Each language has given me new insights in how to tackle problems that knowing say just C++ alone would not have lead me to.

TLDR: Exposure!!, Books, Blogs and LOTS of bouncing ideas off of other developers.

Re: Ask HN: How do you keep improving?

#32
post #4

1. You need to recognize when you're not learning, for one thing. If it's easy, you're not learning. You need to push yourself into the zone of discomfort, where you feel clumsy and have a hard time. Now you're learning. 2. Find a mentor. Lacking that, find e.g. talk of someone explaining some hard techniques and then try to follow the advice. Even and especially if it feels clumsy at first. (More on those two here:…

I agree with everything you said. What needs to be feared is complacency. If you ever feel that things are going too easily - that's when to be afraid.

I will be the first to admit I let many _months_ of complacency pass me by before I identified the signs. All the above advice - forcing yourself into the haze of discomfort, breaks this away and forces you to learn new skills. Learning is often glamorized, but in reality, the actual _learning_ phase is painful and uncomfortably hard. I still don't enjoy it, even though afterword, I appreciate the knowledge and extra skills. Instead, it's important to build habits that lead to continuous learning, rather than one-off improvements. Paradoxically, it's easier to become normalized to regular discomfort than rare, unusual discomfort. It has never stopped being uncomfortable to learn for me, but I also have built it my psyche.

Re: Ask HN: How do you keep improving?

#34
Read other people's projects. Read books on design, architecture, patterns.

Deeply analyse those reads without ever touching a computer. If I feel the need to write code I usually write it in a paper sheet and analyse it.

Re: Ask HN: How do you keep improving?

#35
I work on progressively larger and larger apps. This teaches me more and more about coding in the large, in a very practical sense. Every time I learn about something new, my learning is explicitly motivated by the problems that I ran into while implementing the large app.

I started by making a reasonably conplex TODO app, which took a few months. This taught me about the importance of declarative (popularized by React) style programming, and MVC separation.

Then I moved on to building a Vim extension for visual studio code. This took about 6 months, and taught me a bunch about programming larger apps and keeping them bug free. I also learned a lot about open source maintenance. I learned why Redux-style architectures are important.

Then I moved on to working on a fully featured pixel editor. This has been my toughest app of all. I've been working on it for about 4 months full time at this point, and I've learned so much about canvas perf, js perf, the importance of end to end testing, ... I could go on for a very long time. :)

And this is all a warmup for an even larger app I haven't started on...

This approach seems to have worked well for me, and I'd recommend a similar style approach of working your way up from smaller programs to larger apps. You learn lessons from smaller apps that will save you a lot of time when coding larger apps.

Re: Ask HN: How do you keep improving?

#36
post #34

Read other people's projects. Read books on design, architecture, patterns. Deeply analyse those reads without ever touching a computer. If I feel the need to write code I usually write it in a paper sheet and analyse it.

I see this advice often. However I feel like it never seems to work for me. One of the big reasons why is that I feel I don't get a sense of all the incorrect approaches and why they don't work.

In a case where there are N incorrect approaches and 1 correct approach, by reading the code of the 1 correct approach I will get no sense of why the author dismissed the other N approaches. I feel this (understanding trade offs and judging which approach is best) is a crucial aspect of programming that is easy to miss when reviewing the solution that worked.

Re: Ask HN: How do you keep improving?

#37
I have been a developer (primarily Java) for 9yrs now. But I recently started learning PHP and now I am learning Python. I wanted to learn these languages not because I had to but because I wanted to. And the best way to learn, per me is to pickup a book or a website tutorial, go through all of it in one go and then come back and do some mini projects for yourself which will enforce you to apply the concepts that you learnt. It won't be easy in the beginning but I find this a better way to learn any new programming language or any new concept. Because this way you are actually putting your theory into practice and when you are doing so you also have the big picture in mind.

Re: Ask HN: How do you keep improving?

#38

Adderall.

I'm upvoting it because it's incredibly common in high schools and college. People have to do tons of repetitive, boring stuff. They have piles of work. Many turn to Adderall to stay focused enough to get it done.

Like it or not, it's how a huge chunk of people in college "keep improving" despite the challenges they face not getting better over time.

Re: Ask HN: How do you keep improving?

#40

Earlier quoted context omitted.

Worst idea ever, stay off the chemical cocktails. It only takes one objective look and a minimum of reflection to see what Big Pharma is up to, and it's not good for anyone. Speed will make you feel better-ish, but it will also turn you into a Zombie-like shell without substance. I wouldn't recommend drugs at all without knowing more about the person I'm talking to, but I strongly prefer natural alternatives like wee…

You wouldn't recommend Adderall (a drug with extensive(!) safety research) but instead you would recommend weed and shrooms? Also speed != adderall.

Adderall (a drug with extensive safety research conflict of interest, thus bias). I caught a guest (friend of a friend) snorting Adderall & she looked/acted like a meth addict.
Post reply on HN