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
- 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)?