Opportunity brief
Shure is hiring for the role of Software Development Intern!
Responsibilities of the Intern:
- Understand the product architecture, application workflows, customer use cases, technical requirements, dependencies, and engineering challenges across the complete software development lifecycle.
- Assist in designing, developing, enhancing, and maintaining software applications and components based on business and technical requirements.
- Write clean, readable, reusable, maintainable, and efficient code following established coding standards and software engineering best practices.
- Develop and integrate application features across frontend, backend, APIs, databases, and supporting services, as applicable to the assigned project.
- Participate in requirements analysis, technical discussions, solution design, code reviews, debugging, and implementation activities.
- Build and consume RESTful APIs and work with databases, data models, queries, and application integrations.
- Identify, troubleshoot, and resolve software defects, performance issues, integration challenges, and unexpected application behavior.
- Develop unit tests and integration tests to validate software functionality, reliability, and maintainability.
- Use Git-based version control workflows to manage code changes, collaborate with team members, and contribute to shared repositories.
- Work with Jenkins or other CI/CD tools to understand build processes, automated checks, deployment workflows, and software delivery practices.
- Explore modern development tools, frameworks, libraries, and architectural approaches to improve development efficiency and software quality.
- Prototype AI-assisted software development solutions using Large Language Models (LLMs), Generative AI, and AI agents for activities such as code generation, code review, documentation, debugging, refactoring, and test creation.
- Contribute to AI-enabled engineering workflows where software agents can analyze requirements, use development tools, generate or modify code, and validate outcomes with appropriate human review.
- Evaluate AI-generated code for correctness, maintainability, security, performance, and adherence to established engineering standards.
- Apply secure coding practices, investigate technical challenges, and recommend improvements to application performance, reliability, scalability, and maintainability.
- Document technical designs, implementation decisions, APIs, and development workflows to support knowledge sharing and long-term product maintenance.
Requirements:
- Currently pursuing or recently completed a Bachelor's or Master's degree in Computer Science, Information Technology, Software Engineering, Artificial Intelligence, Data Science, or a related field.
- Basic understanding of software development principles, data structures, algorithms, object-oriented programming, debugging, and software development lifecycle (SDLC) concepts.
- Working knowledge of at least one programming language, such as Python, Java, JavaScript, or TypeScript.
- Foundational understanding of application development, REST APIs, databases, SQL, source control, and software integration concepts.
- Essential exposure to and conceptual understanding of Large Language Models (LLMs), Generative AI, and Agentic AI, including their practical applications in software engineering.
- Ability to understand a system end to end, learn unfamiliar technologies, analyze problems logically, and translate requirements into practical technical solutions.
- Strong attention to detail, ownership, curiosity, collaboration skills, and willingness to experiment, learn, and accept feedback.