Software Developer
Come aboard and develop industry-leading products. The ideal candidate is a problem solver who has demonstrated attention to detail and flexibility; can work well individually; works well with others; and is willing to learn to contribute to his or her team. Expertise in all languages and technologies listed below is not required; we expect that you will learn quickly upon joining the team.
Duties and Responsibilities:
- Develop and maintain moderately complex to very complex software in Java, JavaScript, C#, Python, and other languages.
- Follow coding standards, development methodologies, and release processes.
- Work as part of a product development team to create and build new features in an iterative environment.
- Analyze problems and propose solutions.
- Design, document, and demonstrate solutions.
- Deliver fully-tested, clearly-documented, well-designed software.
- Review, improve, and simplify designs, code, and products.
- Other duties as assigned.
Qualifications:
- Ability to implement and test desktop, server, and web software.
- Bachelor's degree in Computer Science or Software Engineering or equivalent education and/or work experience.
- Some exposure to software engineering tools, including version control, debuggers, emulators.
- Some exposure to SQL and databases required; proficiency with databases and NoSQL experience a plus.
- Ability to absorb complex requirements, propose solutions, and evaluate other solutions.
- Ability to work and discuss at multiple levels of abstraction.
- Ability to communicate and collaborate as part of a team and develop strong working relationships.
- Ability to balance design and technical constraints.
- Willingness to explain technical decisions and work in an environment of continuous feedback.
- Experience with development in virtual machine or container environments a plus; develop experience a plus.
Benefits:
- A robust benefits package including medical and dental coverage. The plans are specific to projects and locations.