Having recently completed a BSC (computer science), I am working as software engineer. With one year of experience, what educational options are available to me? I want to move further in management.

Please provide suggestions. I am considering a MSC but I got negative reply from lots of people.

closed as off topic by Walter, gnat, Bill the Lizard, user53019, Thomas Owens Sep 1 '12 at 20:10

Questions on Software Engineering Stack Exchange are expected to relate to software engineering within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here. If this question can be reworded to fit the rules in the help center, please edit the question.

  • Compared with the internet at large, Stack Exchange is where a question like this can be most effectively answered. Programmers might be the wrong Q and A site for this question (I think there might be a careers site, so maybe this question will migrate there). – DeveloperDon Sep 1 '12 at 19:06

Why do you want to become a manager? If you just want to be a manager and move into any management position as fast as possible, it is hard to go past a Master of Business Administration (MBA). Learn about finance, budgeting and lots of things that this stack exchange site won't be able to help you with.

If you want to become a manager because you like dictating the design and direction of software projects, you have two options. The first is to become a technical lead or software architect. In this case, start focusing on design and patterns, learn about networking, multiple programming languages and libraries and the wonderful varied thing that is software development these days.

Formal training may help here but many Master of Science courses in IT are rebadged Bachelor degrees for those who are either moving into the industry or want to update their skills. Doing a more research oriented Masters will help if you want to push yourself or move into research but it sounds like that is not what you want. Simply picking up the nearest interesting looking software development book is probably the best place to start.

If you want to move into the more organization aspects, consider a Certified Scrum Master (CSM) and/or Project Management Professional (PMP). These will help you to learn how to organize and plan software development releases.

That said, irrespective of why you want to become a manager, the most important thing you need is to "do". You only have one year of experience. While that does not disqualify you from management, do not discount the value of experience. It is one thing to complete a programming assignment for a university course. It is another to single-handedly take responsibility for a project that your boss is depending on you to fix. Some things just cannot be taught.

  • Thank's akton for such nice description..I know my experience is too less I just want to know which educational course is useful to move further in my future. can I go for some certification or else go for master degree if u have any suggestion then please let me know about it. – Pranali Sep 1 '12 at 8:46
  • To be honest, there are few things you can do that are really bad. Any course, certification or achievement will help. Some languages like Java or C# have certification paths. They may help you get a job but they are unlikely to count over experience. If you have a particular company or industry you want to join, talk to people there and ask them. If you want to advance in your current team, ask your boss. He or she may not have an answer for you but the fact you asked will count for something. Put up your hand for changes to take additional responsibility, too, even if is not ideal work. – akton Sep 1 '12 at 8:53
  • currently I am working as mobile developer which include ipad ,anroid and basically all mobiles like iphones and IPod but I am thinking that i will do some certification respect to my languages but at the same time I have option to for MSC I am confused in these two. – Pranali Sep 1 '12 at 9:05
  • The MSc is has a larger time and financial commitment and may not help you in your day to day work but it stays on the resume for life. Certifications or courses on iPad and Android development will help in the short term but, after a few years, will be far less valuable. Of the two, the MSc is a better long term choice if you have the time, money and inclination. – akton Sep 1 '12 at 9:09

Business vs. Engineering

As an undergraduate, I started a business degree in accounting. In the fourth semester, I registered for classes late and the Computer Information Systems class I wanted to take was full. Somehow, I had myself as an academic advisor, and figured the introduction to computer science from the engineering department would fit my program somehow.

That was my last semester as a business major, so you can probably guess how my answer will end.

I have undergrad and masters degrees in computer science, but not an MBA, so my answer is based on a little research and experience in the work place.

A Little Research: What is an MBA (Masters of Business Administration)

I have heard about the MBA for years, and figured it was like a business degree with content from all areas (accounting, finance, marketing, etc.) studied by business majors instead of just one area. Here is a list of classes I found for Rochester Institute of Technology.

MBA degree (traditional), typical course sequence (semesters)
Course  Sem. Cr. Hrs.
MGMT-601    Foundations of Business Ethics  1
MGMT-740    Organizational Behavior and Leadership  3
ACCT-703    Accounting for Decision Makers  3
MKTG-761    Marketing Concepts and Commercialization    3
ESCB-705    Economics and Decision Modeling 3
FINC-721    Financial Analysis for Managers 3
DECS-743    Operations and Supply Chain Management  3
MGMT-735    Management of Innovation in Products and Services   3
MGMT-759    Competitive Strategy*   3
    MBA Elective 1, 2, 3, 4, 5, 6, 7, 8 24
Total Semester Credit Hours 49

Nothing too shocking here. Having had econ 101 and 102, accounting 101 and 102, quantitative business analysis 101 and 102, intro to business law, I have an idea what the grad level version might be like.

Like most master's degrees, electives depend on are of specialization. Assuming you are staying in technology, perhaps the following is appropriate:

Course  Sem. Cr. Hrs.
MGMT-742    Technology Management    3
Choose two or three of the following:    6-9
   MGMT-761    Managing Research and Innovation  
   MGMT-762    Managing New Process and Product Development  
   MGMT-741    Managing Organizational Change    
   MGMT-776    Product and Brand Management  
   DECS-744    Project Management    
   BLEG-745    Legal and Ethical Issues in Technology Intensive Environments

