Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I am facing a similar problem as the OP of this question where my environment is good, but I feel like my learning is stagnating and I don't have the ability/resources to change positions/quit my job at this time nor am I sure I would want to if I did have the ability to.

The day before yesterday, I was assigned to help fix a problem with an ASP.NET website (which I normally don't work with) that the customer was having and I needed to look up how to implement something. It only took me a couple of minutes to fix the problem and after that I ended up spending about four hours reading more about ASP.NET and implementing some of the exercises from the book. Then I spent another hour reading about networking and configuring routers which may be used when we need to change something in our lab, however, it is highly unlikely I would be the one to do it since we have a person dedicated to that task.

Today I took off work just so I could learn more about configuring networks and to practice on my home network.

Should I be billing the company for the time learning more about ASP.NET even though it is not a common part of my job or should I be charging like 1/2 rate? Is there a certain number of hours that you feel is acceptable to charge the company for time learning something or self-improvement?

share|improve this question
    
Related: workplace.stackexchange.com/q/12058/437 –  Jim G. Jul 5 at 23:21

5 Answers 5

up vote 9 down vote accepted

If your company hasn't explicitly asked for it, you can't charge a single dime. If you want to be paid for self-improvement, then go and talk to your boss first. He might grant you the time to do so or even pay learning materials/lectures for you.

You simply can't sell services the customer's didn't ask for just because you like it.

However, the self-improvement might pay out once your boss needs the kind of knowledge that you've learned in your free-time. It could lead to a promotion or maybe you'll receive a bonus. If, one day, your boss requires such knowledge, you can even ask for a bonus. As hiring someone or consuming external people will most likely be more expensive, he'll gladly pay.

share|improve this answer
    
Falcon, the skill sets I was reading about aren't unrelated to my company just my current position. We have other positions in the company such as web developers and IT that I could transfer over to if my skills improved. Our customer's wouldn't be charged for my learning the company I work for would be and they could benefit from the additional skills. This being said do you still stand behind your original statement? –  dboss Sep 1 '11 at 12:12
    
@dboss: Absolutely. If you want to learn, ask your boss first. If he agrees, then you can do it on company time. If he doesn't agree, you can't do it on company time. Also I didn't mean your customers. I saw your company as your customer in that case. –  Falcon Sep 1 '11 at 12:14
3  
@dboss: Let me be a bit more concrete. If you're just sitting around, you are bored and you have nothing to do anyway, I guess then it's no problem if you're learning those skills during working hours, quite the contrary. But if you usually have other work to do, then you should ask your boss first. –  Falcon Sep 1 '11 at 12:20
    
Talked to my boss about it today and he agreed 100% with your last comment. He was also impressed that I was showing innovation to become more resourceful to the company. Plus it helped me tell him I was a little tired of the work I've been doing without sounding like a whiner. In addition, he placed me on one of the new contracts we will be getting soon so hopefully I will be working with a different technology and learning new things. Thank you very much sir. –  dboss Sep 2 '11 at 3:16

IMO it's not only acceptable, it should be encouraged. A major red flag at any organization (for me, at the least) is the concept of "There is always something to do" because this indicates poor project planning and little or no direction; there should always be "downtime" for software developers (typically after a major release or patch) where there is no real pressure or high-priority tasks and the team can wind down and spend the day learning/sandboxing. This downtime should be frequent enough so people are constantly learning (either individually or with "brown bag" lunch meetings, training, and the like) instead of always being given "busywork" to make sure that they are always working on some task.

That said, if you have important things to do you shouldn't go off researching things just because - that's not professional behavior. But, I am a firm believer that a good company, that cares about it's developers, will make sure there is appropriate downtime for the dev team to just "chill out" and experiment; as stated above a company that doesn't do this or, worse, actively discourages/punishes it (sadly I have seen this commonly, where developers will be reprimanded and/or written up for "researching things instead of coding"), isn't a company any good developer wants to work for.

As to the notion of charging them, I don't quite understand because if you are an employee, you are already being paid a salary (more than likely) so the four hours you spend learning something new, if done at work, is already accounted for. If you're a contractor/consultant I wouldn't bill them unless it was something that was done as part of pre-project research (which this situation doesn't sound like, anyways).

