This position is located in IT Applications Operations (Applications Development) and is responsible for leading the daily development activities of a web/software application development team to meet the South Carolina Judicial Branch's (SCJB) IT service objectives. Designs the code for applications that implement business logic, data access, and security requirements; ensures that project code delivered by the application development team meets best practice standards for security, accessibility, and maintainability; maintains documentation, cross-trains team members; and advises management to achieve long-term strategic organizational objectives.
Serve as software development team lead responsible for designing solutions with a business-value and security focused mindset. Architect applications utilizing software development best practice design and development principles including Object-Oriented Programming (OOP), Service Oriented Architecture (SOA), Test Driven Development (TDD), Micro-service, and Relational Database Design. Solutions should also be developed with long-term extensibility and maintainability in mind as well as to incorporate security best practices principles such as OWASP. Design and support secure push and/or pull APIs for inter-branch and inter-governmental data communication and implementing standards (e.g. NIEM) when appropriate. Collaborate with networking and infrastructure teams to design load-balanced and secure server environment that supports the applications.
Serve as the team leader that guides team collaboration, communication, and education and prioritizes team activities based on expert-level knowledge of the SDLC, stakeholder requirements, and business needs. Promotes continuous education for the team they lead and provide clarification for complex development topics to other team members. Leads discussions and provides daily direction for development activities in an AGILE environment for team members. Conducts Scrum Meetings and daily stand-up meetings in a DevOps environment to ensure that team members stay on task to meet deadlines that have been committed to by the application development group. Responsible to maintain perpetual and transparent communication between team members, management, and other application operation department units. Responsible for managing and assigning PBIs, Bugs, Tasks, etc. through TFS or Azure DevOps. Occasionally, participates in paired programming activities and maintains code integrity through code reviews. Guides the responsible use of communication tools to promote team collaboration including but not limited to Microsoft office products including Project and Visio; password management tools; SharePoint team sites; and various browser, IDE, and developer extensions.
Ensures applications that are developed by the application development team implement application development security best practices (e.g. OWASP). Additionally, ensures that applications meet standards outlined by the SCJB IT Security Architect. Interprets and responds to application security scan analysis reports and implements security enhancements throughout the SDLC. Research new security tools and security best practices for the technologies involved in the application and data delivery process.
Lead, validate, and enforce the documentation process with application development team members utilizing documentation tools such as Swagger; summary documentation for objects, properties, functions, methods, etc.; code management documentation including TFS / Git repository commentary, and tracking progress details for Epics, Features, PBIs, Bugs, Tasks, etc. in TFS or Azure DevOps tools. Provide regular updates to external project management documentation that will be reviewed by management. Responsible for crafting reports and diagrams that outline the application development strategy for addressing complex issues.
Lead the development, enhancement, and maintenance activities for relational tables using SQL, SQL Management Studio, and other database technologies as required to create tables, stored procedures, and views as necessary to support application development and the software development lifecycle process. Collaborate with the branch database administrator and database team on complex development topics.
Work directly with vendors to pursue and achieve SCJB goals and ensure that the software designed and delivered by the vendor meets contractual expectations and provides long-term value to SCJB, with a special consideration given to the server-based project technologies. Responsible for representing application development concepts and identify efficiencies in strategic discussions with other SCJB departments and business analysts. Responsible for representing the SCJB's and application development interests in inter-agency, state government discussions in regards to the transmission of data between agencies and departments. Occasionally, conduct presentations that showcase Application Operations projects or services.
Responsible for continually staying abreast of new technologies and best practices, especially regarding server-based technologies. Use a proactive mindset to identify and advise on technologies and techniques that can make the SCJB application development process more efficient and allow us to provide a better quality product to the stakeholders we serve. Responsible for implementing automated testing frameworks and development procedures to ensure the team's code quality and enhance application stability.
Interprets data and information related to application development projects and processes based on data derived from reporting services including but not limited to SQL Reporting Services, GreyLog, and TFS Queries. Determines actionable recommendations and advises on the strategic direction of the application operations department based on aggregate data analysis.
Responsible for completing other duties as assigned including responding to the most complex application development user requests.
|Minimum and Additional Requirements:|
A Bachelor's degree in computer science with major course work in system design and development and at least three (3) years of experience in application development and modification or any equivalent combination of experience, training and/or education.
KNOWLEDGE, SKILLS AND ABILITIES
Working knowledge of how SC courts are organized and function is desirable.
Must be able to work autonomously and in a team environment with excellent self-direction, initiative, and motivation. Must implement the mission and directives outlined by senior leadership and periodically report on progress to team members. Must use individual discretion in the interpretation and application of information technology policies, practices, and procedures. Expected to advise the Applications Development Manager of any problems, concerns, or recommendations regarding programming and/or development issues.
Occasional travel required. Occasional participation in IT maintenance and training activities outside of normal business hours. Carrying a work mobile phone and responding to emergency outage situations on a 24/7 basis required.
1220 Senate Street, Suite 101 Columbia, SC, 29201Contact