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.
Education and Experience:
Bachelorβs and/or Masterβs degree in Computer Science, Computer Engineering or related technical discipline
2+ 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