In a career, it’s common to receive advice over the years. This advice is specific to programmers and can help take your career from good to great.
List of Pieces of Advice
In this summary, I list advice that can helped you in your career as a programmer and data scientist. It’s a quick read, but implementing the advice well can require a lifetime. I have been programming for years, and still, occasionally, I must stop and think of essential parts of the profession. Without further ado, here’s the list:
- Take your code and break big pieces of it into bite-sized functions.
- If it’s time to leave work and you still haven’t figured out the solution of the problem for the day….please shut down your computer and work on it the following day. Take time to rest and stop thinking about the pain for a while. It’s good to take mental breaks and come back with fresh eyes.
- YAGNI principle: Don’t create more code than necessary. Don’t do what you haven’t been asked to do. Don’t anticipate future issues. Make something that functions and does the job as soon as possible. Code only what is required to solve the current issue.
- You don’t need to understand each and every thing in coding under the sun, nor do you need knowledge of every existing framework to be a good programmer. The most important thing is to build and maintain a solid base of knowledge. Know a programming language in detail prior to starting with a Framework and understand the fundamentals (the solid principles). Also, learn how to write clean, well-documented code.
- KISS: “Keep it simple, stupid” or “keep it stupid simple” is a principle of design which states that most systems function the best when simple, instead of made complicated. And while this makes sense, it can be difficult at times to accomplish.
- Do not overthink stuff.
- If you’re working on an issue for too long, then take a break, and readdress it later. Many times, the greatest answers to the problems come to me when I’m away from my office. Going for a walk is also recommended when you upset with a client or coworker.
- Learn how to make helpful tests for software. Learn to do TDD. TDD is a process in software development which depends on repetition of a precise development cycle: Create a test, run each test and check if the new test fails, produce some code, run tests, refactor code, repeat.
- First, find the solution to the problem and type up the code afterwards. Do not begin coding without first knowing what you should do.
- Refrain from memorizing code, instead learn and understand the reasoning of the code.
- If you find, copy and paste a solution from stack overflow, then make certain that you know how the solution works. Learn how to use solutions from Stack Overflow properly.
- If you want to learn a new skill in coding, practice the skill. Make examples of the skill and make them functional for you because simply reading about a skill is not sufficient.
- Study code written by other people and let other people learn from your code as well. Pair coding and reviews of code are a good idea to gain new skills and perspective on coding.
- Don’t Reinvent The Wheel. If someone has already made something that works, then use it.
- The code that you have is the best documentation.
- Know how to find references for things with google. To do this, you must have experience. Read a ton so you know what to search for.
- You or someone else will need to maintain your code in the future, so create it with the reader kept in mind. Make the code read as though you’re reading a story.
- The best method for resolving a problem is to copy and paste it into google.
- Don’t give up because in the end, in one way or another, you will resolve the issue. There are days that are upsetting, but they will eventually pass.
- Make sure to get enough rest. The best method to resolve a problem is with a restful mind.
- Learn how to utilize patterns of software design. Design patterns are a way to solve common issues in software design. Each method is similar to a blueprint which you can customize in order to resolve a common design problem within your code. (Don’t Reinvent The Wheel)
- Make use of integration tools in order to automate as much as possible.
- Make use of code katas. A code kata is an programming exercise which is helpful for improving skills through practice and repetition. See Examples here.
- Refactor -Test-Refactor. Refactoring is a programming technique used to restructure existing code, which alters and improves the internal structure of the code without changing the external behavior of it.
- Seek help when you need help with something. Don’t lose time because you refused to ask for help.
- Practicing your programming skills will help you improve. As the sayings goes, “Practice makes perfect.”
- Although, occasionally comments are helpful to you, please don’t focus too much on them. They might be outdated.
- Learn and understand the development environment that you’re using, and invest in a powerful development environment, such as IntelliJ.
- Reuse things from your code in other projects.
- When making an application for the web, first consider mobile use of the app and the associated power and restrictions on bandwidth.
- Do not prematurely optimize code or refactor. It’s more beneficial to have a minimum viable product sooner rather than later.
- Never use inefficient shortcut methods to save time. Each time you write code, do your best!
- Practice writing code according to the documented standards.
- The people using your software are not tech savvy people. Take that into consideration when developing something.
- Always use a source control system such as Github or bitbucket and make small git commits regularly.
- Be consistent when writing a program. If you follow a particular style, always make use of that same style. If you write program with a lot of people on your team, use the same style of coding with everyone on the team.
- Continue to learn, but learn about more than just new languages or coding frameworks.
- Have patience when coding and enjoy what you do.
Thanks you for reading this. I hope these tips are useful for your programming.
Remember to take breaks. It’s important to take care of yourself!