Live data from Hacker News

Ask HN: What are you working on to become a better programmer?

news.ycombinator.com

31–40 of 95 posts

Re: Ask HN: What are you working on to become a better programmer?

#33
I am learning to build a database from scratch and teaching people the same!

It taught me how to take on a daunting subject, break it down and make it approachable for beginners. I learned how to reduce the initial friction so that it is effortless to get started.

I set it up in TDD style so you always get quick feedback, and it guides you in the right direction

python version: https://github.com/avinassh/py-caskdb

go version: https://github.com/avinassh/go-caskdb

Re: Ask HN: What are you working on to become a better programmer?

#35
I am studying system design as it relates to interviewing. I wish I could go back in time and study this consistently throughout my career.

Why? 1. I am not good at verbalizing the details unless I read or practice the concepts periodically, even though I grok the main concepts due to past experience.

2. Last 10 years has been a boom in horizontal scaling. I just learned what a MinCount sketch is and I did identical work in this space back around 2015. Designing Data Intensive Applications book was published in 2017 but I recently bought it.

3. Not all of us work for FAANG companies and don't always get to work on scaling problems. I find them fascinating though and fun to work on. Studying about it and doing a small side project is a great way to learn.

4. Money. There is a better chance of landing a role at a FAANG company with top pay if you can ace the system design interview and coding (leetcode) interview (at least before the recent downturn). Or a higher pay at 2nd tier tech companies by coming across as more senior.

5. Learning and growth mindset. I spent too many years at working chasing results and learning as I go, but not enough time in stepping back and investing in my training in areas (see above) that are very important but not very urgent. System design resources are plentiful and free, and it's easy to find good resources if you search via the lens of interviewing.

I've always been a little overwhelmed with the amount of new software/cloud tech that comes out and not choosing to start somewhere (unless my job at the time called for it). I've personally found that looking through the lens of finding a new job provides accurate and motivating results. Even if it's not studying system design, you can at least find out the hot skills by looking at senior/principal software roles. Aside from machine learning, I keep seeing AWS and Kafka on the list of tech aside from the normal python+linux skill requirements. And while the tech skills may change quickly (it was cassandra and rabbitmq back when I remember), the concepts in Designing Data Intensive Applications provide core foundations/understanding for a lot of depth in systems.

Re: Ask HN: What are you working on to become a better programmer?

#37

With every project, I'm always learning something new. I went from building projects with dozens of files to less than 10 and try to keep it to just a single page. I went from spending months on projects to spending no more than a month on a single project, sometimes taking up to just two weeks to complete. I think it's the lessons of sticking to the logic and getting straight to the point with programming. If there…

I really like your thought about cutting down the files. I find it’s a really good practice to write and make cheat sheets. This gets me into the habit of removing all the extras and try to get the core idea in a single file.

[dead]

Re: Ask HN: What are you working on to become a better programmer?

#39

With every project, I'm always learning something new. I went from building projects with dozens of files to less than 10 and try to keep it to just a single page. I went from spending months on projects to spending no more than a month on a single project, sometimes taking up to just two weeks to complete. I think it's the lessons of sticking to the logic and getting straight to the point with programming. If there…

Very right!

This is also the reason i always recommend to others to just focus on solving the main path in a program. Do what comes naturally and in as direct a manner as possible with no unnecessary distractions. This is the creative aspect of problem-solving. Don't bother about edge cases, exception handling, performance, design patterns etc. during this first implementation but just focus on meeting the specifications. This gives you a huge boost in Confidence and builds up Motivation for the next steps to make it industrial strength (only if needed).

The second step involves going over the first implementation with edge cases and exception handling in mind to make the Program Correct w.r.t. Specifications. The problem is now solved.

The third step is when you go over the second implementation and look to restructure/refactor the code with an eye to Modularity, Design Patterns, Best Practices etc.

The beauty with the above process is that, with time and experience the techniques in the second and third stages become assimilated and innate and now find expression during the first step itself! This is RPDM (https://en.wikipedia.org/wiki/Recognition_primed_decision) and you have now become a certified Expert :-)

Re: Ask HN: What are you working on to become a better programmer?

#40
Wouldn't say I got a lot better by writing small and medium sized personal hobby project, but it most definitely did get me confidence.

A cellular automata runner where you can define the rules and watch what happens: https://aperocky.com/cellular-automata/

Browse THIS website in terminal: https://github.com/Aperocky/hnterminal

A random simulation of prehistoric civilization and market: https://prehistoric.tech/

Every few months I get a bubbly idea and start some fun project, and they are usually small enough I get to finish them in a week or so, package them either on the web or pip/npm. It feels like a boost to software engineering as a job, which can occasionally get boring.

Post reply on HN