What are the responsibilities and job description for the Software Developer position at Smart Synergies?
Job Details
Our client is seeking a talented and experienced Application Developer to join their team. In this role, you will be instrumental in developing and enhancing our web applications. You will collaborate closely with various functional teams to create high-performance, user-friendly applications that shape the future of our digital products.
Key Responsibilities:
Application Development:
Design, develop, and maintain robust, scalable, and high-performance software applications.
Write clean, efficient, and maintainable code using programming languages such as Java, C#, or similar.
Develop and optimize database solutions by designing, implementing, and managing both relational and NoSQL databases, ensuring efficient data storage, retrieval, and seamless integration with software applications.
Implement both front-end and back-end components following industry best practices and standards.
Utilize frameworks and libraries to enhance application functionality and performance.
System Integration:
Develop and manage integration solutions between Oracle and other systems and technologies.
Use various integration technologies and methodologies (e.g., REST, SOAP, APIs, message queues) to facilitate seamless data exchange.
Ensure data integrity and consistency across integrated systems.
Develop and maintain processes to handle data transformation and migration.
Technical Collaboration:
Collaborate with cross-functional teams, including product managers, designers, and other developers, to define and implement software solutions.
Participate in architecture and design discussions to ensure solutions align with business requirements and technical constraints.
Conduct code reviews to ensure code quality and adherence to coding standards.
Mentor and provide technical guidance to junior developers.
Troubleshooting and Maintenance:
Identify, diagnose, and resolve technical issues and bugs in a timely manner.
Perform performance tuning and optimization of applications and databases.
Ensure software security and compliance with data protection regulations.
Maintain and update technical documentation, including design specifications, user manuals, and deployment guides.
Continuous Improvement:
Stay current with emerging technologies, tools, and best practices in software development and cloud computing.
Proactively identify opportunities to improve existing processes and systems.
Participate in training and professional development activities to enhance skills and knowledge.
Qualifications:
Proficiency in one programming language and familiarity with others, such as C#, Java, or JavaScript/TypeScript.
Proven experience in designing, implementing, and optimizing database solutions, including relational (e.g., SQL Server, Oracle, MySQL) and NoSQL databases, with strong skills in data modeling, query optimization, and ensuring data integrity and security.
Extensive experience in developing and maintaining web applications using JavaScript/TypeScript, HTML, and CSS.
Solid understanding of software engineering principles, patterns, and practices, including object-oriented design, test-driven development, and agile methodologies.
Proven ability to build high-performance applications following best practices.
Skilled in debugging and resolving issues using browser-based tools and error-checking methods.
Experience implementing automated unit testing and end-to-end testing using relevant frameworks.
Proficiency with git as a code versioning tool and experience in collaborating with other developers through code reviews, pull requests, and merge conflict resolutions.
Experience or knowledge of cloud platforms and services like Azure, AWS, or Google Cloud.
An interest in AI, machine learning, data science, power apps, or related technologies.
Exceptional time-management, interpersonal, and communication skills in a fast-paced and agile environment.
Ability to write technical design documents from provided functional designs and create unit test documents for related areas.
Ability to communicate technical issues effectively to functional counterparts and stakeholders.
Positive, can-do attitude and a strong collaborator who works well with different teams and stakeholders.
Exceptional problem-solving abilities and a strong desire to learn and master new skills and technologies, coupled with a willingness to share knowledge with peers.
Ability to work both independently and collaboratively in a dynamic setting.
If you are passionate about software development and thrive in a fast-paced, dynamic environment, we encourage you to apply and become a part of our innovative team.