MCS programs may include content similar to MGMT-761, 762, 741 and DECS-744 but under course titles like "Software Project, Process, and Quality Management" or "Principles of Software Engineering." Some MBA topics may be mixed into software life cycle oriented classes like Requirements Analysis, Object Oriented Analysis and Design, Software Testing that are highly focused on both software engineering practice and on fitting into models like SEI CMMi. On the MCS side, there is almost always team programming or documentation project, and homework or a project where software tools are identified and used.

Academic Crossovers - Non-Computer Science to Masters in Computer Science

One of the other answers to this question described the MS in IT as a degree that had suffered as being like a rebadged BS for undergraduates crossing over from something else as a way to enter the software profession. Where I got my MCS, if your undergrad was not CS, you needed to fulfill 18 credit hours of undergrad level course work to make up the deficiency.

CSE 230 Computer Organization and Assembly Language Programming
CSE 310 Data Structures and Algorithms
CSE 340 Principles of Programming Languages
CSE 355 Introduction to Theoretical Computer Science
CSE 360 Introduction to Software Engineering
CSE 430 Operating Systems

Compared with a BS in CS, that approach is missing around 15 credits of CS electives. Depending on where they are coming from, they might be missing a lot of math and physics too. If I interviewed a candidate who took this route, I might want to ask questions about the undergrad material like:

  • What does a D flip-flop do?
  • How does a processor, memory, and bus work together?
  • What initialization and handling is needed to make a timer interrupt work?
  • What is in a class for a linked list? A binary tree?
  • What is a recursive descent parser?
  • Tell me about order notation?
  • Name two sort algorithms and identify and contrast their orders of complexity.
  • Name two search algorithms and identify and contrast their orders of complexity.

Maybe crossovers get a break, but I expect things balance out in the end. I would like to see people who changed their mind about their future goals have a chance to earn their reward on a level playing field.

Academic Crossovers - Computer Science to MBA

Without any undergrad work in these areas, the vocabulary, concepts, and practices might become an issue, so I don't know how well an engineer crossing over to business would fare. I didn't see information about deficiencies from business, but if your classmates have 18-36 credits of business classes that you don't have, even if it doesn't appear in classes, you are missing something valued by business colleges and perhaps employers.

Could you answer questions like:

  • What are the inputs to create a statement of changes (from accounting)?
  • What is price inelasticity (from economics)?
  • What is the difference between monetary and fiscal policy and who controls them (economics)?
  • What is the UCC (business law)?
  • Name five methods of accounting for pension expense (intermediate accounting)?
  • What is GAAP (accounting)?
  • Compare and contrast the approaches of Adam Smith and John Maynard Keynes (economics)?
  • On a balance sheet, is goodwill an asset or a liability and what does it represent?

One Executive MBA program I saw online expected six years work experience. Perhaps in your organization there is a chicken and egg problem where to be a manager they expect an MBA, but before committing that level of resource to management, I would want to be sure I liked it better than technical work.

Experience with MBAs in the Software Development Organization

Having worked in an organization with MBAs and several MCS graduates my perspective is that it depends what kind of management you want. Characterize whether you want to stay close to the technical leadership or step away from the technical work toward the work of communications between technical people and executive management.

One MBA who I knew, took on the role of project manager and created many Microsoft Project schedules which he monitored and tried to control. He also took over the software part of process definitions for ISO 9000. Although his degree was IT, he had never written code. His approach was pretty much straight waterfall, and he was hostile to Agile.

He became a protege of VP of operations, and for a while had high visibility and influence in many areas of the company, including supervision of project managers. The company restructured, engineering took back process definition for software and hardware development. He was moved to the IT department, and was no longer involved with product or process definition. Not sure if he still works on quality, but he is the support go to guy for the company wiki and a few related tools. I think he presently supervises no one.

Experience with MCSs in the Software Development Organization

In contrast, the MCS graduates I know are more tailored to the needs of software development and take the lead in introducing agile methods. They still do a lot of development, and are involved in requirements management, defining the design, assigning coding tasks, participating in daily scrum meetings and grooming the burn down list. It can be helpful to have a scrum master who clears obstacles for the team, but what I see are team leads becoming the lead of teams of team leads. Contrast this with System of Systems design approaches for large DoD and industrial projects.

My preference within the product development organization would be someone with both the BS and MS in computer science which should impart a lot of insight to the software development life cycle and how it plays out in projects.

Some Ideas about Management and Quality

I would also caution against process definition as a way to build a career in management. I have seen a lot of people involved in ISO 9000, and to a lesser extent SEI CMM, and other quality roles get their company over a big hump for certification. Afterward, they become isolated and exited because they were the process police and once the conversion from adhoc process is complete, they are seen as obstructive to taking products from idea to result. I believe that process and most decision making should be done at the lowest level possible in the organization. This permits the person who lives the job to control it and tailor it, and to have an intimate connection and dedication to using it as a productivity tool rather than a role in the org chart.

With that in mind, unless you are executive management, if you manage it, I think you should live it (or have previously lived it). My personal sweet spot would be 10-15% mentoring, administration, and process definition/improvement, with the remaining part being hands on development and product definition or product verification in the form of unit and integration testing.

MBA Prospects

I think companies will always have need of generalists, and if CEO is your target, there probably is no substitute for an MBA. It can help you rise in the organization because you will have the vocabulary, tools, and mindset of executive management. Traditional organizations may reward MBAs in technology leadership roles. My concern would be that in software development, Agile is pushing more of the management functions into the development team (or the development team is taking back more control, depending on your perspective). and when times are tight, if the choice is between a generalist and a guy who writes code and helps lead the team, the generalist might get cut.

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