Hey guys
Today, I’m here talking about how to better ourselves us developers. We’re always learning while working and that’s bad. We should instead learn in our own time and practice before trying to use our tools to resolve the bugs in the software and the features requests from the clients. Learning on the job takes that much more time to work on our things when we should only be working on what we’re being paid for. There are many ways to learn and I’m not saying that sharping your skills with code katas is the best way to do it. No. What I’m trying to say is that you should try to spend some of your free time and practice one of your many languages.
Through code katas, one can learn and practice many core and advances computer science/software engineering concepts. A code katas is a problem that must be solve in any way possible. The fun of doing them is trying different ways to solve a problem and see which way would be the best way to resolve the issue. Using a code kata platform such as Codewars, after solving a problem, you can see the solutions of other people. This way, even if you’re an advanced user of X language, seeing other solutions can bring you perspective and show some internal API function you couldn’t have thought of.
And yes, I know you want to become better. One cannot become a master of his/her craft without devoting time to practice and practice. Practice makes better. It’s undeniable. We need to practice and better ourselves. This way, you can be a even better software engineer at work and earn that well deserved promotion. If you’re an entrepreneur, well practicing will help you learn things that code bootcamp couldn’t show you because you have a limited time to see a bunch of stuff.
But let’s get one thing clear. It’s not productive to repeat the same problem. It does not bring you closer to the path of enlightenment. Let’s look at it this way. When we’re babies, we must practice for a long while before we can learn out to walk by ourselves. But after that, “practicing walking” doesn’t make your walking any better, does it ? Practicing the same thing will be beneficial if only you try to include constraints and twists to make it an even better scenario. For instance, well this time, I can only used one kind of data structure or I have to used a maximum of X local variables or I can only used a certain amount of character space.
Code katas bring you closer to the path of enlightenment in cases where you do make it harder and trying other problems. As you solve more code katas, try to take on harder problems. Doing so, this practice is actually worthwhile and those challenges will introduce you to new ways of thinking. I think you can pretty much gather that I strongly recommend acting this way. One thing that I must say is this: try to solve your katas without using an IDE. You’ll be able to remember your basics and try to focus on a simple solution without letting the IDE make life easier for you.
I’ve been talking about using efficiently code katas to improve yourself. I can’t speak for everyone out there, but I would like to attain mastery as quickly as possible. As I said before, to get to the level of skills that you would like to get, you need to practice at an higher level of difficulty. Being used to practice to a hard level, what you do on a constant basis will seem that much easier.
To become better, we must :
- Practice smarter. Not repeat the same things but try harder challenges or adding twists in scenarios and make those challenges harder.
- Cast aside some of your personal time. Doing nothing more than what you have to do won’t bring where you’d like to be.
- Don’t use IDE. IDEs will make it that much easier to use complicate constructs and will auto-complete your solution. Well, I’m saying that for people who are practicing for an interview. You have to remember your language API and be able to solve a problem in front of the technical team who’ll judge if you are at the right technical level.
- Look at other’s people code. See, when you solve a problem, you might think that the solution you have is the best one and that was the only way to do it. Looking at other people solutions will bring you clarity and will broaden your vision.
On an ending note, you can’t learn everything you want to learn through code katas only. You must also cast time aside for personal projects or try to contribute on open source work. All of this work is necessary to bring you a little closer to the level you’d to be on. And when do get on that level, try to go even further !
Something interesting to do is to fit the code into 510 bytes (like when writing a bootsector).
I once put a first-stage bootloader into a bootsector that *also* was an ustar file header for a symlink, i.e. a self-contained 512-byte piece of a tar file that can just be prepended. Ever since, our (MirBSD) boot floppies can be handled as tar files, saving a couple of sectors of filesystem overhead (on floppies, every sector counts).
LikeLike