JOB SUMMARY
The Engineer I is a hands-on contributor working on an agile product development team. This Engineer Is capable of working on front-end as well as back-end development of an application. This engineer designs, implements, and tests features for an application and is involved in each stage of software development.
ESSENTIAL DUTIES & RESPONSIBILITIES
Software Development
Write feature code that fulfills requirements, compiles, passes tests, and integrates successfully with larger software systems. Participate actively in paired programming. Begin to learn and demonstrate basic software craftsmanship techniques.
Testing & Quality Assurance
Understand basic software testing strategy benefits and concepts. Develop appropriate unit and integration tests prior to completing feature work. Organize code so that it is unit-testable.
Data Management
Understand simple data structure concepts and basic database design principles. Apply basic data management knowledge during development work.
Operations
Leverage logs proactively for debugging tasks. Able to perform daily operational checklists. Understand impact of data structure choices and application health on users. Learn new technologies and frameworks using publicly available documentation.
Security & Compliance
Follow basic security protocols, including identification of sensitive information. Participate in threat categorization discussions. Utilize basic tools to identify and remediate violations of secure coding practices.
Product & User Experience
Understand and adhere to general UX guidance when making minor modifications to user-facing features. Understand fundamental user-facing technologies leveraged by the product team.
Requirements & Design
Read requirement definitions and develop features according to card specification. Understand basic system architecture and knowledge to make appropriate feature design decisions.
KNOWLEDGE & REQUIREMENTS
- Knowledge of object-oriented design principles and patterns
- Able to complete tasks/cards even when directions are unclear, seeks guidance when necessary
- Effectively implements features according to team practices, knowledgeable of components. Able to be vulnerable and ask for help.
- Experience in at least one client-side or server-side programming language (JavaScript React and Java, respectively, preferred)
- Experience with relational databases and REST services
- Understanding and experience with unit/integration/load automated tests
- Highly motivated, self-learner, and technically inquisitive. Able to pick up new concepts and technologies quickly. Able to grow skills effectively through team collaboration, pairing, and mentorship.
- Excellent written and verbal communication skills
EDUCATION & EXPERIENCE REQUIREMENTS
- Minimum years of work experience: 1 year
- Minimum level of education or education/experience: Bachelors or equivalent work experience in Computer Science, Computer Engineering, Electrical Engineering, Information Systems, IT
PHYSICAL REQUIREMENTS
The physical demands described here are representative of those that must be met by an employee to successfully perform the essential functions of this job.
- Frequent sitting in stationary position at a desk
- Occasional standing, walking, stooping, kneeling, squatting, and climbing stairs
- Occasional twisting of body
- Occasional reaching by extending hands and arms in any direction
- Occasional lifting, pulling, or pushing