She/They

  • 0 Posts
  • 28 Comments
Joined 1 year ago
cake
Cake day: June 30th, 2023

help-circle

  • See, when I was in school, they didn’t teach fail fast and if anything they told you not to. Nowadays, we have moved past that nonsense. I gave it a shot about a year ago, and it has made me a better programmer. I am not going to sit there and count braces, but things are a lot easier when you get the error cases over with and out of the way.

    There are always going to be exceptions, but I have personally found a lot of value in using ‘fail fast’, and making more smaller methods that say what they do. I am not always great at that second part, but it is a process. As someone with severe ADHD, it has made it a lot easier to work through problems. Sure, you can end up with more lines of code, but who cares. Compiler should be optimizing most of that shit out anyway.


















  • For the love of all that is unholy, learn and get comfortable with the command line. Go install WSL if you are on Windows. Not saying you have to be a master, but learn how to compile your code manually, get around the OS, tab complete, grep, ps, and other simple commands. Learn the basics of a text editor. vim/emacs/nano. Just pick one or two. Learn how to redirect output to standard and error out. Simple shell scripts.

    Debugger. If you do not know how to set breakpoints, with or without conditions, and inspect variables, go learn today. I have junior developers that can’t do this.

    Critical thinking and investigation. This is a rather loaded term, but your problem solving skills will go a lot farther than how your code looks. Bad but working code can be improved. Alternative solutions can be found. You at least understand the problem and an approach to take. If you don’t understand how something works, figure it out. Ask your senior team members. Spend time in the debugger and the source code, if available. Good documentation doesn’t always exist. You will not always find the perfect answer or tutorial on the Internet. If you are going to use code off the internet, you damn well better understand how it works and how to expand on it.

    Keep up with the standards and updates to the languages you use. A lot of tutorials can be out of date fairly quickly. Newer language features can be a huge boon and you get a sense of where that language is going. Older ways of using libraries and languages can be hard to avoid, but make an effort to check. Speak up to your seniors if you find something that may be useful or if something is now considered bad practice.

    Look at source code on GitHub/GitLab/Whatever and then the all mighty practice.

    In my opinion, once you can get a handle on the above, then you can go back and learn more advanced principles, algorithms, read textbooks, and things like that. They will make a lot more sense. This may seem a little opposite than what most people would say, but for me a lot of the things I learned in school or read previously started to click.