views:

4008

answers:

13

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.

+2  A: 

Learn a scripting language of some kind.

Vincent Van Den Berghe
+2  A: 

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.

Arthur Thomas
good idea broseph
scrot
Goal #25: Don't EVER use the word "broseph" again. Seriously.
Will
+5  A: 
MadKeithV
sadly, it's already on the form, they put it on there for me.timing is a good idea
scrot
Well, if there is room for discussion, remind your management that increased responsibility should always come with some additional perks, such as more money (the most obvious), or authority over certain decisions. Responsibility without authority makes you the-guy-who-will-be-blamed.
MadKeithV
:) I'm actually getting a raise in a month
scrot
+2  A: 

Learn MVC durh.

Will
i'm learning it on my own already :)
scrot
+1  A: 

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.

joseph.ferris
The problem is, I'm basically right out of college, only been at this job a few months - so my goals are fairly limitless, and it's hard to pin specific ones down.
scrot
You actually just answered your own question, then, in a way. My opinion is that you should focus to gain mastery in a specific area. Pick your weakest spot, whether it is from lack of use or knowledge, and choose improving that skill as a goal. Your goals should also identify your shortcomings.
joseph.ferris
+4  A: 

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.

Bob
+3  A: 

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.

GWLlosa
A: 

Set up your own server(s) at home, so you can (un)do anything you want (programming wise).

lamcro
Why the down-vote? I wasn't joking. In fact, I'm planning to do that at home. A web server I can use to practice what I can't at work.
lamcro
+2  A: 

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.

RoadWarrior
+2  A: 

How about: escape the microsoft ecosystem before it collapses? Learn Haskell? Stop looking for BS answers? Monetize eyeballs like never before?

A: 

Learn about the company itself

Take time to get to know your peers and their tasks. Document it for yourself or on a wiki for everybody to see.

lamcro
+6  A: 

Whatever goals you decide upon, rember the importance of ensuring they are SMART goals, otherwise you will likely never ahceive them...

SMART Goals

Specific (you need to know what you're doing)

  • Well defined.
  • Clear to anyone that has a basic knowledge of the project.

Measurable (otherwise how do you know when you've acheived it?)

  • Know if the goal is obtainable and how far away completion is
  • Know when it has been achieved

Agreed Upon

  • Agreement with all the stakeholders what the goals should be

Realistic (is it possible?)

  • Within the availability of resources, knowledge and time

Time Based (will you be able to complete it before you retire?) ;)

  • Enough time to achieve the goal
  • Not too much time, which can affect project performance
DoctaJonez
Giggle, we have those. They are worthless but we have them. My goals this year were like that and I achieved one of three because of events outside my control. The truth is there is no such thing as a goal that might not become irrelevant over time. I can't say in Feb what I'll be able to do by Sep.
HLGEM
I would say that falls under the "realistic" part of SMART, HLGEM. If you couldn't achieve the goal because of events outside of your control, it wasn't a realistic enough goal.
MadKeithV
I've also seen smartER, where the 'E' is Evaluate and 'R' is Reevaluate. You might need a shorter timetable than one year, so you can reevaluate whether your goals are still relevant.
JeffH
+1  A: 

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.

JB King