Software Engineer Job Responsibilities:
• Develops information systems by designing, developing, and installing software solutions.
• Determines operational feasibility by evaluating analysis, problem definition, requirements, solution development, and proposed solutions.
• Develops software solutions by studying information needs, conferring with users, and studying systems flow, data usage, and work processes.
• Investigates problem areas.
• Follows the software development lifecycle.
• Documents and demonstrates solutions by developing documentation, flowcharts, layouts, diagrams, charts, code comments and clear code.
• Prepares and installs solutions by determining and designing system specifications, standards, and programming.
• Improves operations by conducting systems analysis and recommending changes in policies and procedures.
• Obtains and licenses software by obtaining required information from vendors, recommending purchases, and testing and approving products.
• Protects operations by keeping information confidential.
• Provides information by collecting, analyzing, and summarizing development and service issues.
• Accomplishes engineering and organization mission by completing related results as needed.
Software Engineer Qualifications / Skills:
• Analyzing information
• General programming skills
• Software design
• Software debugging
• Software documentation
• Software testing
• Problem solving
• Software development fundamentals
• Software development process
• Software requirements
Education, Experience, and Licensing Requirements:
• Bachelor s and/or Master s degree in Computer Science, Computer Engineering or related technical discipline
• 5 years of professional software development experience
• Proficiency in Java or C , and object-oriented design skills
• Application architecture and design patterns
• Experience serving as technical lead throughout the full software development lifecycle, from conception, architecture definition, detailed design, scoping, planning, implementation, testing to documentation, delivery and maintenance is preferred
• Knowledge of professional software engineering and best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations
• Experience in development of distributed/scalable systems and high-volume transaction applications