Strong understanding of object-oriented programming concepts, and advanced knowledge of at least one object-oriented language(such as Python, Java, C++, C, Ruby, JavaScript, Swift, Kotlin) Good understanding of Software Development Lifecycle (SDLC) design and architecture, version control systems, continuous integration and related tools like Git, Jenkins, JIRA, Confluence etc