The most successful corporate programmers, and their IT managers, have earned their promotions and their high compensation by their success in implementing critical projects that solve business needs. Their work shines through the output that the end user and corporate management can see; the improvement in productivity the programmer produced can probably be measured as return-on-investment or payback for the IT development work. Unlike techies, these productive programmers are truly creative; they find ingenious solutions to a problem when other programmers are stymied. But they do not doodle away the day foolishly trying new ways to solve a simple problem.
A grand total of zero end users and top corporate managers will ever look at the program code used to implement that improved business function and marvel at your coding ability. The end user doesnt know and doesnt care what your programs look like, as long as they get the needed jobs done. The smart corporate programmer will use the simplest, most basic program code to implement his projects, reserving his intense focus for the business function being developed.
I have watched techie programmers spend days, weeks, months developing a fantastic array of programming tricks and sophisticated techniques when they could (and should) have been tackling available high-visibility and creative corporate IT projects that might save the company millions of dollars. Then the techie wonders why the nontechie programmer and his manager who work on those high-visibility (and sometimes high-risk) projects got promoted. And while the techie is straining his creativity on routine tasks , thousands of other techie programmers around the world may be developing the same clever techniquesleaving him just an average techie programmer after all.
Your programming manager is most probably not as good a programming technician as you are. And the VP of IT and the senior programmers in your IT department are most probably not as technically adept at programming as you are. That should provide an indication that its not technical skills that will get you to the top. Put another way, excellent technical car mechanics spend all day under cars on lifts and getting greasy, while the used car manager makes a fortune with his knowledge of how well the cars on his lot run. It doesnt seem fair, but literal technical knowledge is almost never rewarded very highly, perhaps because it is too easily learned.
Most of the techie programmers I have worked with are not particularly creative; they focus instead on fanatically working to extend the known published programming functions to often fantastic lengths. For instance, every programming language has a number or operators, or operation codes, or functions that trigger the computer to do somethinglike ADD and SUBTRACT. Virtually all of these operators have a list of required or optional parameters that can be utilized. Sometimes the parameters may take a full page of a manual to describe. The techie programmer will take it as a personal challenge to learn, test, and eventually use in his programs as many of the operators and their parameters as he can. Having mastered every operator in the language, he often then creates some nifty commands or new functions not already available in the programming language and then leaves the company, leaving his ingenuity to waste other programmers time.
Focusing on learning every programming language operator and its parameters and then using them all is, I think, very foolish something like learning all the words in a dictionary and finding a use for each of them. It would be far better to select a few useful words and creatively string them together into a significant document.