Live data from Hacker News

Practising Programming

tratt.net

1–10 of 39 posts

Re: Practising Programming

#2
I try to do a few LeetCode problems a day as my own take on the “coding kata” idea. There is really a pretty small set of problems and subproblems that crop up over and over again in LC problems, so stuff like building a tree or graph traversal or performing a string or array transformation become very well worn and familiar tools.

Re: Practising Programming

#3

I try to do a few LeetCode problems a day as my own take on the “coding kata” idea. There is really a pretty small set of problems and subproblems that crop up over and over again in LC problems, so stuff like building a tree or graph traversal or performing a string or array transformation become very well worn and familiar tools.

I was wondering what one could do after finishing leetcode (not that I did), do you have any idea ? reading publications / journals to find new algorithms to study ?

ps: thanks for the nice suggestions folks :)

Re: Practising Programming

#4

I try to do a few LeetCode problems a day as my own take on the “coding kata” idea. There is really a pretty small set of problems and subproblems that crop up over and over again in LC problems, so stuff like building a tree or graph traversal or performing a string or array transformation become very well worn and familiar tools.

I was wondering what one could do after finishing leetcode (not that I did), do you have any idea ? reading publications / journals to find new algorithms to study ? ps: thanks for the nice suggestions folks :)

If you like maths then project euler problems can be quite fun. I'd also recommend https://codecrafters.io/ - I did the Redis challenge recently while trying to (re)learn Java and it was a good experience.

Re: Practising Programming

#5

I try to do a few LeetCode problems a day as my own take on the “coding kata” idea. There is really a pretty small set of problems and subproblems that crop up over and over again in LC problems, so stuff like building a tree or graph traversal or performing a string or array transformation become very well worn and familiar tools.

I was wondering what one could do after finishing leetcode (not that I did), do you have any idea ? reading publications / journals to find new algorithms to study ? ps: thanks for the nice suggestions folks :)

Good question. LC mainly deals in general-purpose algorithms, so if you're getting diminishing returns there, then my advice would be to probe your domain specialty for niche algorithms or data structures. That might mean journals or online communities. Like I'm sure there are hangouts for machine learning (ML) folks, for functional programming (FP) folks, for automation nerds, and so on where algorithms and approaches relevant to the niche are bandied about.

Another option is to use the LC problems as a test bed for your own exploration and "play" with solving problems. For example, I'm a nerd for optimizing algorithms and for practicing Java-style (not Smalltalk-style) object-oriented programming (OOP). So sometimes I'll find a way to optimize the LC problem in an interesting way. Or I'll deliberately use an OOP approach. Here are a few examples from the past week of me doing things like this on LC. Maybe it'll inspire you to hone your own particular interests in some way.

https://leetcode.com/problems/search-a-2d-matrix/discuss/197...

https://leetcode.com/problems/find-the-distance-value-betwee...

https://leetcode.com/problems/count-sub-islands/discuss/1974...

Re: Practising Programming

#6
That's fair, but if you code for a living and growing is important for your, you should carefully evaluate where you work.

Sometimes people dismiss certain companies. I remember my first boss dissing Google saying things like "how good can Google really be?". Now that I've experience it, I can say that career growth and learning between companies are not measure in percentage points or multiples, but orders of magnitude. The reason is simple: in some companies you might not learn anything or even pick up bad habits, while others will accelerate your growth.

I spent the first 7 years of my career in a low performing organization. A few year later I joined a Big Tech company, and in 1 year I grew more than those 7 years combined.

Re: Practising Programming

#7
> As someone of rather limited talent, I have long been aware that if I'm not proactive about learning, I will fall even further behind where I would like to be.

Then in his bio... Shopify / Royal Academy of Engineering Research Chair in Language Engineering.

I guess we have wildly differing opinions on what is considered rather limited talent.

But I don't want to downplay the blogpost by nitpicking here, his main point still stands.

Re: Practising Programming

#8
post #4

Earlier quoted context omitted.

I was wondering what one could do after finishing leetcode (not that I did), do you have any idea ? reading publications / journals to find new algorithms to study ? ps: thanks for the nice suggestions folks :)

If you like maths then project euler problems can be quite fun. I'd also recommend https://codecrafters.io/ - I did the Redis challenge recently while trying to (re)learn Java and it was a good experience.

Wow, codecrafters.io looks fascinating. Thanks!

Re: Practising Programming

#9
post #6

That's fair, but if you code for a living and growing is important for your, you should carefully evaluate where you work. Sometimes people dismiss certain companies. I remember my first boss dissing Google saying things like "how good can Google really be?". Now that I've experience it, I can say that career growth and learning between companies are not measure in percentage points or multiples, but orders of magnit…

Google is a great place to grow. Just do the complete opposite of every framework Google comes out with (and then usually kills a few years later) and you'll be a star programmer.

Re: Practising Programming

#10

I try to do a few LeetCode problems a day as my own take on the “coding kata” idea. There is really a pretty small set of problems and subproblems that crop up over and over again in LC problems, so stuff like building a tree or graph traversal or performing a string or array transformation become very well worn and familiar tools.

I was wondering what one could do after finishing leetcode (not that I did), do you have any idea ? reading publications / journals to find new algorithms to study ? ps: thanks for the nice suggestions folks :)

If you have any interest in front-end programming, bfe.dev is a great resource.
Post reply on HN