Analyzes, designs, and preforms the development of software systems to create solutions for business problems. Responsible for analysis of current applications, including performance, diagnosis and troubleshooting of problem applications, and designing solutions to enhance systems. Responsible for the design and development of new software architectures and systems.
Develops software solutions by studying information needs; conferring with users; studying systems flow, data usage, and work processes; investigating problem areas; following the software development lifecycle.
Reviews and enhances legacy applications.
Analyze user needs and software requirements to determine feasibility of design within time and cost constraints.
Uses standard Software Design Methodologies to ensure consistent software architectures.
Ensures application testing is performed to ensure that application results are accurate.
Creates and executes Unit Test Cases
Able to quickly analyze, identify, and resolve complex software problems as well as database integrity and/or security problems
Updates job knowledge by studying state-of-the-art development tools, programming techniques, and computing equipment; participating in educational opportunities; reading professional publications; participating in professional organizations
Provides information by collecting, analyzing, and summarizing development and service issues
Mentors other team members to enhance their knowledge of new technologies and development techniques.
Assists in creating project plans for new solutions
Documents solution architectures and educates other team members on solution architectures.
Analyzes new technologies to determine feasibility and use on current and future projects
Evaluates development tools and components to determine feasibility and use on current and future projects
Performs additional duties as assigned.
Knowledge/Abilities: (at full job performance)
Extensive / Considerable knowledge of:
C#, Microsoft .NET
HTML and CSS
Front end Frameworks such as Bootstrap and AngularJS
Entity Framework or other ORM tools
Experience employing common UI design patterns (MVC, Dependency Injection, etc.)
MVC web applications
Multi-tiered OOAD and design patterns
SQL Server, database design and efficient integration with web applications
SOAP and RESTful Services
Microsoft WEB API
Knowledge and experience in all aspects of the software development process
Excellent oral and written communication and problem solving skills
Some / limited knowledge of:
SQL Server Integration Services
Ability to debug issues in a full-stack environment
Create new software architectures and system frameworks
Possess a positive attitude
Ability to "think outside the box"
Work in a team, or independently on multiple projects
Create and Adhere to Project Plans
Minimum Educational Level Required:
Bachelor’s degree in Computer Engineering, Computer Science/Information Technology, or related discipline.
Minimum Experience Level Required:
Minimum 6+ years of prior experience developing web based applications using Object Oriented programming languages
Able to perform duties without direct supervision.
Ability to work independently, and as part of a team, on multiple tasks.
Mentors software engineers by providing advice, coaching and educational opportunities
Certificates and Licenses:
Microsoft Certified Solutions Developer Certification a plus