You are responsible for designing, developing, and troubleshooting high performance and high availability applications to meet the company’s strategic objectives. You strive to continually improve the quality, performance, and reliability of any code that you develop. You are analytical and can solve interesting and complex problems and implement innovative solutions. You will not only be utilizing your technical skills but also assist in translating business requirements into technical solutions by closely collaborating with Product Management. We are looking for the type of person that loves to have their hands in everything and someone who can take on the challenge of working within a small growing team with a great deal of responsibility. In this role, you will be given the opportunity to actively contribute to all phases of the development cycle that will take your skills and experience to the next level.
Analyze technical requirements and design new components to meet functional, performance and availability requirements.
Guide team development efforts towards successful project delivery.
Provide technical leadership to teammates through coaching and mentorship.
Maintain high standards of software quality within the team by establishing good practices and habits.
Identify and encourage areas for growth and improvement within the team.
Collaborate with other software developers, business analysts and software architects to plan, design, develop, test, and maintain web- and desktop-based business applications built on Microsoft technologies.
Develop, refine, and tune integrations between applications.
Play role of scrum master as well
At least 7 years’ experience in software development.
Extensive experience with:
JavaEE (JEE, J2EE)
Nice to have -Tomcat, Apache
Knowledge of accessibility standards
Extensive experience in relational database (SQL or PostgreSQL).
Comprehensive understanding of object-oriented and service-oriented application development.
Knowledge of various design patterns including dependency injection, factory method, and concurrency patterns.
Experience with multi-threading, debugging, performance profiling and optimization.
Knowledge of implementing unit tests.
Proficient understanding of code versioning tools like Git.
Experience with agile development methodologies like Scrum.
Strong communication skills with both internal team members and external business stakeholders
Bachelor’s Degree in Computer Science or a related field, Master’s Degree in Computer Information Systems