The software developer will be part of an agile development team (Platform Team) under the direction of a software architect. The platform team is responsible for integrating horizontally across all development teams. The team provides consultation around design and architecture, researches new technologies, maintains build and test infrastructures, develops shared libraries, and helps manage technical debt. The team does not own a business product, but supports all other development teams with technical challenges.
- Design, build, test, publish, and troubleshoot applications and systems.
- Review existing applications and designs, then apply improvements based on technical best practices.
- Maintain and monitor common developer tools and infrastructure, such as build systems and test environments.
- Communicate with team members and project stakeholders to ensure successful work execution.
- Show initiative and creativity by coming up with new ideas for improvements.
- Share knowledge of various software technologies across a wide variety of mediums.
- Balance maintaining a high quality of work and meeting stakeholder expectations.
- Keep up-to-date job knowledge by tracking emerging Internet technologies, participating in educational opportunities, reading professional publications, maintaining personal networks and participating in professional organizations.
- Accomplishes organizational goals by accepting ownership for accomplishing new and different requests; exploring opportunities to add value to job accomplishments.
- Communicate and work with third parties and remote offices.
- Work flexible hours.
Knowledge, Skills and Abilities:
- Proficiency in C#/Java programming, and/or strong knowledge of object-oriented concepts
- Working knowledge of software design patterns and best practices
- Proficiency working with unit and integration tests
- Understanding of web protocols and practices
- Understanding of core computer science concepts (data structures, Big O, etc.)
- Agile mentality, ability to adapt to an agile environment
- Effective communication skills, verbal and written
- Enthusiasm, motivation to improve, and self-direction
- Passion for learning about software and new technologies
- Experience with Kubernetes and Docker.
- Experience with TFS and/or GIT
- Experience with .NET Core
- Experience with microservices and CI/CD
- Experience with databases, especially NoSQL (Redis, Mongo, Cassandra, etc.)
- Experience with message queueing
- Generally 1-5 years of professional software development.
- Bachelor’s Degree in Computer Science or related IT field required.