Software Engineer, Alert Application DeveloperInformation Technology
FieldDetail Department IT
Job Status Full Time
FLSA Status Exempt
Schedule Monday-Friday, 8:00 a.m.-5:00 p.m.
Reports To Director, Software Engineering
Positions Supervised None
Position SummaryUsing agile/scrum methodology as a software development practice, the applicant will develop and maintain various features of DISA's flagship application Alert, multiple DISA APIs, and other cross-platform software applications. As a Software Engineer, the applicant will perform full stack software development using PHP, the Laravel framework, MySQL, and other software development technologies, with all services running in Kubernetes.
The applicant will design, create, modify, and test the Alert software application as well as analyze and design company-wide databases. The applicant will use many software design architectures, which primarily include containerized microservices deployed to Kubernetes and three-tier architecture to restructure legacy software systems. Additionally, various internal and 3rd party APIs will be used for multi-server communication via a wide range of RESTful web services. The candidate will analyze, review, and troubleshoot a complex codebase using Object Oriented Principles, Design Patterns, and SOLID principles.
Responsibilities Area Expectation Application Development Design, develop, and maintain multiple software applications using PHP and the Laravel framework, backed by MySQL, to make them more scalable, maintainable, secure, and efficient.
API & Integration Build and consume internal and 3rd party RESTful APIs for multi-server communication across the frontend, backend, and partner systems.
Engineering Standards Adhere to systematic software development practices, which include SOLID principles and primary design patterns.
Testing Create unit tests, integration tests, server-performance tests, and database management tests using PHPUnit and Laravel's testing tools.
Debugging Run complex debugging of backend services using Xdebug and Laravel logging, and of frontend code using client-side browser debuggers.
Requirements Analysis Consult with business analysts and end users to analyze and understand functions, client needs, objectives, desired features, and business requirements, which are automated into software solutions.
Agile Delivery Perform grooming, planning, daily stand-ups, and retrospectives with the assigned scrum teams to convert business specifications into working software within a two-week time frame.
Code Review & Oversight Conduct reviews and approvals, and guide 3rd party contractors' and programmers' software updates.
Maintenance & Support Perform maintenance of existing custom software, including end-user support via support tickets.
Performance Monitoring Monitor and document performance improvements of software solutions after implementation.
Deployment & Release Implement a complex deployment life cycle using Git repositories and CI/CD pipelines that build container images and roll out version-based releases to Kubernetes.
Documentation Write and maintain functional and technical specifications via systematic documentation processing.
Other Duties Other duties as assigned by leader.
Required Qualifications and SkillsExperience - Bachelor's degree in computer science, computer engineering, electrical engineering, or a related field with 2+ years of related work experience, or a master's degree in computer science or a related field.
- Experience with professional software engineering practices and best practices for the full software development life cycle, including coding standards, code reviews, source control management, and continuous integration and testing.
Technical Skills - Significant experience working with PHP, Laravel, JavaScript, SQL, HTML, CSS, JSON, or related programming languages.
- Experience designing, maintaining, and debugging full stack web applications, covering frontend, backend, and API layers.
- Significant experience working with relational database design.
- Strong experience with MySQL and database management systems.
- Excellent object-oriented design skills.
- Strong knowledge of algorithms and data structures.
Soft Skills - Problem Solving: Strong critical thinker with problem solving aptitude.
- Communication: Good communication and interpersonal skills.
- Collaboration: Works effectively with scrum teams, business analysts, and end users.
Work Environment - Maintain confidentiality and exhibit reliable attendance in accordance with government, organization, and department policies.
- This job operates primarily in a clerical office setting in Tulsa. This role routinely uses standard office equipment such as computers, phones, photocopiers, filing cabinets, and fax machines. You must be able to sit for long periods of time.
- Travel: 0-5% for special projects.
Preferred Qualifications - RESTful API design and web services experience.
- Experience with Docker and Kubernetes for containerized application deployment.
- Experience with Laravel ecosystem tools such as Eloquent, Artisan, Queues, and Composer.
- Experience using Git version control software.
- Proficiency with Vue JS, React JS, or a related JavaScript framework.
- Experience with Domain Driven Design.
- Experience with Test Driven Development.
DisclaimerThis job description is intended to provide guidelines for job expectations and the employee's ability to perform the position described. It is not intended to be construed as an exhaustive list of all functions, responsibilities, skills, and abilities. Additional functions and requirements may be assigned by supervisors as deemed appropriate. This document does not represent a contract of employment, and the Company reserves the right to change this job description and/or assign tasks for the employee to perform, as the Company may deem appropriate.