We are looking for a passionate Software Engineer to design, develop and install software solutions.
Software Engineer responsibilities include gathering user requirements, defining system functionality, writing code in various languages, and having an open mindset in other programming languages. Our ideal candidates are familiar with the software development life cycle, from preliminary system analysis to tests and deployment.
Ultimately, the role of the Software Engineer is to build high-quality, innovative, and fully performing software that complies with coding standards and technical design.
Responsibilities
- Execute a full software development life cycle like Sprint
- Develop flowcharts, layouts, and documentation to identify requirements and solutions
- Write well-designed, testable, scalable, and maintainable code
- Produce specifications and determine operational feasibility
- Integrate software components into a fully functional software system
- Develop software verification plans and quality assurance procedures
- Document and maintain software functionality
- Troubleshoot, debug and upgrade existing systems
- Deploy programs and evaluate user feedback
- Comply with project plans and industry standards
- Ensure software is updated with the latest features
Preferred Qualifications
- Proven work experience as a Software Engineer or Software Developer
- Experience designing interactive applications
- Ability to develop software in Go, Python, TypeScript, Swift, Kotlin, and C#
- Having an open mindset in other programming languages
- In-depth knowledge of relational databases (e.g., PostgreSQL, MySQL) and NoSQL databases (e.g., MongoDB)
- Experience developing web applications using at least one popular web framework (ReactJs, NextJs, ThreeJs)
- Experience with test-driven development
- Proficiency in software engineering tools
- Ability to document requirements and specifications
- BSc degree in Computer Science, Engineering, or a relevant field