• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
NotMyRealName

Wrong career move?

28 posts in this topic

So, it's time to put your careers guru hats on.

I've been working as a professional developer in one form or another for about 12 years now. The first 8 or 9 mostly in C++ and the last few in C#/.net. My last few roles were as a "senior developer".

At the end of last year, I was offered a role as a technical lead. The idea was that I would have the main responsibility in a small company and have more opportunity to make the bigger decisions. The company was redeveloping their legacy MFC app in .net.

My last company, while sometimes frustrating, was a good work environment and I got on well with most of my workmates, so I was reluctant to leave, but it was a pretty decent payrise and more importantly, more responsibility/autonomy. So I took the new job.

I've been here 3 days now and I can't help but feel I've made a huge mistake. The work environment is awful, the existing codebase is worse than anything I've seen and I don't see any of the "technical lead"y stuff happening in the near future at all. In short, i now dread getting up each day.

Do I "tough it out" and hope it gets better? (yes, I'm aware I haven't given it much time, but I've hd enough jobs to get the feel of a place). Or do I cut my losses now and just quit (there are other potential roles I could look at)?

Thoughts?
0

Share this post


Link to post
Share on other sites
I was in a simlar position to you several years ago. I was at a job witha work environment I liked, got along well with the people there. The pay wasn't that great, and the location wasn't that great, and I ended up taking a job that offered over twice my previous salary, and offered to advance my position. I'll say this. Never again will I take a job based purely on money.

Use the interview to your advantage. Remember, it's not just them interviewing you; you're also interviewing the company. I had several bad vibrations from the interview, but I ignored them. I started the job, and thought, well, I'll though it out. Toughing it out did not work. I thought, well, I'll give it 2 years to be fair. The job went from bad to worse. My mood became horrible. I was angry all the time. My nice salary I found was being spent on just trying to keep me sane. I hated the job and didn't want to be there.

Now, you'll say, why not change jobs? I'm not completely sure about whether or not it's a good thing to change jobs immediately, and how bad it reflects upon you, but it's much easier to change jobs sooner rather than later. Trust me, when you hate your job and are in a state of depression, you do not notice how you reflect upon others. Even when interviewing, you'll be more negative, and companies will be less willing to hire you because of your attitude, even though you think you did fine. I was probably the most negative person at my last job, and after a year removal from it, I've talked to a few old colleague's, people who I thought were all happy-go-lucky, and from my removal, I kind of noticed that they honestly were kind of depressing also. It was just that I was so upset, that in comparison, they appeared to be happy. If you're not happy where you are, the longer you wait, the harder it's going to be to get a new job. At the very least, I would try finding a different division to work under to try to peacefully resolve your issues.
0

Share this post


Link to post
Share on other sites
[quote name='NotMyRealName' timestamp='1294801013' post='4757518']
So, it's time to put your careers guru hats on.

I've been working as a professional developer in one form or another for about 12 years now. The first 8 or 9 mostly in C++ and the last few in C#/.net. My last few roles were as a "senior developer".

At the end of last year, I was offered a role as a technical lead. The idea was that I would have the main responsibility in a small company and have more opportunity to make the bigger decisions. The company was redeveloping their legacy MFC app in .net.

My last company, while sometimes frustrating, was a good work environment and I got on well with most of my workmates, so I was reluctant to leave, but it was a pretty decent payrise and more importantly, more responsibility/autonomy. So I took the new job.

I've been here 3 days now and I can't help but feel I've made a huge mistake. The work environment is awful, the existing codebase is worse than anything I've seen and I don't see any of the "technical lead"y stuff happening in the near future at all. In short, i now dread getting up each day.

Do I "tough it out" and hope it gets better? (yes, I'm aware I haven't given it much time, but I've hd enough jobs to get the feel of a place). Or do I cut my losses now and just quit (there are other potential roles I could look at)?

Thoughts?
[/quote]

The existing codebase is bad, that's probably why they need you the most. Stay and leave your mark by improving their codebase. If they don't allow you enough room and autonomy to make the changes you would like to see, then let them know that you are unhappy.
2

Share this post


Link to post
Share on other sites
[quote name='hiigara' timestamp='1294802808' post='4757531']
The existing codebase is bad, that's probably why they need you the most. Stay and leave your mark by improving their codebase. If they don't allow you enough room and autonomy to make the changes you would like to see, then let them know that you are unhappy.
[/quote]
I was in a similar situation and i did improved the... well, no, i completely [i]scrapped[/i] the old code and started over from scratch. The old code was TheDailyWTF worthy. The new code was much much better. Doing everything from scratch was hard, but...
[b]
Anything I do now makes me look awesome compared to the last guy![/b]

If you don't have the authority to make the code shine, then yes, i fully support you looking for other work. Better to work at a gas station and be happy than hate every day of your life.
0

Share this post


Link to post
Share on other sites
I don't have much real world experience, but I've worked at a university for 3.5 years with the freedom to scrap and start any project from scratch. If your company can afford it then it's an amazing feeling. I redid all of the university printing servers and software documenting everything from the very beginning and I haven't touched things really in like a year and a half.

It sounds like they hired you thinking you could improve things.
[quote name='NotMyRealName' timestamp='1294801013' post='4757518']
Do I "tough it out" and hope it gets better?
[/quote]
As the technical lead can't you make it better?
0

Share this post


Link to post
Share on other sites
On the bad code situation, it is usually your own (collective) fault:

You [b]MUST[/b] allocate time in every task to clean up afterward. You must also allocate time for "spring cleaning" as your code base grows over the years.


It is like living in a house but never taking out the trash. Moving to a new house will not solve the problem, you'll just accumulate trash at the new one.

Or never cleaning up your desk. It makes your workplace gradually become more unusable, then unbearable, until ultimately your boss demands change.

You cannot work in a machine shop and never sweep up or clean up the scraps, splinters, and dust. (Well, you can, but then you've got a fire hazard and will be shut down.)

You cannot perform surgery without taking out the sponges and sewing the patient back together.


Okay, enough with the analogues. It doesn't matter how many times the code is rewritten from scratch, if you don't learn to clean up your code as you go you will always end up with a mess.





As for the job, sounds like it is time for soul searching. I recommend hitting the Appendix in the book "What Color Is Your Parachute?" to help with the soul searching. Once you are sure what direction you want to go, then you can use a simple decision grid to help make the choice.

Bad economy cycles are an interesting time to change jobs. Once you actually know what you want, and assuming you believe you could get that job elsewhere, you should consider talking to your current employer. You stuck with them as times have been difficult, now see how willing they are to work with you. A soft touch and gentle persuasion (not the "do it or I leave" attitude) might give you the best of both worlds. You might end up at the same company but working on new growth that the company has been wanting to explore, possibly with a compensation change or a promotion or other benefits. Or it might just give more ammunition to the move. In any event, you will be better off for it.
0

Share this post


Link to post
Share on other sites
Thanks for all the replies. To take them in reverse order, Frob, it's really not my fault. I just started and I had nothing to do with this code.

Sirisian, this is part of the problem. I'm [b]supposed[/b] to have that kind of authority, but it's been made pretty clear to me that I won't

leiavoia, tempting as it would be to start over. It would be the wrong thing to do. It is a very substantial application and I don't have the resources to scrap it and start over.
0

Share this post


Link to post
Share on other sites
3 Days is definitely way too early to call it quits. If your dreading going to work every day (only 3 morning so far) then you have to look a bit harder as to what you can gain from working there.

If you don't see the technical lead responsibilities coming any time soon, then start looking for your own project to help the company out. Coming up with new ideas and presenting them to others, even if the get rejected, is great way to show your value to the team. In a previous position I had I came up with a concept for a new internal tool. I worked on it on my down time and now it has become very useful to the company.

Perhaps you could explain why you feel you won't be getting the responsibilities you thought you were going to? Who is making the decisions you should be making? Is there any way to assert yourself into those decisions?
0

Share this post


Link to post
Share on other sites
[quote name='NotMyRealName' timestamp='1294821145' post='4757617']
Sirisian, this is part of the problem. I'm [b]supposed[/b] to have that kind of authority, but it's been made pretty clear to me that I won't[/quote]Then leave. They misrepresented the position, and you're not interested in a lateral move to an inferior organization - feel free to tell them so in plain terms. Advertise that you will begin seeking alternate employment from an organization that means what they say in their ads. Also look into whether you can return to your old job.
1

Share this post


Link to post
Share on other sites
[quote name='Oluseyi' timestamp='1294848858' post='4757768']
Also look into whether you can return to your old job.
[/quote]
That's an interesting suggestion. I do wonder though, has anyone here ever managed to pull that off?
0

Share this post


Link to post
Share on other sites
On the one hand, there's something to be said for instincts but on the other, three days seems a pretty short time to have an informed opinion about the job. If you're the technical lead, have you tried to take the lead or are you waiting for someone to hand you the reigns? Before you be direct to them about wanting to leave maybe be direct with them about what you're supposed to be doing there.
0

Share this post


Link to post
Share on other sites
[quote name='hiigara' timestamp='1294802808' post='4757531']
The existing codebase is bad, that's probably why they need you the most. Stay and leave your mark by improving their codebase. If they don't allow you enough room and autonomy to make the changes you would like to see, then let them know that you are unhappy.
[/quote]Indeed. If you're hired as a lead, part OF your job is TAKING charge, not waiting to be given authority. Start acting like a lead. If explicitly told not to, ask why they hired you (if you're considering leaving anyway).


[quote name='leiavoia' timestamp='1294810349' post='4757565']
I was in a similar situation and i did improved the... well, no, i completely [i]scrapped[/i] the old code and started over from scratch. The old code was TheDailyWTF worthy. The new code was much much better. Doing everything from scratch was hard[/quote]
[quote name='Sirisian' timestamp='1294810881' post='4757568']
I don't have much real world experience, but I've worked at a university for 3.5 years with the freedom to scrap and start any project from scratch. If your company can afford it then it's an amazing feeling. I redid all of the university printing servers and software documenting everything from the very beginning and I haven't touched things really in like a year and a half.[/quote]

Eeew, doing from scratch is a horrible plan. Then the next guy comes along and doesn't like your code, and decides to rewrite from scratch... meanwhile your competitors have shipped 2 new versions of their software based on "terrible" code and you are losing business.


0

Share this post


Link to post
Share on other sites
[quote name='Tachikoma' timestamp='1294849444' post='4757771']
[quote name='Oluseyi' timestamp='1294848858' post='4757768']
Also look into whether you can return to your old job.
[/quote]
That's an interesting suggestion. I do wonder though, has anyone here ever managed to pull that off?
[/quote]I've had the option to, and I know people who have done it.
0

Share this post


Link to post
Share on other sites
[quote name='Tachikoma' timestamp='1294849444' post='4757771']
That's an interesting suggestion. I do wonder though, has anyone here ever managed to pull that off?
[/quote]

Happens all the time. I worked at a place that hired someone who quit before their first day of work and went back to their old job.
0

Share this post


Link to post
Share on other sites
[quote name='Tachikoma' timestamp='1294849444' post='4757771']
[quote name='Oluseyi' timestamp='1294848858' post='4757768']
Also look into whether you can return to your old job.
[/quote]
That's an interesting suggestion. I do wonder though, has anyone here ever managed to pull that off?
[/quote]
Yes, I've seen it several times. I've never seen an immediate boomerang work in a professional work environment. It is different for those who return after an extended period rather than immediate boomerang.

You will be known as a flight risk at your returned job. After all, you left once. Regardless of the morality of the situation, you will be treated differently. Depending on the reasons for your return, you might be treated as a newfound slave since you refuse to leave, or you might be treated as a pariah or outcast.

Leaving a company, even if you left on good terms, has a big cost financially and emotionally. Even if on the surface you are welcomed back, your leaving will have caused a substantial rift. It may be better to wait a year or more before returning.



[quote name='d000hg' timestamp='1294854232' post='4757823']
[quote name='hiigara' timestamp='1294802808' post='4757531']
The existing codebase is bad, that's probably why they need you the most. Stay and leave your mark by improving their codebase. If they don't allow you enough room and autonomy to make the changes you would like to see, then let them know that you are unhappy.
[/quote]Indeed. If you're hired as a lead, part OF your job is TAKING charge, not waiting to be given authority. Start acting like a lead. If explicitly told not to, ask why they hired you (if you're considering leaving anyway).
[/quote]
Simply put, are you a leader or not?

Control is a myth. You can never be given control because that just isn't possible. You can be given authority, but that is not leading. When you start leading you inherently pick up both authority and the illusion of control. How you manage those perceptions is an important part of if you will succeed as a leader or not.

It is you who must become the leader. It is not conferred as part of a job title.
0

Share this post


Link to post
Share on other sites
Sorry, but in reality you cannot simply aasume control of a work environment straight away. First off, its a very small company, the only other people there have been there from the beginning and are the domain (if not technical) experts.

Oluseyi, I had considered going back to my old job, but as others have said, I'm not sure that'd be a good move. They now know I want something they can't provide.
0

Share this post


Link to post
Share on other sites
And for the record, part of the reason I got this job is because I have a track record of taking control when needed. However, that requires management who are receptive to good ideas. Not sure if that will happen here.
0

Share this post


Link to post
Share on other sites
[quote name='leiavoia' timestamp='1294810349' post='4757565']
[quote name='hiigara' timestamp='1294802808' post='4757531']
The existing codebase is bad, that's probably why they need you the most. Stay and leave your mark by improving their codebase. If they don't allow you enough room and autonomy to make the changes you would like to see, then let them know that you are unhappy.
[/quote]
I was in a similar situation and i did improved the... well, no, i completely [i]scrapped[/i] the old code and started over from scratch. The old code was TheDailyWTF worthy. The new code was much much better. Doing everything from scratch was hard, but...
[b]
Anything I do now makes me look awesome compared to the last guy![/b]

If you don't have the authority to make the code shine, then yes, i fully support you looking for other work. Better to work at a gas station and be happy than hate every day of your life.
[/quote]

I'd +1 this if I could. If you have the authority and you aren't a code monkey anymore you should be able to really make an impact, which could be great for you. Try to make the changes you want to see there. If they don't let you make those changes, THEN I'd say start looking around.

[quote name='Tachikoma' timestamp='1294849444' post='4757771']
[quote name='Oluseyi' timestamp='1294848858' post='4757768']
Also look into whether you can return to your old job.
[/quote]
That's an interesting suggestion. I do wonder though, has anyone here ever managed to pull that off?
[/quote]
I haven't, but I feel like as long as you left on good terms, they were aware of why you left, and they haven't filled the position you should be fine.

Also you shouldn't have done this:
http://www.youtube.com/watch?v=wkcoobYUu8g
0

Share this post


Link to post
Share on other sites
[quote name='NotMyRealName' timestamp='1294862389' post='4757916']
Sorry, but in reality you cannot simply aasume control of a work environment straight away. First off, its a very small company, the only other people there have been there from the beginning and are the domain (if not technical) experts.

Oluseyi, I had considered going back to my old job, but as others have said, I'm not sure that'd be a good move. They now know I want something they can't provide.
[/quote]

They hired you for a management position though. If you can't take the bull by the horns your first day you should probably make way for somebody that can. Those "experts" are always going to be experts, if you are scared to delegate them now then that won't change six months from now.
0

Share this post


Link to post
Share on other sites
[quote name='NotMyRealName' timestamp='1294862389' post='4757916']
Sorry, but in reality you cannot simply aasume control of a work environment straight away. First off, its a very small company, the only other people there have been there from the beginning and are the domain (if not technical) experts.
[/quote]
Correct. Trust is earned and becoming the go-to guy is gained over time.
[quote name='NotMyRealName' timestamp='1294862614' post='4757921']
And for the record, part of the reason I got this job is because I have a track record of taking control when needed. However, that requires management who are receptive to good ideas. Not sure if that will happen here.
[/quote]
Getting hired into a lead capacity is risky that way. My short list:
* You must very rapidly gain trust.
* You must very rapidly become expert at something, and learn who the experts are for everything else.
* You must very rapidly establish your own leadership and sources of power. That leads to the illusion of control. Positional power (I'm the leader) is one of the weakest. You need to find and gain other sources. Probably the most easily available to you are informational power and resource powers. Probably the most useful when starting is the power of your own personal traits.
* You must very rapidly learn who can be trusted with your power, using it to take a leadership role rather than a micro-manager role. Leaders find ways to give away or delegate power, and when done correctly, delegating your power actually increases your own. Failure to give power to others reduces it. Giving it away improperly leads to unemployment. This is part of what makes leading so much fun.

What is your plan for those?

If you don't have a plan, there are many piles of excellent books on leadership, project management, and career building that can help. Visit your library and read up.
0

Share this post


Link to post
Share on other sites
[quote name='d000hg' timestamp='1294854232' post='4757823']
[quote name='leiavoia' timestamp='1294810349' post='4757565']
I was in a similar situation and i did improved the... well, no, i completely [i]scrapped[/i] the old code and started over from scratch. The old code was TheDailyWTF worthy. The new code was much much better. Doing everything from scratch was hard[/quote]
Eeew, doing from scratch is a horrible plan. Then the next guy comes along and doesn't like your code, and decides to rewrite from scratch... meanwhile your competitors have shipped 2 new versions of their software based on "terrible" code and you are losing business.[/quote]

He he. Actually, in our case it was virtually the only option. Let me say it like this: The previous "programmer" was using a separate database table for each user account... there were 10,000 tables... Do i need to go on? :-)
0

Share this post


Link to post
Share on other sites
I'd talk with the people who hired you about how you are feeling about the differences between what you thought the job was and compared to what the reality of it appears to be. Open communication goes a long way.
0

Share this post


Link to post
Share on other sites
[quote name='zer0wolf' timestamp='1294869218' post='4757985']
I'd talk with the people who hired you about how you are feeling about the differences between what you thought the job was and compared to what the reality of it appears to be. Open communication goes a long way.
[/quote]
Assuming that is desirable.

Management can always pull the troublemaker card. He does want to be a team player, right? And putting one's own interests in front of the project is not very team-like. As for leaving - nobody wants to leave with a mark of "refused to do the job" and "not a team player".

It's very easy to twist someone into submission.
0

Share this post


Link to post
Share on other sites
[quote name='Antheus' timestamp='1294872108' post='4758022']
Assuming that is desirable.

Management can always pull the troublemaker card. He does want to be a team player, right? And putting one's own interests in front of the project is not very team-like. As for leaving - nobody wants to leave with a mark of "refused to do the job" and "not a team player".

It's very easy to twist someone into submission.
[/quote]
If that 'card' was pulled then I'd immediately start looking for a new job. The OP was hired for a reason. If there is a conflict of interests then that needs to be known right off the bat. If the management doesn't give a rat's ass, then says a heck of a lot about the company.

0

Share this post


Link to post
Share on other sites
[quote name='Antheus' timestamp='1294872108' post='4758022']
[quote name='zer0wolf' timestamp='1294869218' post='4757985']
I'd talk with the people who hired you about how you are feeling about the differences between what you thought the job was and compared to what the reality of it appears to be. Open communication goes a long way.
[/quote]
Assuming that is desirable.

Management can always pull the troublemaker card. He does want to be a team player, right? And putting one's own interests in front of the project is not very team-like. As for leaving - nobody wants to leave with a mark of "refused to do the job" and "not a team player".

It's very easy to twist someone into submission.
[/quote]
He's a new hire with less than a week on the job.

It is highly unlikely that "management" would go through the trouble and expense of hiring a new lead for an existing team and then intentionally set them up for failure.

Communication is important. It is one of the [i]many [/i]necessary skills to become a leader.
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0