Senior Software Developer
At Kartaca, our goal is to create the perfect solutions for our customers. With the business standards that we do not compromise and preferring free software, we work to develop products that make us proud.
We are looking for new teammates who share the same enthusiasm; are curious to learn, willing to add value to what they do, and have work ethics.
Requirements
- At least 4 years of professional software development experience
- A bachelor's degree in Computer Engineering, Software, Information Systems, or similar undergraduate programs at universities
- Proficient in at least one of Java, Golang, PHP or Node.js platforms
- For those with more proficiency in Java: Proficient in Java programming language and experience in Hibernate, Spring, and Spring Boot application frameworks
- For those with more proficiency in Golang: Proficient in Go programming language and experience in application frameworks such as Fibre, Gin, and Echo, Good command of Goroutine and Channel models
- For those with more proficiency in PHP: Proficient in PHP programming language and experienced with frameworks such as Laravel, Symfony and Drupal
- For those with more proficiency in Node.js: Proficient in Node.js platform and experienced with frameworks such as NestJS, Express.js or similar technologies
Job Description
- Analyze, develop, and, when necessary, redesign existing or new applications
- Implement software testing processes to ensure software quality
- Develop high-quality and scalable software solutions using programming languages and best practice standards, focusing on performance, security, and usability
- Use tools and methodologies to automate and improve continuous integration and delivery processes
- Participate in code reviews, reviewing the written codes and following the processes
- Document code and systems comprehensively, creating documentation to facilitate the work of other developers and stakeholders
- Actively engage in different project management strategies such as Agile or Waterfall, communicating with internal teams or clients in testing, development, and analysis, and actively participating in the work progress
- Explore, learn, and implement different technologies and programming languages for specific needs