Hi,
I am already having about 4 years experience in working in offices as programmer. But still worrying about the productivity a very often.
It started when I was finising my univercity. When being in internship, boss was wondering why do I do it so long. Ok, I was working from home and not putting 8 hours, but instead 5 - becuase they were not paying me money and also - it was my dream to work shorter than others. Ok, there are clear reasons why I might be slow. Also I was bored about the coding alone at home. I see in offices its bit more motivating when see others working. Also no experience. THat explains things.
So after I ended the university, I studied at home bit more - almost a year. I was still hoping to become freelancer and work shorter time than others in real jobs.
THat did not work, I was not earning enough money to survive without parents help. SInce I had bit experience, and friend who was always telling me - go to search real job, finnaly I decided that I will be forever not earning and found first real job for small salary. It was big at that time, waaaaaay higher than I was earning as freelancer. Maybe 10x higher.
In that job, since I gain so much money, I thought I need to work so fast, I tried to think fast, type fast. And every day I was feeling unproductive. And after 4 days at new job, my brain does not want to work at all, I am just watching at the monitor and I see I cannot stand this anymore - I am feeling shitty and I cannot think. Something is wrong, maybe I cannot be a programmer and that felt sad, because I did not know how else I will earn my living. I do not want to do some stupid work. I know I have logical thinking. I was able to finish university - at least that gives a confidence that I am not most stupid. And in secondary school I was very good at math, physics, informatics. But the competition in secondary school was not high, so that does not tell much.
In the first job I remember director saying smth like - why you do so slow, see your colegue does faster and he does not even have IT degree. He has bachelor in economics. And also some freelancers or company does the tasks fast, cheaper.
Ok, my friend says - this is shitty job, leave it. I was afraid, but after some time they fired me, telling that I do not bring enough money to company to pay my salary and office bills. Plus company needs a profit. I worked in that job for almost 1 year.
Found second job. Much better one now. Still there were lot of situations where from from boss sentences, it felt like I am doing slow. But boss was friendly, so I did not change job for 3 years. Then my friendly boss left the company. And I had new boss - not friendly one. I tried to work in a team with him. But after 2 months I saw that its bad. I saw even some other people not happy to talk with him, so I decided its not only me overreacting, but he might be really shitty guy. But he was good programmer. So its out of question that company fires him. So I started searching job, and found super quickly with my 4 years experience.
So about current job. I tried to be picky since I am have now lot of experience. They told me in the interview smth like - every programmer is different in how fast they will do things. THe one who does quicker - simple earns more. But we cannot do anything if somebody does same thing slower.
I really like that atidude and it was easy choice to take this job offer, plus I got also very good salary.
And now what happens after few months of work: we had a talk with director. He said many nice things, that he likes that I work in their company, etc. But one thing he mentiuoned: he does not know how fast I am, because I was working on projects who were done by other guys, so working on other guys project might be slower, because you do not know codebase. Butt now you will start new project and we will see.
Also when they were giving tasks on old codebase, they gave aproximate time estimates, and I was finishing tasks in like 4 times the estimate. Like last task he said - its a 2 day task, but I give you 5 days for safety. I see I am working for a month already on this task, and I also skip doing quality code often to save time. I just created tasks to refactor, but I will probably not refactor, because I already took so much (?) time. Or maybe it is not much, its just their thinking thtat its a lot. I do not know.
I have no idea how I could make it significantly faster. Thats the biggest problem. Like if I was sititng in a facebook half a day, then I would know - need to stop sitting in a facebook.
I know that when they start talking in the office about something interesting, I start to listen, and of course this decreases productivity. But if they are productive enough while talking also, then I also want to be productive enough. Talking is fun, day becomes more fun. Otherwise its like working alone at home - with nobody talking.
We also agreed that its ok to study at work hours sometime. So they did not see a problem, because they asked - what could they do so we like wokring here more. So I study 4 hours a week.
Those 4 hours is not significant time. If I would work instead of study, I would still not be able to finish tasks as fast as they expect.
WHen I found out programming - it was fun. And it is still fun at some rare times. But most of fun kill the worrying that I do not meet their expectations. Even when I have experience. Its sick. I feel like I want to stop working in that job. But I also know that my collegues do not have such issue, work long time in that company. So it might be that company is good. And same might be in new company if I find. And its the main thing which I hate. There are almost no other things. Ok, I am worrying about talking to some coworkers and do not talk to them much. But I think its related to this - since I am stressed so much, its hard for me to talk, to be fun. On a days when I feel less streessed, I find it more easy to talk to collegues.
I even told to one collegue that I am worrying about new project that they want it not slow. He calmly tells - say to them - its not possible to do fast and quality. (They want quality also).
And doing overtime is out of qquestion imo. First - I do not want to spend my most of life only coding, especially when I do not feel pleasure. To feel pleasure - I have to not have stress at least. Second - I feel unproductive. Whats the point of doing overtime when you are stressed and unproductive. Comparing to when you are relaxed.
I think I am unproductive part of normal hours when I am stressed. That might add up to longer task finishing times. Lets say I start feeling streesed after 4 hours of work. If I would stop working and go relaxing, then they would hire some other person to do remaining 4 hours, then task would be finished faster (assuming subtasks are asigned well).
I think - maybe I should just tell them that I am not as good as they expect me to be, and so if they do not have a suggestion how I could do task faster, there is no way I will become faster. So why expect impossible? Its insane. Like Einstein said: “Insanity: doing the same thing over and over again and expecting different results.
Read more at: http://www.brainyquote.com/quotes/quotes/a/alberteins133991.html”
And here is really the case.
Btw in the new project - we will also use few new technologies and domain driven design. This will also slow down things.
I am feeling that there will be trouble if they do not change thinking or do not hire additional programmer.
My friend says - do not worry about this now. If later they will tell that you do slow, then will think what to do.
But I write here, to get info, what to do. One thing I could do - put hard work on evenings and weekends to learn those new technologies as soon as possible.
But from my experience - even if I learn something, that does not make me less worrying. I then see there are other technologies waiting and still I am worrying. So that is not a solution, because new technologies popup all the time - and with this solution I will never end worrying. I have to do soemting different.
One thing that helps for some time at least - is meditating. Maybe living in the moment is ok for the moment. But really thought about slow programing pops up. And then I have to force to forget it. That is hard thing to do.
Or maybe this is really not the good company even if it looks good? Like I read in other thread - you cannot imagine how unproductive are people in corporations (as I understand they browse internet, chat a lot and predent doing a lot, but actually not doing so ?) maybe I have to move to a corporation? And maybe I will be more productive relatively to others and they will be happy?
I remember in my last company - my boss I feel was very unproductive, because he simply was not working lot of hours, but just sitting near computer and doing his own stuff. So I could look more valuable.
But as director said, this company is growing fast now. In near future they might hire more people. So maybe need to see.
Any thoughts?