Technical Background- Have technical skills in a computer programing software such as java.

Willingness to learn- You cannot get all the information you need from school. It helps to be open to learning as you work because technology is always changing.

Communication- You will not be able to work on all aspects of the project. There are many different aspects to each project and you will need to communicate and delegate with your team members. 


Software developers need a bachelors degree in information technology or a similar field. Some of the top colleges for software engineering include Carnegie Mellon, Massachusetts Institute of technology, and the University of California at Berkeley.

For middle and high schoolers who are interested a great way to get a head start in software development is by joining a coding club or taking coding classes at your school. One well know organization is Girls who code. It is nationwide and is in many middle and high schools. You could also consider applying for the Information Technology academy and specialize in programing if your county offers the NAF academies.