Advertisement

I got fired from my group

Started by October 06, 2014 10:43 AM
6 comments, last by frob 10 years, 1 month ago

Hello everyone,

I'm currently enrolled at school in which part of the curriculum is to be in a year long game project with other individuals within the same game class. Over the course of this summer, I developed a framework which I presented to them for us to use. It's not extremely amazing, but I do feel like it is a nice piece I have created that is both robust and flexible for additions and creating game content. Regarding the situations that I'm about to express, my background consists of coding for over 10 years through BASIC, Java, C# and C++ through academic and mainly personal project purposes.

The project with the group has been going on now for 5 weeks, started early September when I presented the documentation and framework to them, which this last week was our engine proof milestone; the presentation went well. (This is the documentation I presented to them: http://chazix-scripts.com/Documentation/ParadoxEngine/ParadoxEngineRev90414.pdf) However, throughout the events that lead up to this situation I was encountering situations that grew increasingly frustrating. Particularly between myself and one other individual, however beyond just the one individual I was beginning to feel increasingly disregarded, in terms of opinion and respect on particular systems for integrating into the framework. It was strange, they wouldn't come to the individual who created the framework, to ask how to integrate a particular something into the engine, it almost seemed as if I began to not exist to them. I was however the outsider to this group, they have been grouped together for a year prior to this semester beginning.

The situation that sparked my firing from the group revolves around this individual trying to implement an Introspection and Reflection system for serialization of our particular GameObjects and Components. There consisted of a wide range of templated functions for identifying the types and variables that were associated with a particular class / structure, and then outputting the serialized data to a file.

The main problem that sparked myself expressing verbal frustration with the group took place when this individual convinced everyone else in the group that, "We can't use constructors at all" as a conclusion to his problem when the problem stemmed from them just not being implemented in the first place, causing the linker errors. This frustration also heavily stemming from that particular individual convincing everyone else that they are right when the solution was right there in front of them. Which from my perspective translated to them not caring, looking for the easiest path and not respecting my opinion and thoughts on the situations. Before this, the same individual convinced everyone that we can't use private and protected data, where I disagreed. Upon being able to look at the problem the solution was to just create a member function to be called on engine initialization to bind that particular data type and it's members to the introspection and reflection system. Which, that verbal frustration I exerted lead the producer talking to various other instructors followed by the producer firing me.

I came to you all to hopefully help reflect on this situation. I am new to working amongst peers, at least only have been for a year or so in this sort of academical group environment. Can you help me point out maybe something that I did wrong, or maybe it's for the best. How can I be a better group member and leader when being the individual distributing the heart of the engine amongst future groups to come. I am now considered an independent I suppose and have to go find a new group, either make my own or join a studio group that is ran by an instructor. My professional and career goals are to work in the industry amongst other peers, I want to learn from this situation. The main problem now that I have to sort out is will they be able to keep this framework that I spent my summer and these past five weeks working on? (About 4k lines of code) I'll need to talk to the instructors and ask about the policy.

Thank you for any advice you can give me.

It is hard to rate your personal situation in this case.

Try to review your own action and behavior and try to avoid just blaming others. We learn by failure and therefor try to learn from this personal situation. Working in a team, especially if you are in conflict with an other person, is often hard for you, the other person and the whole team. You should focus on the latter one. What would help the team more, to engage the other person and putting more fuel into the fire, or to take a step back and try to increase the team comfort level ?. Eventually try to talk with the other person if you detect a conflict, best in combination with a neutral moderator if you both aren't able to settle the conflict.

Eventually this is just one of many life challenges, learn from the experience and look forward smile.png

Advertisement

The story doesn't to me tell all the details of how decisions within the team were made, so I'm going to ask this: how and by whom it was decided that your framework should be used? Was there research of alternatives, such as using an existing engine/framework instead? It's possible (could be wrong, as the details are not all there) that the team saw you pushing your own technology (too) forcefully. Naturally, if there was no-one else in the team technically qualified for choosing the base engine/framework, the team would not have made progress at all, without you taking the lead in that regard.

They were aware that I was working on the framework for usage over the summer for this years project. We are required to create our own work from the ground up with minimal middle ware. Rendering APIs, SDL and GUI APIs are okay, but everything else needs to be done by us. Physics, math libraries, message passing, etc. It was mutually decided that we would be working from my work. Especially because I had work to show instead of them having nothing and us starting from the ground up.

Thanks for the clarification. What I wrote was then very much baseless :)

1. How can I be a better group member
2. and leader
3. when being the individual distributing the heart of the engine amongst future groups to come.
4. I am now considered an independent I suppose and have to go find a new group, either make my own or join a studio group that is ran by an instructor. My professional and career goals are to work in the industry amongst other peers, ...
5. The main problem now that I have to sort out is will they be able to keep this framework that I spent my summer and these past five weeks working on? (About 4k lines of code)
6. I'll need to talk to the instructors and ask about the policy.


