Tell me more ×
Answers OnStartups is a question and answer site for entrepreneurs looking to start or run a new business. It's 100% free, no registration required.

Any positive/negative experiences? Advice? I personally feel that my professional life as a developer is now more difficult, it feels harder to explain things and also to prove my worth without being a "babble-mouth". Surely it can't be good for the start-up in question? I'm actually thinking about leaving.

share|improve this question
1  
Update - they have now been sacked, and I think partly it was because of a lack of technical knowledge, but at any level not just knowledge about development. – pilot lite Nov 20 '09 at 12:12
1  
A cowboy riding his horse understands what his horse actually does. A manager riding his engineers should probably understand what they do too. – user14000 Oct 24 '11 at 14:00

13 Answers

up vote 5 down vote accepted

I voted for Chris and MichaelT's responses. Good answers.

You know, the common wisdom is that workers come to a job for the company but leave because of the boss. It sounds like you may be experiencing a common issue of poor management, perhaps exacerbated by the difficulties of a non-technical manager leading a technical team.

(That being said, I am a huge proponent of putting technically accomplished people in those types of management positions, if, and only if, they are qualified for leadership, above beyond their technical achievements. I'd much rather have a highly skilled leader without a technical background leading a group of developers than a superstar programmer with no leadership skills.)

Of course, you could always point your manager at my blog, which will instantly turn him or her into a highly competent, empathetic, and productive leader. :) :)

Kidding aside: you have a fairly typical problem. Start by explaining how you feel in a non-defensive, non-accusing manner, in a one-on-one session with your boss. If you aren't happy with the results of that, then consider going to the founder or your boss' boss, but be aware that doing so may strain your relationship with that person even further. You owe it to yourself, and to the person who hired you, not to keep this matter to yourself until it boils over.

Good luck!

Scott

share|improve this answer
I think I agree with everything you say but I can't anything positive coming out of a one on one, I think I'll have to wait for the issues to become apparent then offer my own opinion. Or leave. But thanks for the response. – pilot lite Oct 15 '09 at 8:05

Speaking as a developer: absolutely yes, and absolutely never.

The most important skills of a manager transcend what the people you are managing actually do day-to-day. The best manager I ever had didn't know how to write a single line of code. What he did however was make a careful study of how it was that we did our jobs.

A manager should not (IMO) get bogged down in the deep details of the architecture and programming nuances. He should hire a team capable of handling themselves on a technical level, and he should be focused on the other aspects. Every time I've ever had a highly technical manager who dabbled too much in the technical details it has been a real problem for the team.

A manager should however really understand how the job gets done. What the best practices are, and what are signals of problems. He should never look scared or lost if a developer starts 'techno-babbling'. He should instead reign in the conversation to keep it at the appropriate level. The manager needs to be technical-enough to understand the developers jobs and challenges without necessarily being a coder himself.

share|improve this answer

Devs, UI/UXes, Enterprise Architects are artists and you can't manage artists (I've come to that conclusion after comparing my first 6 years in the talent management within entertainment industry with life in software dev industry after that), you need to LEAD them. Job of the manager/leader is to remove obstacles, provide tools, and create the environment conducive to that creative process. Good happy devs create product customers love.

Why do I say that?

I've been head of operations for two software dev companies. One was in SaaS space and another was a larger enterprise market multi-platform dev shop with 120+ phenomenal guys and gals. Those awesome devs, UI/UX, EAs did not need any stinkin' management (we hired adults, you know), they needed proper tools and the right environment with the right visionaries who could speak tech and biz fluently. I spent most of my time worrying to make sure to keep bureaucracy away from them, keeping infrastructure scaling, keeping that environment attractive for prospects, and making sure my guys and gals stay. Our corporate culture took care of self-management.

share|improve this answer

Don't give up yet! You're facing a common challenge that most companies and managers run into sooner or later. Managing technical people (engineers, developers, etc) is definitely a challenge, and needs its own approach which is different from how you manage non-technical people.

A really great resource for this topic is "The Human Side of Managing Technological Innovation: A Collection of Readings" by Ralph Katz. This is useful for both sides of the table, managers and developers, to understand eachothers' approach & what to do to address it.

share|improve this answer

Hardly. I had two bad experiences where non-developers managed development.

Problems were in misunderstanding of software development process. It was very hard to explain that late (and often) changes in requirements can cause deadlines to slip.
Also, there were "cost cutting" ideas like: "hire couple more developers now to make it on time, then fire them when finished", but on the other hand I could not get 19" monitors for developers (it was 4-5 years ago when 19" was standard).

I did not hear that anyone hired software engineer to manage construction site or surveying project. You need to have proper education and license to do that kind of work. It looks that software development is the only engineering discipline where anyone can be project manager.
But, that only talks about organizations that allow this to happen.

OK, this was a rant based on my bad experiences.

share|improve this answer

