Growing my development career

Ancalagon

Honorary Master
Joined
Feb 23, 2010
Messages
18,207
Reaction score
3,678
Hey guys,

I've been a software developer for over 6 years now, and I'm looking to grow my career.

I want to move into architect roles, and eventually into CTO type roles.

Are there any courses you guys can recommend that might help? Or anything I can do via self study? I've ordered some Christopher Alexander books for self study - for interests sake.

Is it worth doing a project management course? Prince2 or something?

I'm well respected in my current job, but I feel that I can't sit on my laurels, I need to be proactive about developing myself.
 
What does your role look like now with the team?

First you should try become the lead of a mult-person team. Then once you have a track-record, you can lead the development for larger, core development teams, and become an architect. Obviously, you will have to hone your software design skills, as well as soft skills, since you will have to work on both the tech and business side of the fence.

In my experience CTOs of large companies tend to have a lot of leadership experience, but are also very well recognized in their field - often they have strong academic backgrounds, but sometimes they just know all technical aspects of the business (or industry, for large companies, again) due to many years of experience working there. I would say that if tech is the focus of your company, then the academic background becomes more of a focus, but if IT isn't core to your industry (rather it is support), then it becomes more about understanding the business: trying to figure out what your management chain knows that you don't is usually a good start.

Oh, yeah - I've never met a CTO or CIO with any management qualifications - the roles usually evolve. Project management generally seems to fall on the shoulders of the people managers and project managers, which at least in the industries I've worked in, are orthogonal to the technical hierarchy.
 
Last edited:
The company I work for is too small to have anyone for me to lead, although I do mentor one very junior guy. I have started my own company, which taught me a lot about leadership.

I think I want to develop my understanding on both levels - business and tech. My understanding of tech is pretty good, but I'd like to work on my design and architecture skills.
 
That's going to be tricky with such a small head count. Thought about moving elsewhere? In my first job, I eventually became the lead of a team of 3, this then got me into another job where I was the lead of a team of 9. I then moved to another job, as a senior dev, and become a manager, and eventually managed projects consisting of 40-50 engineers - way too much management actually, so then for my current job, I took on a role as an architect. I had to work well with a lot of other people in order to get here.

EDIT: One more point - the most common drivers for vertical growth tend to be: the company/division is growing, someone higher up left the company, and moving to another company. It's very unlikely that a role will be made for you, so it's often a waiting game. The most you can do is try encourage growth yourself, by creating change, or moving on when things become static.
 
Last edited:
Yeah, I have, but I've only been here for 6 months. And to be honest, I'm working on quite an interesting project at the moment. They do want to expand the team, but the guy they want to hire is actually more senior than me. So I wont be managing him.

I might stay where I am for the next 12-18 months.
 
Well, there's nothing wrong with biding your time and sharpening your technical skills - my strongest managerial attribute, is that I'm a really good technical guy. Sooo much organizational and political BS arises from the fact that a lot of managers/architectcts don't understand what their reports/colleagues are doing.
 
Yeah, that is true. It is definitely an issue in the company I work for, although I dont want to give too many details, it is really a very good thing that they hired a CTO.
 
You should try and move to an organisation which has a bigger developer setup. You will get better support in moving up the management ladder in IT. Not everyone is suited to managing people. Most people have no idea that they are unsuitable to manage people.

First try to get a role as team leader for a fairly large team. Get a few years at that level first. You will find out soon enough if dealing with peoples crap is your "cup-of-tea@ :) Once you cross into management per se, it's hard to go back because more employers will wonder why you taking on a non-management role after being in management.
 
Interesting thread.

Once you cross into management per se, it's hard to go back because more employers will wonder why you taking on a non-management role after being in management.

That's a big issue for me personally. Also, once you move out of a technical role for any extended period, I can imagine that your skills get a bit rusty. If you decide to move back into a technical role, you might find that there are many other developers whose skills are a lot sharper. This could be a result of your colleagues not taking the same route as you, or because of new developers being hired to fill the void you left. Alternatively, one could move into a technical but higher-level role such as architect, tech lead etc.
 
I think the technical lead and architect roles sound more interesting to me than project management.
 
That's a big issue for me personally. Also, once you move out of a technical role for any extended period, I can imagine that your skills get a bit rusty. If you decide to move back into a technical role, you might find that there are many other developers whose skills are a lot sharper. This could be a result of your colleagues not taking the same route as you, or because of new developers being hired to fill the void you left. Alternatively, one could move into a technical but higher-level role such as architect, tech lead etc.

I've moved back and forth a bunch of times, and found that it has helped my career a lot. When I really did a lot of management at work, I would usually work on some sort of home coding project for fun, and to keep sharp. I've found that being in tune with the managment perspective has made me more valuable as an architect: I know what the managers really want from their requests, and what the political motivations and dynamics are. I also know how the promotion and compensation structure works, as well as what my manager will need from me to maximize my stocks/bonus/raise potential.

Most of the companies I've worked at (all tech focused) don't generally hire people in as managers - rather they promote from within. This is fairly common, so it's no surprise to see CVs with people bouncing about between roles. I've seen a bunch of really senior managers (guys who manage hundreds of engineers) go back to working as engineers again within the same company too - management can get boring, and if you're in a position where you can get the same compensation as an engineer if you so desire, it's an attractive alternative. Personally, I've never lost compensation moving from a managerial role to a hands on role.
 
I have also moved between management and development a couple of times, also never for a salary decrease. I agree with cguy that it really helps to know how both sides work.

Also, very important that if you move to management and wants the option to move back to development, make sure to keep your technical skills up to date with side projects. I have interviewed managers who wanted to do some development again, but they were too rusty, so the company could not take the risk of hiring them as a developer, since one could not tell if they at some stage were good developers. They were effectively stuck.
 

It sounds like this guy missed the memo: if you're not that good in your chosen field, you will get the grunt work.

He talks about algorithms, system programming and graphics. Why is it too late to specialize?

It is also pretty amusing that he complains about not having Internet. I learned how to program in the 80's from books... From the library... Made of "paper".
 
Last edited:
It sounds like this guy missed the memo: if you're not that good in your chosen field, you will get the grunt work.

He talks about algorithms, system programming and graphics. Why is it too late to specialize?

It is also pretty amusing that he complains about not having Internet. I learned how to program in the 80's from books... From the library... Made of "paper".

Agree. What I got from that article is that a career in software [...] isn't an easy meal ticket like many people seem to think it is. That's why I hate the IT abbreviation, because everybody is in "IT".
 
Top
Sign up to the MyBroadband newsletter
X