Being a good technical director
Members - Reputation: 647
Posted 01 December 2011 - 03:45 AM
Like any promotion i'm having a bit of stage fright at the moment. Being in charge is a lot of pressure. I need to stay open minded, and listen to the needs and suggestions of my colleagues. But i also need to be firm and direct about my stance on the matters.
On my first day as TD we reinterviewed a programming candidate and i decided we needed a set of real questions, not just the "hey how ya doin? do you like programming? what did you do in school?" questions. I feel like I put together a very fair set of questions, covering a wide spectrum of topics. It was by far our longest interview and unfortunately the candidate did not pass the test. I feel like for the company this was a movement in the correct direction.
I really love designing and writing code and I dont want to see myself slip into a purely managerial role. I want to lead with experience and prove by example. I kind of have some possessive issues when it comes to programming though. I'd rather do everything myself and see that it get's done correctly than to allow someone else the chance of screwing it up.
But now i need to delegate more than ever. To lead game/engine programmers, IT, art leads, designers, test teams. I must really live up to the name director. And I most certainly need to get more organized; start documenting and planning more. I need to look at the very long range picture as well as the near range, weekly tasks.
I'm posting here because i'm seeking advice.
What kinds of things would make me a better technical director?
Will you please share your experiences, either as, or dealing with a technical director?
What would have made that experience a better one?
Thank you very much
Members - Reputation: 717
Posted 01 December 2011 - 07:06 AM
I just read a book on leadership in management and one survey on new managers found that if the new manager kept the "just get it done" mentality they ended up not moving up in their career and ended up hating their new jobs. Of those that embraced the task of delegation, they ended up advancing further and enjoying their jobs more.
I can't imagine this is any different for a technical vs non-technical job. I can promise that if you don't change the way you think about your new job you'll only grow to resent it. You can't handle your managers, the demands of your job, and all of the people reporting you, if you feel like you're the only one that can do things correctly. You'll end up burning out in short order. I'm speaking from personal experience mostly. I had the perfectionist mentality and it was detrimental to my team. Luckily my boss is a good teacher and helped me see the light. Since then, my job has been easier, my direct reports are happier, and I have given my team the ability to get promoted instead of pigeon-holing them into their initial roles.
Members - Reputation: 1181
Posted 01 December 2011 - 07:40 AM
be patient. do not make any drastic changes, no matter if you feel that the company need them(e.g. the interview procedure). be methodical. and one thing must be clear to you, some people do not care for the software product (or quality of the code) as much as you do. try get them involved and make them feel they are important to the project.
i am sure i am not telling you anything new and you already knew these things
Members - Reputation: 782
Posted 01 December 2011 - 08:46 AM
2.What kinds of things would make me a better technical director?
3.What would have made that experience a better one?
2. Bring in Donuts.
I didn't answer your second question because most of my interactions are once removed from the technical director so he's more like a guy who sits in a corner somewhere and occasionally comes out to mess with our stuff in my interactions with him.
Members - Reputation: 1493
Posted 06 December 2011 - 02:03 PM
Main program loop
-Physics (thread 1)
-Read program settings, if changed, update sounds
-Interface by calling Play/Stop()
-How are sounds loaded?
-Does sound hold all the sound clips?
-How does physics engine connect to sound engine when a collision/sound occurs? Maybe a message system. What class/api do I use to do that?
For my personal engine I diagram everything because it helps myself when going back and looking at it and so far nobody documents anything when it matters when you are working on a team.
Members - Reputation: 1744
Posted 09 December 2011 - 04:42 AM
http://pragprog.com/book/rdbcd/behind-closed-doors seemed quite good for example.
Members - Reputation: 647
Posted 09 December 2011 - 05:42 AM
All of the programmers are talking more than ever, because there is a clear leadership position.
They bring a majority of their problems to me and then i can answer their questions, quash their concerns, pair them up, or redirect them to someone else who would be better at helping them.
I create inquiries for other people, refactor the information, and pass it on.
One of my main objectives is to stop new programmers from reinventing the wheel, in major, sometimes catastrophic ways. (dont change all the guid keys to new sequential ones just because they looked almost sequential) I can only do this by talking the programmers regularly. Poking around in changelists and throwing in my two cents on code they've written.
And since all the really heavy stuff ends up on my desk, i still get to have a lot of fun.
During a crunch, a game programmer may ask, hey can you look at this camera code? or can you help me with a crash? and more often than not i have a few cycles to burn for that purpose.
But other times i have to say no i can't help you right now, i'm implementing an entirely new renderer, or other major system.
All in all i'm pretty happy with the way things are going.
Prime Members - Reputation: 3986
Posted 09 December 2011 - 08:04 PM
I'd like to ask you what is your education level to reach this position, and if there is any specialization you're missing right now for it (some extra-curricular course you wish you had taken for this, for instance).
Best of luck.
Members - Reputation: 647
Posted 12 December 2011 - 04:52 AM
Kryson, i have no real formal training. I've been a basement programmer for 11 years. I've made many very crappy engines. 10 or so physics simulations. The only way to learn is by making mistakes. If i could finish a course now i'd like to take more calculus.