The best way I’ve found to become a better programmer is to continue to practice solving real world problems (and see how other programmers solved them too). It keeps you focused with your time instead of wasting time on silly things like your tab/space size, white spaces, TDD vs. test first development, and all those silly debates that do nothing to add value to end users. It gives you practice in mapping real world…
Ask HN: What are you working on to become a better programmer?
81–90 of 95 posts
Re: Ask HN: What are you working on to become a better programmer?
#82I am becoming more and more convinced that everything is a matter of tradeoff in computer science, except two things - TDD - Clean Architecture That's what I am currently learning.
Hate to break it to you, but those two are trade-offs too. Not that they aren't worth learning, of course!
Re: Ask HN: What are you working on to become a better programmer?
#83I build things that I don't know how to build, mostly in C++ (because I like the language and I want to get better at it, especially the newer parts!). I built a programming language as a library and put the entire process on YouTube. I just recently built a job queue worker pool library. Next, I'm going to tackle building a HTTP server as a library, hopefully supporting HTTP/1, 2, and 3. Just build things that push…
Re: Ask HN: What are you working on to become a better programmer?
#84Taking Eric Normand's course Beginning Clojure ( https://ericnormand.podia.com/beginning-clojure ). As someone with most of their experience in JavaScript and Ruby, I really like how Clojure is just so _different_. It's like someone who speaks English learning Chinese instead of a similar language like Spanish. I think doing that opens your mind and teaches you more than if you learned something that is "more of the…
I completely agree with your point about learning something different. Clojure is really good at handling immutable data, lazy evaluation, macros. So you can write elegant code that would be inefficient/unweildy in something like js or python
Re: Ask HN: What are you working on to become a better programmer?
#85The best way I’ve found to become a better programmer is to continue to practice solving real world problems (and see how other programmers solved them too). It keeps you focused with your time instead of wasting time on silly things like your tab/space size, white spaces, TDD vs. test first development, and all those silly debates that do nothing to add value to end users. It gives you practice in mapping real world…
In addition to this I think picking problems that you don’t immediately know how to solve but is within your wheel house is important. Also sticking with a single problem or domain. Constantly starting and never completing things doesn’t expose you to the next iteration of challenges.
This is so important and something I had not realized until recently.
Re: Ask HN: What are you working on to become a better programmer?
#86This is what I am currently planning https://sijinjoseph.com/programmer-competency-matrix/
Re: Ask HN: What are you working on to become a better programmer?
#87Earlier quoted context omitted.
Hate to break it to you, but those two are trade-offs too. Not that they aren't worth learning, of course!
I don't consider them to have any tradeoff. So far I am not losing any time applying TDD. And Clean Architecture seems common sense.
Clean architecture as a goal is, of course, uncomplicated. It being a good thing is assumed in the term "clean". However, it is often only one of a set of competing goals and in practice sometimes genuinely has to be sacrificed in favour of hitting a deadline. Spending a year designing a beautiful cross-asset trading application for a new hedge fund is not much point if, in the meantime, the hedge fund goes bust because it can't trade.
These are both trade-offs. TDD reduces flexibility (there are purists who will say you're doing it wrong if that's the case, but in that case pretty much everyone does do it wrong and that in itself needs to be accounted for / traded off). Clean architecture can require more time/resources than a "dirtier" approach to achieve a specific short term goal, and that short term goal can genuinely be more important.
I'm not arguing against either, of course. They are both important and you should learn them. But an experienced developer learns that everything is a trade off.
Re: Ask HN: What are you working on to become a better programmer?
#88Earlier quoted context omitted.
That’s a cool team setup! As a fellow computational scientist without much formal CS/SwEng background, do you mind sharing any insights you’ve found valuable so far?
One thing is that the members of the group all have different levels of interest in programming, ranging from None to Expert, even if we're not software developers. Just getting everybody to use Git has been beneficial. It's OK to start out with dirty code. Within a tight team, it's OK to make breaking changes if you warn people and help them fix their stuff. We have just begun to adopt a discipline where nothing lea…
I've been asking for some mentoring on how to manage a shared project, where more than one person is modifying it. For instance, learning how to handle things like pull requests and merges, rather than just using git as a backup drive. I'm still at the front end of the learning curve on that.
I already know that there's a tradeoff, just from being adjacent to a real software team: Software product development is painful to watch because it seems so slow and bureaucratic. And OMG the meetings on top of meetings. But the devs have to strike a balance between reacting quickly to changing needs, and maintaining their sanity over lengthy project lifespans.
The devs think what we're doing is painful to watch too. ;-)
Re: Ask HN: What are you working on to become a better programmer?
#89I am trying to see if I can work on more interesting problems. Julia Evans has this great quote: "I have one main opinion about programming, which is that deeply understanding the underlying systems you use (the browser, the kernel, the operating system, the network layers, your database, HTTP, whatever you’re running on top of) is essential if you want to do technically innovative work and be able to solve hard prob…
Re: Ask HN: What are you working on to become a better programmer?
#90I’m trying out streaming on Twitch: twitch.tv/devtailsxyz Mainly focused on learning rust while streaming. Streaming forces me attempt to explain what I’m doing which often shows me what I don’t properly understand.