I have been a programmer for two years, and i am getting hard to level up my skill especially working at legacy code maintenance right now. I think working hard is not enough to elevate my skill, because there are ton of opensource around us, the preoject i have been involved are all mixture of opensources --- from front end to back end from presentation tier to business logic tier. My work is just gluing all these together or something fewer complex which is to collect data from UI to logic module then retrieve the data processed and put it to UI. Sometime there is a need to add some simple logic(like assembling the data to a form that fit business logic interface) while transport data.

Could you please give me any suggestion what should i do on the side to improve my skill? Thanks!

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.
If this question can be reworded to fit the rules in the help center, please edit the question.

7

It is really in your best interest (and that of the community's) if you wait to accept an answer beyond just a few minutes.
–
WalterNov 6 '10 at 16:16

2

I am ALWAYS working on alternate languages and have pet projects I do at home. You can't sit still in computer technology because it changes too fast.
–
the Tin ManNov 6 '10 at 18:31

One day you will notice that people are coming to you with questions about the code base that they are working on. You will reply along these lines: "oh, yes. I was confused by that too but it is actually quite simple..."
–
leed25dNov 7 '10 at 1:09

1 Answer
1

The most valuable skill I think you can nurture is the ability to interface with non-technical people. If you can explain to a non-technical business user (this also applies to decision makers) in simple terms what is going on with a very complicated system, then you are worth your weight in gold.

For Example: Descibe what a database is to a non-technical person.

Answer: A database is simply a tool that lets you to put your stuff into cubbie-holes.

This kind of answer builds your reputation and makes you very approachable.

Another area I would focus on is requirements gathering. Every one likes to solve solvable problems. If your users are trying to solve a problem and are frustrated, if you can listen to what they need, not what they want, and provide a solution, then you are worth your weight in gold. Especially if you describe the solution in simple-to-understand terms like in the above example.

Do not focus on solving problems from a programming language point of view. If you use VBScript and think in terms of a VBScript solution, you are limiting yourself. Learn to solve problems or develop algorithms that are language-independent.

Learn to listen, I mean, really listen.

Never play the "I've got a secret" game. If you learn something, share it with others. Teach people how to fish, rather than giving them a fish.

You can always rely on places like this and Stack Overflow when you have a technical issue to solve. Being a geek with people skills is far more valuable to an organization.