Develop software solutions by studying information needs; conferring with users; studying systems flow, data usage and work processes; investigating problem areas; following the software development lifecycle.
Develop applications using backend development kits for smartcards, reader devices, biometric sensors, etc.
Provide engineering support when building, deploying, configuring and supporting systems for customers, responding promptly and professionally to bug reports.
Test new software programs to ensure that logic and syntax are correct and that program results are accurate; assist programmers with programming assignments.
Participate with the engineering and operations teams to define plans for standardizing, scaling and enhancing our products and the services utilized to deploy/install/release those products.
Document and demonstrate solutions by developing documentation, flowcharts, layouts, diagrams, charts, code comments, and clear code.
Prepare and install solutions by determining and designing system specifications, standards, and programming.
Improve operations by conducting systems analysis, recommending changes in policies and procedures.
Provide information by collecting, analyzing, and summarizing development and service issues.
Investigate, analyze, and make recommendations to management regarding technology improvements, upgrades, and modifications.
Write applications to meet customers' needs and ensure the applications are tested and work efficiently and effectively.
Ensure timely completion of assignments and produce accurate output.
Report to the Software Development Manager.
Requirement:
Degree/Diploma in Computer Science or equivalent.
2 or more years in a software development environment is preferred.
Able to work independently and as a team player with colleagues.
Strong understanding of software architecture principles and design patterns.
Strong proficiency in at least one programming language (e.g., C#, C, C++, Java, JavaScript, etc.).
Experience with backend frameworks and libraries (e.g., ASP.NET, ASP.NET Core, Entity Framework, Node.js, etc.).
Solid understanding of database management systems (e.g., SQL, NoSQL) and proficiency in writing efficient queries.
Familiarity with front-end technologies (HTML, CSS, JavaScript) and the ability to collaborate effectively with front-end developers.
Experience with version control systems (e.g., Git) and collaborative coding workflows.
Familiarity with WebSocket communication protocols and real-time data exchange.
Excellent problem-solving and analytical skills.
Strong communication and interpersonal skills.
Experience with cloud platforms such as Azure or AWS.
Knowledge of containerization technologies like Docker and orchestration frameworks like Kubernetes.
Familiarity with microservices architecture.
Knowledge of DevOps practices and tools (e.g., CI/CD, Jenkins, Ansible).
Experience in developing and consuming RESTful APIs, SOAP, XML, JSON, etc.
Understanding of security principles and best practices in backend development.
Experience with test-driven development (TDD), unit testing frameworks, and automated testing tools.
Stay updated on the latest industry trends, best practices, and emerging technologies. Experiment with new languages, frameworks, and tools that may enhance our product offerings.
What We Offer:
Opportunities for mentorship and continuous learning to build your skill set in both established and emerging technologies.
A chance to work on a diverse set of projects that push the boundaries of modern software development.
A collaborative, supportive, and agile work culture that values innovation, creativity, and continuous improvement.