Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

This might sound rather strange for someone who just graduated with an undergraduate degree in software engineering, but I'm extremely interested in the process and people side of software engineering. (You should see some of the looks I've gotten during interviews when asked about my professional interests and strengths, which were then followed by questions and interesting discussions on these topics which often surprise interviewers.) The people side includes customer-facing (requirements, acceptance testing) and organizational-facing (management and leadership). A look over my transcript and my answers to questions here pretty much shows this.

I've had these interests well before I graduated: I took extra classes in the process-oriented track, as well as minoring in business management (focusing on organizational behavior and leadership classes) and communication (focusing on group and technical communication).

A few examples of what I'm interested in:

  • process models and methodologies
  • process and software quality
  • measurements and metrics
  • project management
  • organizational behavior
  • organizational communication
  • leadership
  • software development life cycle
  • software engineering as a profession

I also consider myself well-read on these topics. I've read several of the major books - McConnell's Rapid Development, Software Project Survival Guide, Software Estimation, Professional Software Development, Boehm's Software Engineering Economics, Kan's Metrics and Models in Software Quality Engineering, Brooks's Mythical Man Month, DeMarco & Lister's Peopleware. I'm also well-read on the entire SDLC, from Weigers' Software Requirements through McConnell's Code Complete and have practical experience in design, construction, and maintenance.

Don't get me wrong - I think the technical side is fun. I'm into architecture, design, and programming, but I'm more interested in working with the people-oriented side of software development. However, there aren't that many opportunities as an entry-level software engineer (even with 2 years of co-op and summer employment experience in the field).

Now, I'm not really sure where I should go next. I currently have a very nice job in the sector that I've always wanted to be in, doing development work. This includes both continuing to develop existing software as well as some new software development coming down the pipeline in the near future. I'm also planning on sitting for the IEEE Certified Software Development Professional in about 2 years and perhaps self-studying for the PMI's Certified Associate in Project Management before I qualify for the Project Management Professional.

My personal question is: how "on track" am I? However, I also have much more widely pertinent questions that would apply to any early-career software engineers who want to go into project management/process management:


  • Until the opportunities to become a leader present themselves, what can an entry-level/early professional software engineer do at work? Is there anything in particular that can be done, other than seek out and/or wait for opportunities to present themselves?
  • What kinds of material can be self-studied, especially in terms of these topics or related topics that would help prepare for when one enters these positions?
  • In terms of continuing education, what kinds of graduate programs would focus on these topics? Not necessarily specific universities, but would this typically be engineering programs, business programs, or some kind of multidisciplinary programs? How would one go about finding universities with programs that offer this kind of education?
  • Where is the current state-of-the-art in this research? This is both in terms of publications and where key players are located (universities, organizations, conferences, and so on)?
share|improve this question
    
For graduate programs, I believe the most obvious choice would be the SEI at Carnegie Mellon. –  Vitor Jul 19 '11 at 2:44
    
@Vitor Braga The problem with the SEI is that most of their certificates appear to be related to becoming a trainer or instructor (unless I'm missing some), neither of which I'm interested in. I would rather be hands-on, making changes in an organization. Perhaps I would be interested in doing research down the road, very long-term. CMU's Master of Science in Information Technology Software Engineering Management appears to be relevant to my interests, but I can't even apply for another 3 years (if they count my co-ops and internships as work experience, otherwise 5 years). –  Thomas Owens Jul 19 '11 at 9:47
1  
@Thomas - in this area - you must gain reasonable amount of hands-on experience before approaching advanced research degrees. Any place that allows you working on this subject without any prior experience - is probably not worth considering. –  littleadv Jul 19 '11 at 10:02
    
@littleadv I'm not necessarily looking for a research degree at this point, but rather something more hands on. Any research would probably be 30+ years down the road, after I retire from industry. I'm just looking for potential graduate programs that I can start within the next 1-3 years. I'm also not afraid to look at softer, non-technical programs, as long as I can sell it to my organization that it will make me better at what I'm paid to do. –  Thomas Owens Jul 19 '11 at 10:13
    
@Thomas - I'm not originally from the US, I keep forgetting that undergrads don't learn anything here and you need some graduate courses to actually learn stuff... Sorry:-) –  littleadv Jul 19 '11 at 10:18
show 2 more comments

closed as not constructive by Thomas Owens Mar 4 '13 at 16:05

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

