How do I Become an Associate Software Engineer?
Associate software engineers typically entry-level or junior software engineers who often have less than three years of work experience in the profession. To become an associate software engineer usually requires a minimum of a bachelor's degree in software engineering, computer science or a related field. A strong proficiency in math, good problem-solving ability, good analytical skills and a detail orientation are qualities that will help you become an associate software engineer. Being a quick learner who can stay up to date with rapidly changing computer software and technology also is important in this role.
While still in high school, you can prepare for acceptance into a college software engineering program by taking advanced, or college-level, math and science classes. Also, learn all you can about computers by taking the computer courses that your school has to offer and, possibly, by attending computer camps for high school students during summer and other school breaks. Getting good grades in language arts courses also is important because having good written and verbal skills will help you in this career, which involves preparing software documentation and communicating with coworkers.
There are several things to consider when looking at college or university degree programs to become an associate software engineer. Look for programs with up-to-date curriculum. Also, consider how current the technology is in the computer labs of the schools you are considering. Ask about the backgrounds of the professors teaching the courses to find out what their work experience and areas of expertise are. Look for programs with coursework that provides an equal balance between practice and theory.
A very important aspect of a software engineering degree program is the internship opportunities it offers. Performing internships will give you experience in the field and potentially can provide contacts for later employment. Joining student chapters of software engineering organizations also can help further your education and allow for networking opportunities. An example of such an organizations is the Institute of Electrical and Electronics Engineers, which provides student chapters for engineers, computer scientists and other technology fields.
Other ways to advance your knowledge to become an associate software engineer includes earning certifications in different software applications through software vendors and vendor-neutral software organizations. You also can read books by some of the top software engineers in the field, such as Karl Wiegers and Gerald M. Weinberg. Subscribing to trade magazines for the software engineering field and for industries in which you might be interested in working also can be helpful. Some employers might look for familiarity with their industry when hiring software engineering personnel.
@Charred - I think it’s important to explain the difference between what we call computer software engineers and computer programmers. Yes, the terms can be used in the same contexts, but software engineers are usually involved with the entire life cycle of a product, including coding, testing, etc., the whole nine yards.
Computer programming is just a small part of software engineering—just the coding part. That’s why we use the term “programmer analyst” to describe an analyst who has to program from time to time in order to slice and dice his data. Obviously, he is not creating a complete product.
As with so many things, experience sometimes counts more than education. From my company's perspective, we’ve given software engineer jobs to people who started out as analysts—programmer analysts you would call them. They may have started out on small database or reporting projects. Then we would have them work on small development projects, not creating anything from scratch, but just maintaining existing code or finding bugs in the software.
In other words, we use them as software testers first to have them find issues with our software and then suggest possible solutions. It’s important to have them learn the software little by little. Most importantly, in this mentoring phase we want them to become users of the product so that they know it inside and out. Programmers tend to miss things because they’re so busy in the trenches, messing with the code. We want our software engineers to be users first.
Post your comments