Wow, some people have had really bad manager. I have been managing development teams fro 15 years both onshore and offshore and I cannot write a single line of code. Here is the kicker I have done it very successfully and prudently. The key in managing is empowerment, leadership, vision and removal of barriers. Understanding that developers don't think people who don't write code can't manage them indicates a narrow mind. If your boss needs to do your job for you then mabye the problem is with you and not your boss. That being said I understand software development cycles and I understand egos and those two things have made me able to really understand how to manage developers successfully. Good developers are a dime a dozen good managers are very hard to find.

share|improve this answer

Off course they can. There are lots of issues that have to be dealt with when managing a project that are not coding related.

  • Project tracking, making sure the team stays on focus and track
  • Getting missing resources (Training, books, new people)
  • HR Issues, vacation, new hires

    As a developer there are lots of road blocks that are none coding related.

    The important part as a non technical manager is do not give technical advice and rely on your team lead for the technical aspects of the project.

  • share|improve this answer
    that is not managing people - that is managing projects. Big difference. – TimJ Feb 1 '10 at 2:27

    It really depends on a type of work that you have.

    Is it software development from scratch, or customization/integration of product from other vendor, or small web-shop?

    Different project needs different expertise.

    Customization/integration projects does not usually need deep techonology expertize. Non-techinical person can succesfully manage it.

    Development from scratch from other side needs very deep understanding of development process.

    What type do you have?

    share|improve this answer
    It's from scratch in our case. Maintenance and new dev. – pilot lite Oct 14 '09 at 12:21

    I guess it is possible, but I have never seen it first-hand.

    I have also seen many "technical" managers screw up badly.

    To manage people well one has to understand what is important for them to get their work done. That USUALLY means understanding the work itself.

    share|improve this answer

    Honestly, no; in my opinion and experience, you cannot manage a software development team unless you are capable of actually doing the work you're managing others in achieving yourself (albeit it would take you much longer to work on your own and do everything yourself). In my experience, all non-technical managers bring to a development team is a Kirk/Scotty attitude that might work in the movies, but causes massive headaches and bad faith between colleagues in real workplaces. Which is to say, most conversations between non-technical managers and technical workers consist of variants of the following discourse:

    Manager: "How long will this thing take to build?" Developer: "Two weeks." Manager: "Well, I need it done in one."

    After several iterations of the above, as your team recognises that you don't know what you're talking about, and you don't have enough intelligence or confidence in their abilities and skills to listen to them when it comes to what it is possible to achieve and how long it will take, you can bet they will just start humouring you, and telling you that everything will take twice as long as they know it will in actuality. They do this because they (correctly) anticipate your having an opinion about every estimate or assertion they give you in good faith, without your having relevant experience or insight to back your opinion up.

    Source of this knowledge: 20 years as a developer, incorporating 10 years as a direct report of various opinionated numpties, and 10 as a manager of developers that knows better than to question her developers without being able to back up her opinion with actual facts.

    share|improve this answer

    As a developer you do have power: If you don't agree with a decision made by management, then let them know what effect you think it has on (long term) development cost / effort. You have to fight to get things right!

    Time and money are variables that managements listens to. Every time it realizes that you were right, trust grows, and things become easier for you.

    To answer the question:

    • If management is lucky to have hired a developer on the team who understands the business and who is willing to fight, then things can work out fine in the long run. When a developer never argues and just blindly executes, then he most likely is the wrong guy.

    • To enable better understanding of the business, management should provide the developer with sufficient details and data, i.e. it should not just tell him: do this, do that

    share|improve this answer

    Hey Boss, we need about two months of work for the login portion of the website.

    QUESTION TO THE NON-TECHNICAL DEV MANAGER: Is that an accurate assumption?

    I rest my case.

    share|improve this answer
    Maybe for an inexperienced manager, but after a project or two, you get a pretty-good idea of how long things take. You lose all trust and credibility and you'll get micromanaged to the point where you either leave or start getting things done. – JeffO May 19 at 0:19

    I think it helps to have some experience, but it's not impossible. It takes a lot of work to understand programmers and how software gets built. Thinking the best programmers make the best team leaders or managers is a bad idea. Having someone with domain knowledge can benefit a team a lot more.

    Serving Your Team: Joel Spolsky has a blog post on a team leader/manager creating an abstraction layer for the development team. If you can provide this to a qualified team, you're better than most.

    Hiring: Can you spot a talented programmer? Do you have a network of programmers you know can get the job done? This is your greatest contribution to the team to get the right team on board. If people can't get things done, you'll be responsible for replacing them or suffer from the poor quality of their work.

    It's a job that requires specific skills and either you have them or you don't. It's a waste of time to think those with programming experience have any monopoly on this.

    Yes, I am a developer with a boss who has never written a line of code in his life, but is a great manager because he knows the business and he knows how to manage. A huge part of it is trusting the people who know more about certain areas than he does.

    share|improve this answer

    Your Answer

     
    discard

    By posting your answer, you agree to the privacy policy and terms of service.

    Not the answer you're looking for? Browse other questions tagged or ask your own question.