The title is sort of a tl;dr, perhaps.
Background: I've been working a job as a software developer for the past nine months, which also happens to be my first full-time software gig. The job basically entails writing line-of-business software (in C#), and maintaining the undocumented clusterfuck that is our internal / backend systems. I'm 24, and I've interned as a developer once before (writing embedded software, which was my study in college).
Over these nine months, I've just lost enthusiasm for my work. I spent a fair amount of the time reverse engineering the aforementioned internal systems so that at least someone knew how they worked, and tend to handle the maintenance work for them (insofar that any can be done, completely random side effects are the norm here). I've tried to lobby for a replacement for said systems, but no such luck, and we lack the manpower to even comtemplate writing our own replacement (think CRM/ERP system). Seeing a help desk ticket regarding this stuff is usually instant demotivation.
The other stuff I work on is fairly benign when it comes to weirdness, but I can't seem to find any real interest in it. The problems simply aren't difficult, just drudgery. I've tried to get my hands on a more complex project, but everything my manager has been able to get me has gotten cancelled shortly thereafter due to no funding, or no time to implement it, etc. I get to do a variety of tasks since I handle some of the IT responsibility on top of maintenance and development, but it's awfully rare that I get to develop anything new and/or interesting.
I've tried to make up for it in the past by coding at home, but I rarely find that I want to fool with it after 8+ hours of grinding away at something for work. I have friends who feel the opposite on the matter, but it doesn't seem to motivate me in the same way.
Long story short, work is bringing me down in a bad way, and I'm not sure if there's something I can do to alleviate the feelings I've got for it at this point, or what other options I have.
Posts
1) Get a hobby
2) Find a therapist, they can be great to talk to
3) Look for another job
I know when I started to lose interest in my job I started to go after a class/certification for my own field and getting into that has really got me going again. It's hard to come home after a 10+ hr day and study, but I keep thinking of the long term pay-off. That and I do my damnedest to have fun at work...cracking jokes, bringing in toys like thinking putty or bucky balls, etc. to give my mind a chance to play while I'm at work at my desk.
Also, I've gone to other departments and asked to help with projects or sit in on meetings...I don't know if that's feasible for you or would help your current outlook, but maybe it could spark your interest again?
Blizzard: Pailryder#1101
GoG: https://www.gog.com/u/pailryder
The only cure for writing boring code is to write fun code, even if it's fun in a computer-science-major kind of way.
That is effective motivation in these times
To quote the once great, now fallen Ludacris: "Mind on my money, money on my mind"
However, don't take that to mean that you have to settle for it and avoid opportunities to advance and utilize your talent. I just hate to see people put themselves out of a job because it wasn't perfect.
Snoop.
As for the OP, a better question for you might be: what did you expect from a job? I'm not being snide; what did you expect? Perhaps your expectations were unrealistic. Perhaps your current job is actually really basic. It's hard to say without a lot more info, and for privacy reasons you should not give us your employer's name and such. Besides, a lot of that is simply personal questions. Are you feeling challenged?
To be honest, I think your problem is common among all college graduates, at least ones that went into a degree program that was focused more on production (code, for example). You go through college working on assignments, forced to learn new things, and suddenly in The Real World you're simply asked to write code that you already know. You're not learning anything new because the code systems in place don't change. Occasionally a new project comes up but the project isn't supposed to be solved by novel, radical methods -- it's supposed to be solved using tried-and-true methods, preferably ones that you are already familiar with.
That's normal. You're hired to write code, to produce, or to maintain code (which is similar). If you go to school to make cabinets, you're going to be taught a lot of different methods -- but when you're hired you're pretty much just doing one thing. The challenge comes from how YOU challenge the workplace. The documentation is shit, you claim. Why not make it a personal challenge to work on updating it? The code is boring; why aren't you researching new methods for accomplishing what your employer needs? You can have new ideas and you will probably be shot down at times, but when you're not in school anymore you need to take the initiative to teach yourself. This is often why people pursue graduate-level degrees -- they want more challenge, they understand that they can benefit from such a degree, but they also know that they need to have classes and professors again who can expose them to things outside of what they could find on Wikipedia or internet forums.
If the job is boring and you're underpaid, there's nothing wrong with putting feelers out for other jobs. Perhaps talk to your employer about attending a conference, and once there talk to other attendees about their workplace experiences.
For example, the group I attend at my job usually meets every thursday during lunch (not company sponsored, just occupying a company meeting room), eats lunch, and we listen to a fellow coworker present on some topic. For the developers, some of the most interesting and useful have been database theory and SQL tips and tricks. For the DBEs, some of them have been learning C# to branch out. I've presented on jQuery, F#, ASP.NET MVC Extensibility, and MVVM in WPF. Others have talked about Erlang, Powershell, DotLess, and Objective-C for iPhone, for example.
It looks like you have a good relationship with your boss - he should definitely be on board for this. You just need to get the ball rolling with the rest of your development team.
There are also a lot of mini projects that I start but never finish at home - good projects just to keep my mind fresh and perhaps learn something new. I also do some 'contract' work to further earn income and just mess with new technologies. While a client's app may be standard WebForms, I may be also rewriting it in my spare time in ASP.NET MVC with Moq for actual test coverage. At some point, I want to present that to the client and say "hey, switch to this because it's better", and then I can work on a new, evolving platform instead of the same drudgery at work.
just remember, always, and especially in an economy like this, find a new job before you quit your old one
and remember, tell the people you interview with that "my current employment is simply not fulfilling enough and does not offer enough advancement" rather than "my current employment is terrible and I hate my boss and my coworkers"
As has been said, money is your motivation. Both immediate money and experience so that later you can hopefully earn even more money in a hopefully more sane company. Many people cannot find jobs, are being laid off, are taking pay cuts, etc. Just try to be thankful you've got a job at all. I'm not saying just accept the crap and pretend everything is perfect, just keep in mind that things could easily be much worse. Stick it out awhile longer and then get your resume out in hopes of finding something better.
After that, it really is the side projects that do it for me and keep me from feeling like my skills and knowledge are wasting away. I know you said this hasn't done it for you in the past, but I'd say keep at it, unless you actually just don't really like software dev n the first place. I try to find stuff different from what I do at work... different languages, different platforms, different types of apps, etc. Sometimes it takes several tries before I find a project that really sticks for me. I'll start something, spend a couple of evenings on it, and just not be into it. Then a week or two later I have another idea and give it a try. Sometimes this happens several times before I find something I feel like sticking with and finishing.
Many rappers have said it
http://www.youtube.com/watch?v=YUa5Shv1JmA
Skip to 0:50
Just for the record this isn't a spite post
I always thought you had a level head, Eggy
Re: Your job - Personally, the thought of having to look for another one could also be a sort of negative motivator really
Also, Snoop totally gets that quote. Gin and Juice is 17 years old, how do you attribute that line to a song made 4 years ago?
Replies in no particular order:
I expected it to be work, like any 'ol job, but I also expected (or at least hoped for) something of a challenge in my work. I've put forth as much effort as I can to improve my workplace (we actually use source control now, we should have an honest to god development process in place soon instead of emailing code around). It's demoralizing to have people above you telling you that what you're working on will make some kind of difference, and then watching your work go nearly completely unused. Perhaps it's a failing on my part to feel a little worn down about it instead of letting it go, I don't really know. I wasn't expecting a nirvana of development joy or anything, but I was hoping to get something out of it all.
I just got an Android phone recently, although I haven't had a chance to fool with the SDK/NDK other than to install and poke at them a little. My Java's rusty, but I'll take a look into it, sure.
That's a new one on me, pretty neat idea. Most of our developers work from home either for personal preference or because they live somewhere else, but I'll ask around about it next time I have a chance.
I appreciate the replies folks. It's something that's been bothering me for a while, and it's kinda nice to just have it out somewhere.