Job Summary:
We are seeking a talented and motivated Software Engineer I to join our development team. As a Software Engineer I, you will work under the guidance of senior engineers and contribute to the design, development, and maintenance of software applications. This is an entry-level position that offers an opportunity to gain hands-on experience and grow your technical skills in a collaborative and fast-paced environment.
Essential Functions:
- Collaborate with senior engineers to understand project requirements and contribute to the design and architecture of software applications.
- Write clean, efficient, and maintainable code using established coding standards and best practices.
- Participate in code reviews to ensure code quality, readability, and adherence to coding guidelines.
- Develop and maintain software applications using programming languages, frameworks, and tools as required by the project.
- Debug and troubleshoot software defects, proposing and implementing appropriate solutions.
- Collaborate with cross-functional teams, including product managers, designers, and quality assurance engineers, to ensure successful project delivery.
- Stay up to date with emerging technologies, tools, and programming languages relevant to the software development field.
- Drive the adoption of engineering best practices, tools, and methodologies, and contribute to the continuous improvement of development processes.
- Stay up to date with emerging technologies, industry trends, and best practices, evaluating their potential application to our software projects.
- Assist in the development and execution of unit tests, ensuring the reliability and quality of the software applications.
- Document software design, implementation details, and related processes to facilitate knowledge sharing and maintain a comprehensive technical reference.
Experience
- Strong understanding of software development principles, algorithms, data structures, and object-oriented programming concepts.
- Proficiency in at least one programming language such as Go, Java, Python, or JavaScript/TypeScript.
- Familiarity with software development methodologies such as Agile or Scrum.
- Ability to work collaboratively in a team environment, following established workflows and communication channels.
- Excellent problem-solving skills with a keen attention to detail.
- Strong written and verbal communication skills.
Education
Bachelor’s in a related field or equivalent experience.
Knowledge, Skills, Abilities
- Internship or relevant project experience in software development.
- Familiarity with version control systems such as Git.
- Basic knowledge of web development technologies (HTML, CSS, JavaScript).
- Understanding of NoSQL and relational databases.
- Exposure to software testing practices and tools