Software Engineer And Team Leader
Job Title: Software Engineer
Type of Company: I work for a company that manufactures computers.
Education: BS, Computer Science, Worcester State College
Previous Experience: I started as an engineering intern before moving into my current role as lead engineer.
Job Tasks: I manage the workload of a team of engineers located all over the world. My team is responsible for designing, prototyping, developing, testing, and releasing software code to enhance and expand our product. I am responsible for managing all product life cycle deliverables. On a daily basis I check the status of new and existing bug reports, review requests for new enhancements, communicate with other teams to ensure they are aware of upcoming changes, and review and refine schedules related to my team's engineering responsibilities. I attend meetings to present proposals to management and obtain agreement between multiple departments. I address any issues my team is having while attempting to further their work.
Best and Worst Parts of the Job: Accomplishing goals and seeing my team's work being used in a real business environment provides a great level of satisfaction. The most difficult aspect of the job includes working "around the clock" due to having a global team and the level of organization required to ensure nothing is forgotten.
1. Create a program and publish it, gather bugs reports and enhancement requests from your users and try to address some of them. This will not only help you learn some of the basics of development but give you a feel for working on a "real" application.
2. Engineering today is all about teamwork and communication. Take courses that will help you communicate better and give you an opportunity to work on a team.
3. Keep up-to-date with new technology but make sure you know the basics. Being able to apply fresh new solutions to problems will help you stand out.
Additional Thoughts: Software engineering is pretty generic and you'll need to target your skills for the company or environment you want to work in. Smaller companies are more likely to adopt new ideas quickly and take advantage of new technologies while large companies like to stick with standards. Having good communication skills will help you separate yourself from the rest of the software engineer pool. Businesses need people who can do the work, but being able to express what you mean is always of paramount importance.