How can one set themselves apart from other programmers?
I am asking this because if there is a group of people who all can write the same code, how can you set yourself apart from the rest of the group? #technology #programming
The good news is: programming is a lot more than merely "writing code"! I started to make a list of things, but I realized that they all came down to one basic thing: design. (In fact, the first course for the computer science major where I went to college wasn't "Introduction to Programming", it was "Introduction to Program Design". For many of the assignments, they gave us a lot of the pieces of code already made, and the challenge was not "can you write this for-loop" but "can you assemble the pieces in a way that makes it easy to maintain and extend".)
When we interview job candidates and look at samples of their code, we certainly want to see code that works; but possibly even more important is code with good design decisions. Design incorporates a number of things:
1. Is the code broken into smallish, independent units that can each be modified separately? For instance, as needs evolve, a simple script might need to go from getting its input from a file to getting its input from another source. If "read this file" is baked into the code in many places, changing it is irritating (and likely to go wrong). If, on the other hand, there's an isolated part of the code that gets the input and sends it to the right place, then it's easy to change, or supplement, that one part.
2. Is the code documented? No matter how well-organized your code seems to *you*, someone who doesn't already understand it is going to have to make changes to it. (There's a good chance that "someone" is "you, two years later".) It's amazing to me how many people don't put comments near confusing bits of code, or for that matter put basic "how to use" documentation on the code they write.
3. Is the code efficient? This covers any number of things--using the right data structures, not looping over the same array repeatedly if it's avoidable--but the basic question is one of design. In particular, this kind of design shows that the programmer has put some thought into the code; rather than banging out some sort of "there, that works!" mess, they took into account things like "is this sufficiently fast" or "does this use too much CPU".
I hope that covers the kind of thing you were asking about!
Good question, but let me ask you something in return. We all have a voice, but some can sing bettter than others. We all can paint, but some are better than others. We all can think, but again, some are better. So what would a Pavoratti, a Picasso, and a Feynman all have in common? Being gifted, passion about that gift, and working very hard to being better every day.
True, many of us are gifted to write code, do you have a passion to use that gift to help others and do you wake up each day to write better today than yesterday? If so, you can be the best. Focus on writing perfect code free of defect and efficiency in design. If others take 100 lines of code to complete a task, consider how to accomplish the same task in 80. That is what separates the best from others.
Gary recommends the following next steps: