I'm in high school and I'm curious about what I can do now to increase my knowledge about software management. What should I know about software management to better my chances of becoming a manager? How can I get 'real-world' experience at this stage that's as valuable as possible?
My honest advice is that there is so much time and "cognitive distance" between high school and a professional career in management, that I would say "take classes you love and will do well in" Go to college/university and discover your passion and career interests there. If you are successful and want to move into management, then you have many options.
There are just too many "good paths" into management: I've seen English Majors, Art Majors, History Majors, Biology Majors, CS Majors, EE Majors, and I'm a Physics Major myself.
If you want to focus on software, then do something that keeps you coding and developing. having domain experience is a huge help for any management position.
Don't be afraid to change directions and try new things. If you really love Project Management, there will always be opportunities...
good luck and enjoy the trip!
Find some projects to manage. The principles of project management apply across all different types of activities. You could help work on a website, blog or coordinate a group event.
I would focus on doing something that entails gathering requirements from somebody, working with another person or group of people to produce the deliverable that meets those requirements then deliver the project.
I'd recommend you find a company or individual where you can go observe. Nothing will be a better education than observing the real thing. Think about where you might intern, I would recommend a small company where you get to see a much larger variety of people and work. Bear in mind that the field of Software Project Management is evolving rapidly right now after many years of staying the same. This should influence your choice of places to go observe and books to read. Consider volunteering at a conference, for example I know the Agile conferences (next one Agile2011 in Salt Lake City) will give free registration if you volunteer. Study online for example, go listen to some TED talks. It is unlikely that you can step into management without some experience so you should consider your best path to management. I would think the most obvious path would be software engineering but if that is not your passion then there are other routes. Best of luck.
It seems unlikely that your first job out of college would be in software project management, unless you manage to get hired by one of the big consulting companies. It would be like jumping right into doctor without doing a residency, if that makes sense. The consulting companies however do like to hire young and you can get experience fast. Overall, I do think it takes work experience in the trenches to become a good manager, as you need to develop your instinct. It isn't all book-learning, although great books can help.
A college degree is a minimum requirement, and a masters in a pertinent area would be a huge plus.
In fact, I can't remember any classes offered in high school that I would use today, aside from mathematics (for calculating schedules and so many other things) and English (for writing). High school teaches you the basics, and then college teaches you how to think, and the rest you learn on the job - isn't that how it goes? I went to a liberal arts college to get a computer science degree, but I suspect you could learn a lot from taking some Computer Science courses, business courses, IT courses. You would want to get some work experience in, learn how a corporation works, learn to navigate corporate cultures. You want to be practicing your soft skills all the time, master public speaking, develop good writing skills (for emails and documents).
You may want to pursue a project management certification or even go to graduate school for it; Myself, I will be completing my Masters in Project and Program Management this summer and the classes and discussions with other PMs have been very helpful.
This sounds a bit silly but: Just Read... Read a lot...
By reading decent business and project management books, you can learn from other people's experiences. There are other suggestions elsewhere on this site but here are my suggestions:
- Business @ the Speed of Stupid - by Day Burke and Alan Morrison
- Peopleware - by Tom DeMarco and Timothy Lister
- The Inmates are Running the Asylum: Why high-tech products drive us crazy - by Alan cooper
I would suggest you to take varied courses and develop your knowledge base. Read a lot of articles. If your school has an account for Harvard Business Review, read articles there. They are classic articles and very informative. Having different and new perspective always helps. Practices from industries other than software can be tailored according to your needs to benefit your team and company. There is no single correct way to manage a project. It is always dependent on the team and its goals. You may still want to take courses like project management, product management and programming languages. Having basic knowledge gives you a foundation but no company hires on the basis of the courses that you took in school. They need more.
Second, which is more important than any coursework, work in different teams. Work in small teams and big. Work with diverse people. Work with people with different background, race, color, gender, origin, country. For any kind of management, the biggest challenge is not the processes but the people. If you know how to manage people, you can sure as death, learn to manage a project. There are some great books and articles out in the market which can teach you people management. However, experience is the best teacher.
You can also learn from other people's experiences. Talk to people who are in this profession and learn from them. You can also do case studies on successful leaders like Eugene Kranz and Coach K.
Hope you have a wonderful and successful career!