Full Stack Software Engineer
Role summary / purpose
Employees in this job function are responsible for designing, developing, testing, and maintaining software applications and products to meet customer needs. They are involved in the entire software development lifecycle including designing software architecture, writing code, testing for quality, and deploying the software to meet customer requirements. Full-stack software engineering roles who can develop all components of software including user interface and server side also fall within this job function.
Key responsibilities
Engage with customers to deeply understand their use-cases, pain points, and requirements, showcasing empathy and advocating for user-centric software solutions
Solve complex problems by designing, developing, and delivering using various tools, languages, frameworks, methodologies like agile, and technologies
Assess the requirements of the software application or service and determine the most suitable technology stack, integration method, deployment strategy, etc.
Create high-level software architecture designs that outline the overall structure, components, and interfaces of the application
Collaborate with cross-functional teams like product owners, designers, architects, etc.
Define and implement software test strategy, guidelines, policies, and processes in line with organization vision, industry regulations, and market best practices
Work on continuously improving performance and optimizing the application and implement new technologies to maximize development efficiency
Familiar with programming practices such as test-driven development, continuous integration, and continuous delivery
Support security practices to safeguard user data including encryption and anonymization
Create user-friendly and interactive interfaces
Develop and maintain back-end applications like APIs and microservices using server-side languages
Evaluate and incorporate emerging technologies and capabilities to deliver solutions and monitor and participate in solutions for new stack layers, often involving industry collaboration
Requirements – education & experience
6 years in IT
4 years in development
Practical experience in 2 coding languages or advanced practice in 1 language