Advertisement

Getting fired from a dream job over "communication" issues

Started by March 29, 2009 01:45 PM
56 comments, last by d000hg 15 years, 7 months ago
I recently started working for a company that makes 3D sesimic intepretation software in C++. I was amazed at my opportunity. I felt like all those years I spent on my living room studying by myself had finally payed off. I was tasked with developing a highly reusable library for 2D visualization of well data in GDI+. It felt pretty easy for me. I thought everything was going ok. But a few days ago I was told they were letting me go. I couldn't believe it. I was dumbfounded. They said my knowledge was greater than that of most programmers there, but my ability to interact with others was extremely poor. They said my approach was to prove my point to others stubbornly and repeatedly, causing rewrites and thus delays. That work that had been done in three months could have been finished in one by any of them. Which was what has left me confused lately. I was never aware of the problem. They never talked to me about it. Until the very end. I thought I was doing my best at following orders. I asked several people whenever I was unsure of what to do, to make sure I did the right thing, and the rewrites were caused by sudden and unexpected brick walls, which to me is a natural thing. For instance. In on case we had agreed to use standard coordinates (0 to 1) to insert several objects into containers and know in advance where they would be placed, and another set of "real coordinates" that represented the space where real data would be shown (say Gamma Rays). So I used three coordinate systems (standard, "real" or "data" and client or "absolute"). One of my supervisors noticed I had been using these three coordinate systems and quicly berated me, saying it was beside the point to use client coordinates, that in that case we could have gotten rid of the standard coordinates. I argued that nevertheless the interface and the behavior remained the same, but he insisted. So I rewrote it. At a later point, I was faced with font transformations. Since we were using standard coordinates, and they were transformed by the dimensions of the container, the size of the text was transformed too and became unmanageable, and it was impractical to predict where the text would be shown. So I told one of the senior programmers that I needed somehow to factorize the scaling and keep it from blowing up the text. He told me he needed to use the three coordinate systems to figure out the rotation. THERE. What I had been doing all along. I needed to figure out the rotation from the final coordinates in order to factorize the scaling. So I told my supervisor what the programmer had suggested, and he said "do it". I remarked that it was what I had been doing at the beginning, using the final client coordinates, but he nevertheless shrugged it off. This incident was among many similar ones which were used against me. As though I had been wasting other people's time and being "stubborn". I said I didn't know what I could have done otherwise. I don't want to make any wild speculations as to why I was really fired. I suppose I should believe what they told me without any ulterior interpretations. But nevertheless, I should point out that I never made friends with any of them. I was always an outsider, though not by choice, and my few attampts at socializing with them were met with serious bumps and awkward moments. I appreciate any observations any of you would like to make.
How long did you work there? In some companies they give evaluations and tell what you can improve. If something keeps being bad, they keep giving a bad evaluation about it, until they have to let you go. Did they do it just all of a sudden in your case, without ever letting you know beforehand?

I'd advice you to try to work on those skills, e.g. by following assertiveness training, or another type of course that teaches communication and presentation skills.
Advertisement
I worked for them over a period of nearly three months, which was the eveluation period. But they never told me anything beforehand, despite my attempts to receive feedback from them. They said they never had time, and code that was concluded to be not up to standards was simply not evaluated beyond a mere glance because of said lack of time on their part. The only feedback I had gotten had been "from the little I have seen, it seems a bit confusing to use", which I quickly corrected after asking one of the programmers. It was mostly little things like use of pointers instead of references (which I changed), somewhat confusing method names, and use of single floating point values when pairs of floats would have been more intuitive (which I quickly changed also). Though they never got to check the corrections (nor the rest they had never seen), as they decided to let me go before they had.

So in reality, they never gave me an evaluation of my code. All I got to do was show that the examples worked properly.
Well, this is the real world, unfortunately. Those who get to stay, who get to be promoted, and so on, are usually not the best ones at their job but the best ones at getting along with whoever is in charge. In life you don't get what you deserve, only what you negotiate for. There are some exceptions, but I wouldn't count too much on it.

On the other hand, you've got to realize that tech skills aren't the only thing that matters. In my experience, an employer will prefer an technically average employee with balanced skills (including social ones) than a technically stellar guy who behaves like an asshole (like: Dr Gregory House :P)

EDIT: that they didn't even give any warning is very regrettable though. Or maybe they did, informally, and you misinterpreted them? Try to think about it.
I would suggest you seek legal advice as to what your position is in relation to if they followed correct procedure during your evaluation period.
Maybe you didn't like them. That can happen.

If this is the first time this happens to you, then, FUCK THEM.

Anyway, just in case, next time, pay more attention at how people reacts to your behavior. Ask your supperiors how they feel about your performance and ask advice from them on how to improve it (if only just to know what they have in mind).

Sometimes being able to keep a job is more than getting the job done, it's about fitting the group. What may seem correct for one self, may be completely unacceptable for the guy that's in charge of keeping you in.

Personally, I'm usually very careful at analazing how people feels around me. I, very often, make people feel thretened by my capacity, thus I've to play dumb and dumber to make them feel alright.

Usually, if I feel I don't fit a group and I just don't wanna change, I quit.
[size="2"]I like the Walrus best.
Advertisement
Quote: Original post by CmpDev
I would suggest you seek legal advice as to what your position is in relation to if they followed correct procedure during your evaluation period.

Sure one's got to defend their rights. One also has got not to get blacklisted by all the companies in their area. He needs to think twice about engaging a legal procedure (especially after a trial period, cause if it's the same as here, the employer may end the job without justification)

I'm pretty sure they didn't provide any feedback (until the last moment) because I actually was the one pressuring them to give it to me. The only meetings I had were all about the next step in the process of developing the library.
While I'm sorry for you that you are let go, I shall also point out that this is a lesson for you to be learned. I learned this lesson during an internship, which had much less consequences that it has for you.

Document things! If you receive an order from a senior or someone higher up in the hierarchy than you, write a small document detailing the 'meeting' and what was discussed. If they said that you did A but they want you to do B, write this down(Detailed, but don't make it tediously long so that it costs you a day to write), turn it into a PDF and send it by e-mail to the person who ordered it and keep a copy around for yourself. Also, send the e-mail with a read confirmation request so that you later on point out that you did indeed attempt to do it correctly.

Also, if you're just starting out somewhere at a company, and you receive an order to change things, do it. Don't try to argue your reasons. Just tell them what you believe would work, but if they order you to change your code, just do it. Report your objections in the document aswell, including that you shall execute the ordered work in their fashion. However, if you do try to argue with a higher ranked person, it will look like you're being stubborn. If you document things and things go bad, you have proof it wasn't your fault.

You could try to discuss this with the manager and lay down things. Perhaps request a meeting, and write before hand a note which you send them before the meeting so they can read your objections. During the meeting, inform them again. Perhaps you can prevent being layed off. Always worth a shot.

Toolmaker

Same thing happened to me, worked nearly one year as internship in Ubisoft (no fear to name it), made job way beyond the internship normal knowledge, had many friends inside. When I left everything was good and they told me to come back after University. So after university, I gave them my resume and didn't get any answer. It took my three attempts to send resume before I could finally get an interview, for a job that was not really in my domain (even though I knew my old job was vacant) and of course they dismissed me, without saying any logical reasons and I'm still clueless why. Since then, I'm looking for any IT job but nobody call back because they see I was at Ubi and didn't return, so they think there must be a reason.

This topic is closed to new replies.

Advertisement