Description
As a Software Engineer Level 2, you will be responsible for
Design and implementation of features on both front-end and back-end
Development of medium to large websites and web applications
Debugging and identification of issues and bugs in web applications
Writing efficient and testable code
Writing and maintaining documentation where necessary
Practicing and honing your craft of software development
Peer reviewing code where necessary and writing test cases
Practicing Test Driven Development
Eventually managing and leading a small team
Requirements
A Bachelor's degree in Computer Science, Computer Engineering, IT or Software Engineering (We will consider candidates without degrees also, but you’ll have to convince us you’re worth the time)
Basic communication skills and professional ethics. Ability to explain technical concepts clearly.
Understanding of basic programming concepts such as Procedural and Object Oriented Programming, Algorithms, and Data Structures.
Understanding of Test Driven Development and ability to write testable code.
Understanding database concepts and SQL. Experience working with either MySQL or PostgreSQL
Understanding of Caching DBs like Redis.
Understanding of git and git hosting sites e.g. github, gitlab.
Experience working with front-end technologies such as HTML, CSS, JavaScript.
Experience working with Python and in-depth knowledge about the language.
Experience working with backend frameworks like Django and Flask.
Experience working with front-end frameworks such as React or Vue.js.
Concepts of DevOps tools and concepts e.g AWS, GCP. Working experience is a huge plus.
(Bonus) Concepts or experience working with microservices.
(Bonus) Concepts or experience working with Docker.
(Optional) Understanding of NoSQL database concepts and experience working with NoSQL storage.