Software Engineer - Full-Stack
Summary
Responsible for the core software engineering tasks in a project team. The individual will be required to work with dynamic teams that are driven by project delivery goals. Should possess the drive to learn and continuously improve work performance. Helps and guides software engineers in writing quality code. The individual will be required to participate in periodic appraisal cycles to evaluate and determine advancement opportunities.
Essential Duties and Responsibilities
Listed below are the typical duties and responsibilities expected of an individual for the job title described above. The items specified below are a guideline of the minimum expectations for the job title. Changes will be made on a case-by-case basis for individuals who show potential to take on more opportunities. Other duties may be assigned from time to time.
Overall Responsibilities:
Ensures that code artifacts produced are of the highest quality and conform to set or agreed-upon standards. Advocates for consistency in these standards to all team members. Follows Pearson processes and agile practices and motivates team members to do the same. Escalates and communicates issues, risks and concerns to leads or managers. Provides realistic and accurate estimates and achieves on-time Delivery. Makes optimum utilization of engineering tools and technologies to maintain a high productivity level in the team. Accepts project delivery responsibilities and demonstrates accountability to leadership. Builds competencies in product and technology domain to set expectations. Aligns with organizational goals. Adheres to Pearson values and ethical practices. Maintains a sense of individuality in thinking and decision-making. Demonstrates professionalism in work aspects and conduct with others.
Qualifications
To perform this job successfully, an individual must be able to perform each essential duty satisfactorily. The requirements listed below are representative of the knowledge, skill, and/or ability required. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
Education and/or Experience
The individual should possess a bachelor's degree in Computing or Information Technology. Individuals who have a bachelor's degree in Mathematics, Physical Sciences, or a specialization in the Engineering field will also be considered.
The individual should have a minimum of one (1) year of industry experience in Software Engineering / Web Application Development, Programming, and Design and preferably some experience in a leadership role.
Knowledge, Skills and Abilities
A very good understanding of Object-Oriented Programming and Design. Strong technical knowledge and hands-on experience in Java, Spring Boot. Knowledge and experience in unit testing frameworks like JUnit. Strong technical knowledge and hands-on experience in React JS, Redux, Material UI & Bootstrap. Knowledge and experience in unit testing frameworks like Mocha, Jest, Enzyme. Knowledge and experience in source control systems like Gitlab and Bitbucket. Knowledge and experience in databases like MongoDB, Cassandra, MySQL. Experience using IDEs. Knowledge and Experience in CI/CD pipelines in Gitlab. Knowledge and Experience in Agile practices. A good understanding of software engineering best practices. Strong and effective interpersonal and communication skills (including English language skills) and the ability to interact promptly and professionally with teams across different time zones. Ability to learn new technologies rapidly and share knowledge with other team members. The desire to learn and continuously improve product quality, performance and other non-functional requirements. Provision of in-depth technical skills to fix ad hoc incidents/problems, mentoring and support DevOps teams to ensure best practice. Preferred additional skills: Apache Storm Node JS, Express JS AWS - SES SNS AppSync ElastiCache(Redis) Amazon MQ(RabbitMQ) Lambda EC2 S3 CloudFormation CloudWatch Auto Scaling groups Load Balancers including target groups.