Develop & Implement system modules according to previous design & analysis using selected project technology
Develop product/solution logic within an iterative development lifecycle
Maintain and modify existing applications ensuring adherence to standards
Coordinate with the products development manager to choose which features will be added to the release and their scope
Responsible for the whole development phase (code, design and plan) as well reviewing the codes
Make regular review to ensure that the system meets design architecture
Discover and raise flag when needed in order to update system architecture to ensure following system requirements
Responsible to establish all possible options for designing and delivering the best solutions based on sound analytical judgment, and team input and the customers’ best interest under the supervision of the team leader
Design push and pull data interfaces using the latest web and data sharing technologies and project needs integrated to a multitude of third party providers
Participate in software analysis & design ending up in the project design document through conducting system analysis and development, with limited support from professional staff, to keep our clients’ systems current with changing technologies
Responsible for utilizing tools and equipment involved in performance of essential functions of programming including ensuring instruments, proof of concept - trying new modules
Responsible for analysis of current programs including performance, diagnosis and troubleshooting of problem programs, and designing solutions to problematic programming
Deeply participate in detailed design/POCs phase along with the architecture team and the team leader
Implement functional enhancements and application specifications to ensure a satisfactory level of both functional and nonfunctional requirements, such as performance, security, scalability, and usability
Research new technologies that push the boundaries and capabilities of design and provide insight on applying these to ESRINEA product offerings
Research and evaluate a variety of software products
Maintain high standards of software quality within the team by establishing good practices
Perform and assist with quality control activities as needed
Conduct and supervising unit-testing tasks and fixing defects that may arise
Collaborate with QC team to ensure that the system follows the organization coding convention
Collaborate with QC team to ensure that the system follows the organization coding convention and CMMI process accreditation
Respond promptly and professionally to bug reports
Provide assistance to testers and support personnel as needed to determine system problems.
Ensure deployment of releases is done correctly
Adhere to high-quality development principles while delivering solutions on-time and on-budget
Assess, troubleshoot, document, upgrade and develop maintenance procedures; Review code for potential performance issues, reusability, and/or anomalies
Troubleshoot client problems both remotely and onsite
Research and identify cause of reported defects and issues
Develop patches and defect fixes
Support Client on site
Participate in training and / or customer support activities as needed
Developing technical documentation
Support technical writers in designing documentation through fully defining all application code and the underlying methodology for the design decisions made
Assist in the collection and technical documentation of user's requirements, development of user stories, estimates and work plans
Responsible for the planning of the product in coordination with the team manager
Responsible for the scoping of the release/sprints, time estimation, and resources allocation
Responsible for guiding, supervising and mentoring associate software developers and software developers
Analyse system specifications and translate system requirements to task specifications for junior programmers
Collaborate with other software developers, business analysts and software architects to plan, design, develop, test, and maintain web and business applications
Before release planning, works with the products development manager to plan for the scope, pool of resources who will be needed and high level sizing
Responsible for doing the risk analysis based on the available resources and update the plan accordingly
Assess opportunities for application and process improvement and prepare documentation of rationale to share with team members and other affected parties
Responsible for discussing all the issues arising from the demo and putting action plan (retrospective Feedback Survey) and follow up on the action items resulting from the survey
Responsible for managing the team task assignment in each sprint and follow up on their work to ensure the plan is followed properly and providing them with the necessary support
Responsible for preparing the demo presentation along with the team
Job Requirements
Minimum of 8 years of experience as a software developer, prior experience as a technical leadership position is a must
Bachelor degree in Computer Engineering or Computer Science or equivalent
Fluency in English language
Knowledge of GIS concepts and ESRI technologies
Proven ability to design and develop large scale, complex applications
Deep Knowledge of GIS concepts and ESRI technologies is a plus
Working Knowledge in C#, ASP.NET, ADO.NET, HTML, XML, CSS, JavaScript, and AJAX
Working Knowledge of HTML5, DOJO, and/or jQuery (A Plus)
Working Knowledge in Microsoft Visual studio .Net
Working Knowledge in Microsoft Team Foundation Server
Working Knowledge of REST, Web API and SOAP Web Services
Working Knowledge of PL-SQL and Entity Framework
Working Knowledge of SQL Server and Oracle database
Working Knowledge of complex server-side algorithms and modules coding. Software products/solutions UML modelling and detailed design using professional software tool (Enterprise Architect, Rational Rose, etc.)
Working Knowledge of complex server-side algorithms and modules coding
Working Knowledge of N-tier architectural patterns and ASP.NET MVC
Disclaimer: Drjobpro.com is only a platform that connects job seekers and employers. Applicants are advised to conduct their own independent research into the credentials of the prospective employer.We always make certain that our clients do not endorse any request for money payments, thus we advise against sharing any personal or bank-related information with any third party. If you suspect fraud or malpractice, please contact us via contact us page.