Software Developer
National Parcel Stations Network Co.
- Riyadh
- Permanent
- Full-time
- Work closely with stakeholders to gather and analyze requirements for in-house software applications.
- Design, develop, and maintain software solutions using C# and the .NET framework.
- Implement best practices for software development, including coding standards, testing, and documentation.
- Collaborate with cross-functional teams to ensure that software solutions meet business requirements and adhere to project timelines.
- Continuously monitor and evaluate software applications to identify opportunities for improvement and optimization.
- Stay up to date with the latest technologies and industry trends to enhance skills and expertise.
- Act as a subject matter expert on software development best practices and methodologies.
- Gather requirements for API integration completion of Parcel Machine Management Software.
- Test and validate APIs created/modified as per customer requirements.
- Create and maintain documentation for software integration, implementation, and user manuals.
- Investigate and resolve software issues by analyzing logs and implementing configuration changes or bug fixes.
- Develop innovative solutions, such as creating JavaScript-containing machine locations using Google Maps APIs.
- Design, develop, test, and deploy high-quality software solutions.
- Participate in code reviews to maintain code quality and ensure best practices.
- Analyze user requirements and develop solutions that meet business needs.
- Collaborate with QA engineers to identify and fix bugs.
- Use version control systems (e.g., Git) effectively for code management.
- Work in an agile development environment, participating in sprint planning and other agile ceremonies.
- Bachelor’s degree in computer science, Software Engineering, or related field.
- 3+ years of experience in software development with a strong emphasis on C# and the .NET framework.
- Solid understanding of software development best practices, including Agile methodologies.
- Strong problem-solving skills and attention to detail.
- Excellent communication and collaboration abilities.
- Experience with DevOps platforms and practices is considered a plus.
- Proficiency in one or more programming languages is essential. Commonly used languages include Java, Python, C++, JavaScript, Ruby, and others depending on the job requirements.
- Strong understanding of software development methodologies, best practices, and the ability to write clean, maintainable code.
- Strong grasp of algorithms and data structures for efficient problem-solving and optimization.
- Knowledge of testing methodologies, including both manual and automated testing.
- Experience working with in-house software applications and meeting evolving business requirements.
- Familiarity with Azure DevOps and cloud hosting solutions.
- Knowledge of web development frameworks (e.g., React, Angular, Node.js).
- Familiarity with database systems (SQL, NoSQL).
- Certifications in relevant technologies, frameworks, or methodologies can add credibility. include certifications from Microsoft, Cisco, AWS, or Scrum Alliance.
- Experience with test automation frameworks (e.g., Selenium, Appium) for automating functional and regression tests.
- Ability to create comprehensive test plans and strategies to ensure thorough test coverage.
- Familiarity with defect tracking tools (e.g., Jira, Bugzilla) to report and monitor issues throughout the development lifecycle.
- Understanding of CI/CD pipelines and integration of automated tests into the development process.
- Proficient in using version control systems (e.g., Git) for code management and collaboration.
- Ability to define and track key quality metrics, providing meaningful reports to the development team and stakeholders.
- Experience in testing applications across different browsers, devices, and platforms.
- Awareness of security testing concepts and tools to identify vulnerabilities in software applications.
- Proficient in testing APIs using tools like Postman or by developing automated API tests.
- Effective communication skills to collaborate with developers, product managers, and other stakeholders.
- Strong analytical skills to identify, isolate, and reproduce issues, as well as to analyze and interpret test results.
- Ability to create clear and concise documentation for test cases, procedures, and results.
- Ability to adapt to new technologies, tools, and methodologies in the rapidly evolving field of QA and QC.
- Experience with mobile app development is a plus.