Advertisement

Fear of replacement

Started by September 20, 2014 05:47 PM
16 comments, last by ActiveUnique 10 years, 2 months ago

Hi All,

I can't imagine that I landed into the industry 7 months ago, I'm an EE 27 Egyptian, migrated to Austria,.. just working right now in a company that is doing 3d sports games, I managed to get a new title to be published and put my name there, I solved lots of bugs and I did contribute.. the team is really strong, we are only 5 people, including two one server side, and other who is gui programmer and very psycho, inpatient, irritating all of us.

Unfortunately, I did some of the stuff with him, but 3 days ago I did couple of mistakes, which let him go mad and escalated it in front of everyone :(, just two bugs, where I put an additional break and another in loading a dictionary... At the end of the published title, I found a big for him that is found, that was exploding the database, and I stayed two days to know why it happens, did a lot of debugging on device with no debuggers,..etc and the manager appreciated that, but I never escalated that.

I also found a big for that is done by someone who was at rockstar, and nividia, the same bug he did too, and didn't harm the game last year.. but I found it for him.... but nobody found it

yesterday found also a bug with null pointer, with another experienced guy, and considered as a senior... I'm not employed as a senior btw..

Now after the above incident of that guy escalating it, the manager is treating me very differently, and they looking for CVs and interviewing others..

I'm now very depressed and very anxious about if they are gonna replace me.. or maybe add to the team another one, am not sure and very worried and that destroys my weekend :(

Ahmed,
Are you looking for job advice, or were you just venting your fears and are looking for commiseration? I think this is an awesome job-advice question, so I'm moving this to the job advice board.

It's unclear what you mean by "escalating it." If you mean getting attaboys when you do something good (or patting yourself on the back when you do something good) and/or getting ohshits when you screw up, well, you can't expect to be patted on the back when you do something good -- that's just you doing your job (that's what's expected of you), and you can expect to hear about it when you screw up. That's just the nature of work.

That said, there are cultural differences in workplaces in different parts of the world. Not sure what the work culture is like in Egypt vs. Austria, since I live in the US.

-- Tom Sloper -- sloperama.com

Advertisement

Thanks for your input. Yes I need a job advice. Maybe I'm so sensitive, but he was so aggressive when I did write to lines of code that caused bugs :(...

he was so aggressive when I did write to lines of code that caused bugs


Maybe that's the way Austrians are - when you do something wrong, they let you know you did something wrong. I don't know what the proper Austrian response is. Here in America, the proper response to an angry boss is, "I realize what I did wrong, and I've learned. I'll work harder to keep that from happening again." But that might not be the right thing to say in Austria, I don't know.

-- Tom Sloper -- sloperama.com

First, I agree that a response will be unique to you and your region. People have different attitudes. I think my response initially to the "that's a bug" declaration would have been mild "That's not a bug, it is a feature", and if they persisted the response would be a mildly aggressive "yes, I introduced a bug. We all have. That is part of programming, any game programmer who doesn't occasionally introduce bugs isn't writing enough code."

As for being fired, unfortunately this industry does that frequently. It is ALWAYS a good idea to keep your CV updated. It is ALWAYS a good idea to keep contact information for your friendly co-workers.

Sadly this is an industry that few people are able to stick in until they retire. Ageism is rampant, and work conditions and bad management are often stupid enough that mature individuals don't want to stay. Of the seven places I've seen in person just one has had anyone actually retire at the end of their career. The vast majority of studios treat developers like disposable workers to be laid off at the end of a successful project. Much like movies and television, they are workers brought on for a single project and then released. Most developers have adapted to this: veterans know better than to treat stock options and bonuses as a thing of value, the company is almost certainly going to lay you off before those pay out.

If you want to work through it, try to work through it. Do your best to make amends and move on. Don't get stuck or fixated on mistakes of the past, keep advancing. Yet at the same time, always have your eye on the exits and be ready to leave without asking for email addresses, because one day HR is likely to pull a bunch of people into a room and announce that effective immediately they're all laid off.

Frob, would you explain bugs that you regret doing it or it is normal to get a null pointer dictionary for example ? like unchecking all boundry conditions, or putting in a for loop <= instead of <.. that's what I did .. :( and its all due to losing focus and stress

Advertisement

Frob, would you explain bugs that you regret doing it or it is normal to get a null pointer dictionary for example ? like unchecking all boundry conditions, or putting in a for loop <= instead of <.. that's what I did .. sad.png and its all due to losing focus and stress

If you've only been working for 7th months I don't think it's that rare to get a null pointer or leave a boundary condition unchecked or something. You'll get better and remember those things more in the future (especially after getting yelled at!).

We all make mistakes. It's best to learn from them and move on. I've made every mistake you listed above. Fortunately, the mistakes you mention are pretty easy to fix and easy to always remember to check. Here's a tip: when you're writing a new function, you should consider the boundary conditions and null pointer assertions and error handling to essentially be part of the function's signature.


int foo(int *pArray, size_t array_size, int idx) // signature
{
    ASSERT(pArray);                              // basically signature
    ASSERT(idx >= 0 && idx < array_size);        // basically signature

    // actual function
}

I like to make sure all the assertions are written first, at the top of the function. That way 1) I remember to write them, and 2) they communicate a bit about what the function is supposed to do to the next person who comes along and looks at the code. The next person, for example, immediately knows that pArray must not be null when he calls this function, etc.

