Software Engineer - Full StackOverview / Summary We are seeking a Software Engineer responsible for designing, developing, testing, and maintaining software applications and products to meet customer needs. This role is involved throughout the software development lifecycle, including software architecture, coding, testing, deployment, and application maintenance.
The role includes developing both user-facing interfaces and server-side applications, collaborating with cross-functional teams, and delivering user-centric software solutions.
Key Responsibilities - Engage with customers to understand their use cases, pain points, and requirements, while advocating for user-centric software solutions.
- Solve complex problems by designing, developing, and delivering software using various tools, programming languages, frameworks, methodologies, and technologies.
- Assess software application or service requirements and determine suitable technology stacks, integration methods, and deployment strategies.
- Create high-level software architecture designs outlining the overall structure, components, and interfaces of applications.
- Collaborate with cross-functional teams, including product owners, designers, and architects.
- Define and implement software testing strategies, guidelines, policies, and processes in alignment with organizational vision, industry regulations, and market best practices.
- Continuously improve application performance and optimize applications while implementing new technologies to maximize development efficiency.
- Apply programming practices such as test-driven development, continuous integration, and continuous delivery.
- Support security practices designed to safeguard user data, including encryption and anonymization.
- Create user-friendly and interactive interfaces.
- Develop and maintain back-end applications, including APIs and microservices, using server-side programming languages.
- Evaluate and incorporate emerging technologies and capabilities to deliver software solutions.
- Monitor and participate in solutions involving new technology stack layers and industry collaboration.
Required Qualifications - Bachelor's degree.
- 6+ years of experience in IT.
- 4+ years of software development experience.
- Practical experience in two coding languages or advanced practical experience in one coding language.
- Experience with Angular.
- Experience with BigQuery.
- Experience with Tekton.
- Experience with Java.
- Experience with MongoDB.
- Experience with software development practices including test-driven development, continuous integration, and continuous delivery.
- Ability to work onsite 4+ days per week.
Preferred Qualifications - Experience with MongoDB, Java, and Angular.