I do C# & ASP.NET programming for a large company.
I'm a new employee who's only been here a few months - this makes the goal concept a bit hard to pin down for me. I'm not trying to trivialize the concept, I just really have no ideas.
I do C# & ASP.NET programming for a large company.
I'm a new employee who's only been here a few months - this makes the goal concept a bit hard to pin down for me. I'm not trying to trivialize the concept, I just really have no ideas.
well if you are looking for BS answers.. what does the company do? You could mention learning more about the companys products/processes.. whatever else to make the manager happy.
Setting goals is actually something that shouldn't be trivialized. I personally think that if you do not have goals as a developer, that you are just coasting to begin with. I do not personally know a developer that doesn't look for ways to continually improve their skills and knowledge - it is the nature of discipline.
That said, be realistic. You are a C# developer, and there are language features that you could probably apply to your toolkit to improve your projects. ASP.NET MVC, Entity Framework, etc.
Non-language specific, look at things like improving code quality, reducing code waste, etc.
In some workplaces, goals are all about leadership (because managers don't understand writing code, nor does amount of code written directly translate into amount of work completed).
Write a goal to "lead" a team or "mentor" others. Then.... you setup a semi-weekly session where you train other programmers in some of your job skills. You can even use a book as a guide. I like Scott Meyers' "Effective C++". It uses short chapters and you can easily cover one chapter in under 20 minutes. Even if you only have one other person there, it shows determination and working as part of a team. It sounds good on a review when you have to "prove" you completed the goal.
The easiest way to set those goals is to check what languages you're using professionally, and then mark down as your goal to 'get certified' in those languages. The certifications work like resume-polish. At the end of the year, when asked if you feel you've achieved your goal, you point at the little printout, and can say with absolute certainty "Yes." Further, the process of studying for and passing the requisite exams may teach you things that actually do sharpen your professional skills.
Set up your own server(s) at home, so you can (un)do anything you want (programming wise).
Better communication, especially with the managers and users.
And this isn't just a generic BS answer. I'm regularly surprised by the number of routine issues that are misunderstood and blown out of proportion because of inadequate communication and talking past each other.
Take time to get to know your peers and their tasks. Document it for yourself or on a wiki for everybody to see.
Whatever goals you decide upon, rember the importance of ensuring they are SMART goals, otherwise you will likely never ahceive them...
Specific (you need to know what you're doing)
Measurable (otherwise how do you know when you've acheived it?)
Agreed Upon
Realistic (is it possible?)
Time Based (will you be able to complete it before you retire?) ;)
Here's a little over a handful of questions I'd consider:
Which versions of C# & ASP.Net do you use where you work: 1.0, 1.1, 2.0, or 3.5?
Would you like to learn more about some of the older ones?
Would you like to learn more about classic ASP and other older technologies?
How much do you know about design patterns?
How much do you know about software development methodologies, both in general and those specific to where you work?
How much do you know about what source control is used?
How much influence do you have over process and improving how things are done where you are? Are you involved in code reviews, design meetings, refactoring, etc.?
What about getting some Microsoft certifications?
How about going back for another degree in college or university?
Do you do any database work currently? Would you like to try? Which of mySQL, MS-SQL, Oracle and other database engines does your company use?
There can be lots of things within the process of programming that may interest you more than others. Do you like troubleshooting, working on smaller projects or larger projects? Do you want to lead a team or project?
Some goals are easier to set than others but generally there should be various technical and non-technical areas you can improve and just may need to zero in a bit on what those are and state them using the SMART style as mentioned elsewhere.