Everyone errs, this a simple, basic truth. Otherwise we would not have spell check, compilers wouldn't point out syntactic errors, retail outlets would provide the correct change (in the right denomination) etc.

You should probably document when you find and repair bugs in "already completed" code (whether your own or others) even if it is only in your own personal work diary (include a reference i.e. if versioning). Dependant on your organisational setup and the severity of the bug/bug repair it may need to be recorded more officially i.e. memo, email etc. Do not be afraid to tell a senior that you have caught a bug in their work (just don't gloat about it) be professional and describe the fix, on the otherhand don't go searching for the senior just to tell him about the bug...unless there will be impacts beyond a simple fix i.e. it is an issue that should have attention drawn to it.

Most importantly though... Have faith in yourself, don't fall into a pit of despair or create monsters in your mind with no definitive proof to support them. Management could simply be expanding the team and not looking to replace you, alternatively they could be looking to replace the gui programmer. The reality is you don't know as you don't have sufficient information to make an informed guess. The advice Frob gave about not depending on job security and absolutely keeping your resume up to date is essential and moreover ensures that you are prepared even if you do end up unemployed.

Finally - being sacked (let go, retrenched, discontinued contract etc) does not mean too much in this industry as it happens all the time. It may not feel great to be sacked but it is not the end of the world, not even close.

Either way I wish you the best of luck and learn to worry only enough to ensure that you prepare for different outcomes (i.e. updating resumes, maintaining and developing contacts etc) but not so much that you cripple yourself into making mistakes or worse.

Don't let it get to you Ahmed. Not sure about Austria, but them being in the EU I don't think laying someone off is that easy. In Sweden (at least) they need a lot of grounds to be able to fire you. Laying an employee off because he/she missed a null pointer or forgot to bounds check isn't exactly a lot to stand on. :)

I might be the sensitive type too, I guess. Maybe you can talk to the guy? Or if he's not the type people talk to, try to just shrug it off as a learning experience.

Symlinked, thanks for your supportive words. and for everyone else.

The thing is its just unfair, because they just treat you as someone who is from a third world country, and the concept of they are always right and I'm always weak is in their heads.

On friday, a guy who was at nivida and rockstar, I asked him kindly, of course for that element in the 3D GUI we need a ray casting to click on it, he laughed so much in front of everyone's desk, I told him yes its ray casting, then he said haha you mean unprojecting, then I told him yes ok,.. I was like yes you're the graphics genius here, you're always correct, then he looked at his engine, and he said lets see how did I implement it, I told him instantly, just get the inverse matrix of view and proj, his engine was a copy and paste of the wildmagic of eberly with some modifications btw, but to everyone, he is like the king of everything, even if he said that once, he was assigned a different task than his graphics programming..

This topic is closed to new replies.

Advertisement