The Senior Software Developer is responsible for developing specifications and implementing complex software applications. The role involves designing, developing, modifying, and maintaining both customized and standardized applications. The position actively participates in system design and coding activities, providing technical guidance and support to team members to ensure the achievement of project and organizational objectives.
Job Responsibilities:
Designs/codes applications following specifications using the appropriate tools.
Maintains and modifies existing applications, ensuring adherence to standards.
Performs maintenance programming for existing versions.
Performs custom programming at customer request.
Assumes responsibility for ongoing data architecture for product.
Work closely with other teams to ensure solution readiness for release.
Develop product/solution logic within an iterative development lifecycle.
Participates in detailed design/Proof of Concept phase.
conducts and supervises unit-testing tasks and fixes any defects that may arise.
Implement functional enhancements and application specifications to ensure a satisfactory level of both functional and non-functional requirements.
Responsible for the planning of the product in coordination with the team manager
Responsible for the scoping of the release/sprints, time estimation, and resource allocation
Responsible for guiding, supervising, and mentoring associate software developers and software developers
Responsible for assisting associate software developers and software developers with complex technical challenges.
Participating in discussions and estimations related to new opportunities (RFPs), to assess technical feasibility and resource requirements.
Required Qualifications:
Bachelor's in computer science or equivalent.
Minimum of 5-7 years of experience as a software developer
Mandatory prior experience in technical leadership or team leadership roles.
Proven ability to design and develop large-scale, complex applications.
Fluency in English language.
Knowledge of GIS concepts and ESRI technologies is required.
Excellent knowledge of React, Angular,HTML5, JavaScript, ASP.NET, C#, .Net Core and the .NET framework.
Excellent knowledge of design patterns.
Excellent Knowledge of REST, Web API, and SOAP Web Services.
Excellent knowledge of DB concepts and tools.
Excellent knowledge of security principles and performance optimization.
Hands-on experience with version control systems (TFS, Git, etc.).
Knowledge of agile software development methodology.