share|improve this answer
    
I agree to some extent. But it's up to the managers to decide. As an employee, you simply cannot take company policy in your own hands and decide to do something on company time that you haven't been asked for, especially if there're other tasks you have to fullfil. And also "There is always something to do" is not poor project planning. Quite the contrary! From a manager's perspective, that's what you want to achieve! –  Falcon Sep 1 '11 at 13:16
    
@Falcon: It really depends on the organization. In a university, obviously staff members don't need permission for every intellectual excursion. In commercial companies, you've got R&D labs and assembly lines; obviously the former are much closer to universities as the latter. –  MSalters Sep 1 '11 at 14:24
    
@MSalters: I agree. But taking a day off to research topics you're interested in (which might coincidentally benefit the employer) and then coming back saying: "Hey, I'm gonna charge you for what I learned" is by no means acceptable. Developers can learn when they need to fullfil a job that requires that kind of knowledge. If they don't need it, then they should be working on their current tasks. It's completely ok to say "I took a week to evaluate three web frameworks" when your task is to create a web application. If that's not your task, it's wasted company time. –  Falcon Sep 1 '11 at 14:31
    
"There's alwyas something to do" is not necessarily a sign of "busy work". My current employer, for example, has such a long backlog of projects that there's no way we can have developers spend a day (or more) not actively working on one. –  MattBelanger Sep 1 '11 at 15:01

The answer really depends on if your a contract worker or permanent employee.

If you are permanent then yes definately charge them. You are reading up on material relevant to your job and increasing your skill set. Make sure nothing is underhand though, either explicitly state on your timeshare or let your manager know what your doing.

If you are a contractor then dont charge them anything. Since your skill set isn't exclusively theirs its wrong to make them pay to increase it.

share|improve this answer

I don't think you should do it unless it is on your own time or approved by your manager. You are there to do a specific job. Unless they say, spend 4 hours researching ASP.NET, you are cheating your employer out of other tasks. It would be perfectly fine to ask but since you didn't and you charged for it, it is unethical. I understand that you want to learn more which is perfectly fine, but you should do it on your own time unless you are being paid to self-teach or take a class.

share|improve this answer
    
I am always suspicious when ethics are invoked as top down systems, doubly so when business and ethics appear in the same sentence. I can’t remember the last time (since I am fairly sure it has never happened) that a company reimbursed me for knowledge they benefited from which I gained outside of the job and after being employed. Imagine their faces if I suggested it would be unethical for them to benefit from the conference I paid out of pocket, or some book I read at home? –  user179700 Sep 2 '11 at 7:33
    
That said, where I draw lines personally is job related (over work related) and unless it is somehow connected to my particular job role I try not to blur lines. That said, I don’t take jobs where I wouldn’t be expected to keep current in the field and learn new technologies. –  user179700 Sep 2 '11 at 7:39
    
@user: You are compensated by being paid and having a good job. To put it in perspective, let's say a job told you that you needed better typing skills and needed to take a class. Would you (A) go buy a typing tutor program to help you, or (B) refuse to learn and be out of a job? This actually happened to a family friend of ours and she is happy being on unemployment. Not exactly my idea of living but whatever, to each his own. –  staticx Sep 2 '11 at 11:44

Should I be billing the company for the time learning more about ASP.NET even though it is not a common part of my job or should I be charging like 1/2 rate?

Should a lawyer bill a client full-price for the time they spent reading legal volumes about relevant laws and prior court precedent?

The answer is undoubtedly 'YES'.

We have seen the computing world undergo enormous change in the past two decades, and you should expect more of the same for the foreseeable future. A client should expect and want its programmers, be they full-time or contract, to be fully informed when writing code.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.