Live data from Hacker News

Ask HN: Which tools have made you a much better programmer?

news.ycombinator.com

121–130 of 519 posts

Re: Ask HN: Which tools have made you a much better programmer?

#121
post #57
post #54

If you consider processes as tools, there's one that I suggest to junior programmers bucking for responsibility/promotions. Twenty minute cleanup. Nobody is really going to notice if you spent 5 hours or 5:20 on a task. As you're closing up and getting ready to push your changes, look if there's anything you can do to make it look or work nicer. Eventually you start incorporating some of the lessons learned doing thi…

+1 to this. I've developed the habit of reviewing my PRs before publishing them. When you assume the role of a reviewer, you end up catching a lot of little (and sometimes big!) stuff, reducing the total turnaround time.

+1 to self code reviews, I almost always find stuff I've missed or could have done better.

Re: Ask HN: Which tools have made you a much better programmer?

#122

PlantUML[1]: Drawing any diagram helps me to have something concrete as it makes me think of the various components, connections and the invariants. It also gives a bigger picture. It is also very easy to learn and can be embedded anywhere rendered by Plant UML server or the rendering can be handled by your internal plant UML service. [1] - https://plantuml.com/

There are several VS Code plugins for PlantUML and Graphviz that allow for live rendering. That has proved very useful for communicating ideas without needing a drag-and-drop interface, and the result is a file that I can drop into a git repository.

Re: Ask HN: Which tools have made you a much better programmer?

#123
Flycut. It's a clipboard manager. I hit cmd+shift+v and I can scroll through my previous clipboard states. It's an amazing upgrade from a one-state-only-clipboard life.

"Flycut is a clean and simple clipboard manager for developers. It based on an open source app called Jumpcut. Flycut is also open source too: http://github.com/TermiT/flycut"

Re: Ask HN: Which tools have made you a much better programmer?

#125
post #21

Using multiple programming languages. Using Golang has helped me create better data structures, and using C helped me understand linking, using python helped me understand closures, and using Ruby helped me understand that I hate programming.

can you elaborate on ruby? i'm curious to understand your experience with it and what brought you to the conclusion that you "hate programming".

Re: Ask HN: Which tools have made you a much better programmer?

#126
post #22

- GNU/Linux + i3wm; complete control over my programming environment. - bash + GNU coreutils; seriously, take the time to be able to write helpful bash scripts which can run basically anywhere. - git; use it even when you're not pushing to a remote. Add helpful aliases for everyday commands. Build a good mental model of commits and branches to help you through tough merges. ( my ~/.gitconfig: https://gist.github.com/…

I upvoted the parent and want to emphasize vim key bindings. This is not necessarily vim the editor, it's your editor of choice in vim mode. Learning to use vim is like learning to touch type: it's initially a pain, but it's hard to ever go back once you've mastered the basics.

If you haven't learned to touch type (it happens, I didn't learn until I was 22), then first learn that, then learn vim.

FYI: Remap your capslock key to escape to use Vim more effectively.

Re: Ask HN: Which tools have made you a much better programmer?

#127
Better at coding and better Programmer not always converge.

To become a better programmer, I find _testing_ is a big booster. Not only it helps demonstrate compliance to specs, it also adds more confidence that you're in control of the code. It let's you experiment and change approaches.

Also I find a good help from _IDE_, even a simple as Geany [1], that lets me jump between the functions and also hint at the args. It saves time, and, again, adds confidence when exploring/extending new code.

And finally, the most imporant booster - _learning my limits_.That is when it's time to ask for help and not feel too defensive about peer review. This goes hand in hand with knowing what a good team is. Not just wishing for it.

Re: Ask HN: Which tools have made you a much better programmer?

#128

Years ago I switched from Mac OS/Apple when I became a developer/data scientist to linux based system. (ubuntu) I understand there are similarities between MAC OS and Linux... etc. Being on the same OS as most of the web servers saved me time in learning the basics of linux, bash, etc. Also at the time I couldn't afford to keep buying new software license. The only enterprise software I use is Navicat for user frienl…

In a similar vein, I am a primarily a mac user today after growing up on windows and linux (personally and for developments that run on linux as the end-system). I am quite confident that already having an intimate familiarity with Unix is what really unlocks MacOS as a powerful developer environment. I find myself much more appreciate of the positive differences that it provides over Linux and BSD, and much more understanding of deficits and things it won't let me do than I think I would be without that familiarity.

Re: Ask HN: Which tools have made you a much better programmer?

#129
When I finished my post-graduation in "Software Engineering". I feel so productive. I can release anything with very high quality if I have the necessary resources, and rework is a thing from the past. I can control the chaos, release often and confidently still having really good nights of sleep.

Re: Ask HN: Which tools have made you a much better programmer?

#130

- tests in watch mode. Either with --watch if I'm doing js with mocha or inotify if I'm doing another language. Tests or compile should execute on save, which in turn I configure in autosave. - making sure that I can execute everything from the console. It makes tickets reproducible, for my future me and my coworkers. - go. Error handling in go has very bad press, mainly because it's boring and repetitive. But one bu…

`fswatch` is a cross-platform way of monitoring file system changes, versus `inotify`. I use it for testing in the same manner as you describe, very helpful to have one tmux pane with code and another constantly showing the results of test execution.
Post reply on HN