Provides programming services for a variety of specific systems and business, military, scientific, or commercial applications. Participates in systems analysis, design definition, software development, systems test, implementation, and maintenance. Analyzes coding problems and develops improvements to procedures. Exercises independent judgment. Designs, develops, troubleshoots, debugs, and implements software code (such as HTML, CGI, and JavaScript) for a component of the website. A Software Engineer needs to address the entire software development lifecycle - to analyze the needs, and then design, test and develop software in order to meet those needs.