The Software Engineer-II designs, develops, troubleshoots, and debugs software programs for software enhancements and new products. Develops software tools including operating systems, compilers, routers, networks, utilities, databases, and Internet-related tools. Determines software’s compatibility with hardware and/or influences software's design in relation to hardware.
Position Reports to: Manager, Software Engineering
Job Overview:
The Software Engineer-II designs, develops, troubleshoots, and debugs software programs for software enhancements and new products. Develops software tools including operating systems, compilers, routers, networks, utilities, databases, and Internet-related tools. Determines software’s compatibility with hardware and/or influences software's design in relation to hardware.
Essential Duties and Responsibilities:
Should be an expert in C/C++.
Should have knowledge of OOPS concepts.
Should have clarity of threading concepts.
Should have good knowledge of data structures.
Should be familiar with Linux and Windows scripting (shell/batch).
Should have knowledge of RDBMS concepts.
Should have working knowledge of SQL quesries, Oracle, SQL Server.
Understand end-user requirements.
Write commercial/enterprise-grade software.
Provide input on designs for software enhancements and new products.
Ability to identify the presence of code problems & bring to attention to senior engineers for resolution.
Document and communicate on technical topics without direction.
Seek to shadow other Engineers; working to debug customer issues.
Work under limited direction of a manager and/or team lead to implement software enhancements, correct defects, and/or create new products.
Understand hardware and software systems.
Proficient at programming while working in a team.
Works well in a team. Team-oriented, collaborative, accountable, dependable.
Self-directed learning of the application subject matter
Exercises curiosity
Required Qualifications:
Minimum of 2+ years of software engineering experience
Proven track record of software development in the real world
Proficient in one or more programming languages
Preferred Qualifications:
Can-do attitude
Curious and asks "why"
Education:
Bachelor's degree or equivalent.