The Senior Engineer - Software develops business software solutions through test driven development, 12 factor principles, object and data modeling, database design, programming, quality assurance, and implementation support.
Demonstrated understanding of 12-Factor application principles
Demonstrated understanding of Test-Driven Development
Demonstrated understanding of the Agile Manefesto and working as a member of an agile team
Demonstrated knowledge of a cloud platform: AWS, Azure, GCP, Pivatol
Demonstrated knowledge of pipeline automation with Jenkins and/or AWS CodePipeline
Demonstrated understanding of object-oriented design and programming techniques
Excellence verbal and written communication skills, with the ability to effectively interact with all coworkers and stakeholders, in including senior leadership
Demonstrated resourcefulness in the software development process
Demonstrated creative problem solving skills
Possess an understanding of the stages of the software development life cycle - Requirements gathering, Design, Development, Testing, and Implementation
Demonstrate solid interpersonal skills and be resourceful in order to participate in the development process
Ability and willingness to travel up to 25% or as needed to other CDW locations or client sites
Ability to understand, remember, and apply oral and/or written instructions or other information. Ability to organize thoughts and ideas into understandable terminology. Ability to multi-task, organize and prioritize.
Ability to apply common sense in performing job. Ability to understand and follow basic instructions and guidelines. Ability to travel as needed.
Cloud certification: AWS, Azure, or GCP
Working knowledge of at least three programming languages
Experience with testing frameworks (e.g. PHPUnit, JUnit)
Experience with Ansible, Terraform, CloudFormation, and/or Azure ARM templates
Exposure to or experience with API development (graphQL)
Some knowledge of Apache HTTP Server
Experience with SQL (MySQL, MSSQL, PostgreSQL, etc.)
Experience with Linux command line (bash), VI, etc.
Experience with version control software (Git)