1 Answer

You're on track, but the track is long, and you'll have to put some effort in order to get to the point where you can do what you want.

I share your desires and interests, and had several opportunities to contribute in the field of process engineering at my places of work, but it was only after I've shown to my employers my potential, and the potential of my suggestions. My day job is software engineering, aka creating software. I do know people who hold senior positions and whose job, for 100% of their time, is process development, improvement and engineering. These people have a lot of hands-on experience, and a lot of theoretical knowledge, and knowledge of what's going on in the industry. These are not recent undergrads.

As to your questions:

Until the opportunities to become a leader present themselves, what can an entry-level/early professional software engineer do at work? Is there anything in particular that can be done, other than seek out and/or wait for opportunities to present themselves?

Engineer software, of course. Well, processes and methods are part of QA, but no-one will hire you for that without any prior experience in actually doing what the processes are supposed to improve/organize. Only one who has been a programmer, for quite a while, and been a good one, will be able to improve the process of developing software.

What kinds of material can be self-studied, especially in terms of these topics or related topics that would help prepare for when one enters these positions?

Anything, really:-) Depending on what you want to work on, you have to be fluent as to what's going on in the industry in that field. If it's build processes, testing, development cycle, or whatever - study all the available and potential tools related to it, and how they work.

In terms of continuing education, what kinds of graduate programs would focus on these topics? Not necessarily specific universities, but would this typically be engineering programs, business programs, or some kind of multidisciplinary programs? How would one go about finding universities with programs that offer this kind of education?

You can target the field as part of MSCS, check for schools that have relevant programs (most of the schools that have engineering degrees will probably have something, but schools that only have math/CS - might not). It may be under computer engineering, as well. Also, MSIS programs might be relevant. Business programs are more about business and executive level, you're interested in hands-on engineering, so I'm not sure if business programs will fit you. I gained a lot knowledge in the field from my MSCS program, but it was not in the US, so probably won't be relevant to you.

Where is the current state-of-the-art in this research? This is both in terms of publications and where key players are located (universities, organizations, conferences, and so on)?

Look for SIGSOFT and SIGTEST events.

share|improve this answer
    
Nice. Working hard at what I do, and demonstrating what I know is the only way to handle things now. I don't think you should be a leader if you can't do what you are leading. But a few questions. Other than going to university websites and looking at their curriculum or calling/emailing the school, is there a way to see if an MSCS or MSIT would have a track in what I'm interested in? Also, are there any specific events - I've looked at both IEEE and ACM events, and many are outside the US. It might be hard to convince my company to help cover costs for such things, and I can't afford it soon. –  Thomas Owens Jul 19 '11 at 10:00
    
@Thomas - look at the personal sites of the researchers. If you have Ian Sommerville as your adviser, it really doesn't matter what university you went to. As to the events - yes, they are all across the world. But many are in the US. You can look at some second- and third-grade events as well. For example SEKE is a US only event (as far as I know). –  littleadv Jul 19 '11 at 10:06
    
True, but I'm not entirely sure who the top researchers are. Ian Sommerville, I know, since I've read some of his work. I believe Barry Boehm is still around, but I don't think he's very active any more. Steve McConnell is at a consulting firm and works as an instructor on the west coast of the US. Knowing more about the people who are active in this domain would probably be beneficial - I would know where they teach (those places probably have tracks in this area), what conferences they go to, and perhaps more recent publications. –  Thomas Owens Jul 19 '11 at 10:20
    
@Thomas - you don't need to go to a conference to see what was there. Check out the proceeding abstracts, read the full articles on what's relevant, and contact the people you find interesting. As to postponing research to after you're done with the career, why is that? After I published articles based on my MSCS thesis (which would be worth PhD in the US), I've been approached several times with offers in just that area you're interested in. I personally like working on it as a part-time job, I prefer programming more, but it's certainly a way to build a name for yourself. –  littleadv Jul 19 '11 at 10:24
    
That is an interesting idea - research early. I've never considered it, especially since "research" could be carrying out some kind of process improvement in an organization and (with permission of the organization) writing a paper on the problems, effort, intended outcomes, and actual outcomes, with an analysis. I've read plenty of those in IEEE TOSE and ACM TOSEM. –  Thomas Owens Jul 19 '11 at 10:45
show 1 more comment

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