Job Description
The Full Stack Developer is responsible for designing, developing, testing, deploying, and maintaining web and software applications across both front-end and back-end components. The role requires collaboration with business stakeholders, analysts, QA personnel, and project teams to deliver scalable, secure, and high-quality solutions that meet business requirements.
Responsibilities
1. Requirements Analysis
- Understand Project Requirements: Work closely with stakeholders to gather and understand business requirements.
- Technical Feasibility: Analyze the feasibility of requirements from a technical perspective.
2. System Design & Architecture
- System Design & Architecture: Design software systems and architecture that meet the functional and non-functional requirements.
- Design Documentation: Create detailed design documentation, including data flow diagrams, architecture diagrams, and design specifications
3. Coding and Implementation
- Develop Code: Write clean, efficient, and maintainable code based on design specifications.
- Language Proficiency: Proficiency in programming languages like Python, Java, C++, JavaScript, or others relevant to the project.
- Version Control: Use version control systems like Git to manage code versions.
4. Database Management
- Design and maintain database schemas, tables, views and stored procedures.
- Optimize database performance and data integrity.
- Develop data migration and integration processes.
- Perform database troubleshooting and tuning activities.
5. Testing and Debugging
- Unit Testing: Write and execute unit tests to ensure code quality.
- Debugging: Identify and fix bugs in the code to ensure the software functions correctly.
- Integration Testing: Collaborate with QA teams to perform integration and system testing.
6. Deployment
- Software Deployment: Prepare the software for deployment in production environments.
- Automation: Use CI/CD pipelines to automate build and deployment processes.
7. Maintenance and Support
- Post-Deployment Support: Provide support to fix bugs, improve performance, and update software as needed.
- Upgrades and Enhancements: Implement upgrades and add new features to existing software.
- Collaboration
- Team Collaboration: Work with cross-functional teams, including project managers, designers, and other developers.
- Communication: Communicate effectively with stakeholders to report progress, issues, and solutions.
8. Documentation
- Code Documentation: Maintain comprehensive documentation for code and software architecture.
- User Documentation: Assist in creating user manuals and documentation for end-users.
9. Security
- Secure Coding: Implement best practices for secure coding to protect software from vulnerabilities.
- Compliance: Ensure that the software complies with relevant security standards and regulations.
10. Continuous Learning
- Stay Updated: Keep up with the latest trends, tools, and technologies in software development.
- Professional Development: Participate in training, workshops, and conferences to enhance skills.
Requirements
- Minimum 3.50 GPA
- Programming Skills: Proficiency in multiple programming languages.
- Problem-Solving: Strong analytical and problem-solving skills.
- Software Design: Knowledge of software design patterns and architecture.
- Version Control: Experience with version control systems like Git.
- Testing and Debugging: Ability to test and debug software effectively.
- Communication: Good verbal and written communication skills.
Required Skills
- Python
- React.js / Next.js
- DevOps (Docker / Kubernetes / CI-CD)
- Java
- Database (SQL / NoSQL)
Pay: RM3,000.00 - RM5,000.00 per month
Benefits:
- Opportunities for promotion
- Professional development
Work Location: In person