Senior Application Developer
As an ideal candidate, you will be well versed with AgileScrum/Kanban processes.
You will participate in application architecture, design meetings and project meetings. You will be responsible for architecture, designing, implementing and documenting new and existing applications.
You will be responsible for optimizing application performance, stability, usability, supportability and maintainability. You will be expected to listen to, understand and articulate the business value and impact of advanced technical and non-technical concepts to peers and/or management. You will need to understand when to escalate issues, also how to seek management assistance when required to make decisions or communicate across organizational boundaries. You will be involved in anticipating problem troubleshooting scenarios and will analyze ways in which to mitigate risks. You will also be expected to mentor junior developers.
Effectively communicate concepts and ideas to team members and product owners.
Work with business analysts to understand requirements, value, prioritization, and acceptance criteria.
Work on a scrum team to deliver software solutions by providing the essential benefit to the customers by delivering the simplest solution to the functional requirement.
Work cross-functionally with other team members: other engineers, testers, product owners, designers, Ops, customer support.
Partner with QA, DB, BA/PO and other dependent teams.
Application Performance tuning, troubleshooting/analyzing complex problems.
Follow processes and procedures as assigned by management.
Mentor junior engineers, new team members, and apply technical expertise to challenging programming and design problems.
Ensure that the production issues are resolved with a high sense of urgency.
Learn current trends in information technology best practices and standards and how to apply this understanding to work projects and processes.
Strong knowledge on Microsoft Visual Studio and various Source control tools.
Strong knowledge on Oracle database and PL/SQL.
Knowledge of accepted software engineering methods such as object-oriented programming, structured programming, reusable software, life-cycle development, and software development process methodologies.
Hands-on knowledge on Design Patterns and UML.
Knowledge on Multi-threading and concurrency, and performance improvements.
Unit Testing and TDD.
Agile Team player, able to negotiate skillfully in difficult situations with both internal and external groups.
Capable of dissecting complex situations and refocusing on the most critical technology tasks.
Ability to understand and articulate the business value and impact of advanced technical and non-technical concepts.
Solid design, coding, testing and debugging skills.
Proven track record working as part of a team delivering software solutions