1. It's not clear from what you wrote in what context the disagreements were expressed. What I mean is, were these conversations held between the two of you in person, or via direct emails, or in group meetings, or via group emails. It's also not clear what kind of tone was used in those conversations by you or to you. For all I can tell, it's possible you were arrogant or dismissive to your teammates, and your nemesis (teammate) was using a reasonable tone. Not saying either of those is the case. Just saying it's difficult for an external advisor to tell you what you need to do, to do better.

2. It doesn't sound like you were the leader. If you thought of yourself as a leader, maybe that's part of the problem.

3. It's not clear to me that your code was indispensable to that group, especially since they'd been working together on the project for a year, and you were in it for only 5 weeks. Perhaps you took on an attitude that didn't sit well with the team. Not saying! Just saying perhaps.

4. Yes, and now a rift has developed between you and the people on that team. And the word will surely spread to other teams. You need to do some serious and effective soul-searching, in which you recognize which parts of the disagreement you can take blame for and learn from. You'll need to do whatever you can to fess up on what you did wrong and patch things up on a personal level with as many people as possible. Your future in the industry may depend on it. You also need to rethink the technical issue and what you might do if you had the chance to do it over.

5. I don't think you're in a position to enforce personal rights in that group project. Perhaps you were invited into the team because of that technology, and then you handed over that technology to the team. If they're now using it, the 5 weeks of use would probably be extremely difficult for them to undo. At this stage in your career, you're still learning how to make games - the technology is not made of diamonds and gold. Let them use it. But you can still use it too.

6. The above is just my opinion. By all means, discuss the school's policy with the instructors.

-- Tom Sloper -- sloperama.com

Advertisement
By the way, this topic isn't rightly in the Production/Management area. I'm moving it to the Game Industry Job Advice board.

-- Tom Sloper -- sloperama.com


The main problem that sparked myself expressing verbal frustration with the group took place when this individual convinced everyone else in the group that, "We can't use constructors at all" as a conclusion to his problem when the problem stemmed from them just not being implemented in the first place, causing the linker errors. This frustration also heavily stemming from that particular individual convincing everyone else that they are right when the solution was right there in front of them.

How exactly did you express it?

Put differently, were you finding problems or were you finding solutions?

Wording and presentation are very important.

If you regularly present flaws in negative terms the fallout is frequently as you described. Imagine: "This is wrong and that is wrong and this other thing is wrong. Wrong. Wrong! WRONG!" Very quickly others will stop listening to the doomsayers. Those who are frequently negative will be pushed to the side, ignored, and eventually removed. You won't stay with any group for long with that action, even if you are correct that the solution is flawed.

If you present them in more positive terms or neutral speculative terms others are more willing to accept the change. imagine: "I can see that your idea solves a lot of the problems, but I'm still concerned about the constructors getting called correctly. What would happen if we tried this approach instead?" It is much harder to dismiss the positively worded alternatives.

Even with a positive attitude you need to be careful, once the group comes to a consensus to choose a particular solution you need to contribute fully to the decision, even if you didn't agree with it. I cannot begin to count the number of times in my career I have had to implement solutions that I felt were not ideal or were incomplete. In those cases, if the solution failed I don't want them to come back and say it failed because I wasn't committed to the decided course. Once the decision is made to follow a course, you don't spend the rest of the trip harping on the fact that it wasn't the course you wanted, you follow the decision and see what you can learn from it, good and ill.

Reading your post, many of the things you are asking come with a negative tone. In one part you are seeking to assign blame. In others you are asking if your negativity is justified. You state it is their fault they fired you. You claim they stopped listening to you. They treated you like an outsider. You say you felt it was "them not caring". They needed to change. The implied message is that they are completely wrong-headed and you are completely correct, your position unassailable. The negativity might come from you being frustrated when you wrote your post, or it might be systemic in the way you communicate.

I've known many programmers who, because their training taught them to think in negative terms about what could go wrong and program defensively, began to communicate in negative terms and behave defensively. You might want to get some outside verification to see if you regularly come across as negative or if you regularly come across as positive. You might also want to enlist future team members to serve as an external comparison to ensure you seem to others like you are contributing, and to compare it against what you seem to yourself you are presenting. Others may interpret your actions very differently from your own self assessment.


The main problem now that I have to sort out is will they be able to keep this framework that I spent my summer and these past five weeks working on? (About 4k lines of code) I'll need to talk to the instructors and ask about the policy.

Probably. You make it sound like a regular job. That's the kind of thing with an employment contract that says they own what you create. If not, it sounds like a school project, and most schools have policies that you accept implicitly that the school retains the rights to use your work.

Even so, you're talking about 4000 lines of code. Many people write that much on a good weekend for their personal projects. Many people put out that much in a professional environment every week, if not more, when they are on green field projects. (Usually much less when doing maintenance, but that's a different scenario.)

Chances are very good that they own the rights to it. Even if somehow they don't have a claim to it, what are you going to do? Demand that they not use it? That's a great way to burn bridges and make enemies. I recommend against it, especially for something of so little value.

This topic is closed to new replies.

Advertisement