A Software Developer is a professional who is charged with designing and coding software for businesses and consumers alike. They work closely with clients to determine what they need, then use programming languages like Java or C++ to create programs. They must have critical thinking skills, as well as strong problem-solving abilities.Requirements and skills:Proven experience as a Software Developer, Software Engineer or similar roleFamiliarity with Agile development methodologiesExperience with software design and development in a test-driven environmentKnowledge of coding languages (e.g. C++, Java, JavaScript) and frameworks/systems (e.g. AngularJS, Git)Experience with databases and Object-Relational Mapping (ORM) frameworks (e.g. Hibernate)Ability to learn new languages and technologiesExcellent communication skills