Senior Software Engineer
(5+ years exp)Rocket Software
Job Location
Job Type
Full TimeVisa Sponsorship
Not AvailableRelocation
AllowedSkills
The Role
Job Description Summary:
The Senior Software Engineer designs, develops, troubleshoots, debugs, and sets the direction for the design and implementation of software features/functionality/enhancements, correction of defects, and/or the creation of 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.
Job Overview:
The Senior Software Engineer designs, develops, troubleshoots, debugs, and sets the direction for the design and implementation of software features/functionality/enhancements, correction of defects, and/or the creation of 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:
- Review and provide feedback on designs.
- Takes ownership of the design and development of features within their component.
- Recognizes and practically solves for anti-patterns.
- Good understanding of how his/her work aligns with high-level use cases and team deliverables.
- Define (more than a feature, less than a product) a component that fits into an architecture.
- Describe and defend design decisions for components owned by the team.
- Optimize software design to leverage platform capabilities.
- Acts as the technical subject matter expert for a product domain.
- Quantify and communicate work estimates and risks to direct management
- Handle multiple competing priorities with minimal help
- Understand features as a whole and able to break down larger stories and features into tasks
- Familiar with most of the technologies we focus on and what markets they target
- Takes ownership of customer issues and effectively communicate with Support/SEs to resolve field questions/issues
- Discuss with customers what larger concerns and problems they are trying to solve, over and above the immediate technical concerns
- Willingness to teach and grow junior team members
- Excellent listening skills
- Effectively works within the team and across teams
- Ensures all tasks are completed thoroughly and that any work done is tested, unit tested, documented, and ready for customers
- Takes identified problems and concerns and create a plan to fix the problem and prevent it from occurring again
- Follows through on all tasks
- Reliably delivers expected work products and outcomes
- Imparts a sense of urgency on junior team members
Required Qualifications:
- 8+ years of software engineering experience
- Mastery of data structures and algorithms.
- Able to select data structures and algorithms to solve technical problems.
- Able to write high-quality code rapidly.
- Able to present a track record of solving problems of increasing complexity
- Good understanding of trade-offs in solving problems that have variable levels of complexity.
- Deep understanding of memory allocation and management mechanism, security mechanisms, processing allocation mechanisms of target operating systems.
Education:
- Bachelors/Masters degree in Computer Science or equivalent