Senior Software Engineer
Sunnyvale, California 94086
- Researches, designs, develops and integrates applications at a senior-level as per written specifications.
- Write new software or make modifications to existing software applications and modules in accordance with written specifications.
- Develops software using disciplined software development processes, adhering to industry standards and software best practice guidelines.
- Essential day-to-day responsibilities include performing coding assignments, unit testing, ensuring development standards are being followed, analyzing functional specifications, producing technical specifications and unit testing scripts, and participating in team code reviews and impact assessments.
- Participate in project planning sessions with team members to analyze development requirements, provide design options, and provide work breakdown and estimates of work.
- Recommends solutions for software enhancements.
- Provide accurate and timely status reports on work progress.
- Other duties will include; Production support and subsequent defect research, assistance in technical and/or system documentation may be needed to aid support teams.
- Review work of peers and junior developers.
- Provides technical guidance and coaching to more junior team members.
- Bachelor's degree in Computer Science or equivalent required. (MS desired)
- 6+ years’ development experience.
- Must have designed and implemented fast and efficient web based solutions featuring horizontally scalable technologies.
- Passion for huge, scalable systems, databases, analytics and performance optimization.
- At least 6 years of experience in Java development building scalable applications with a keen eye for performance optimization and clean code
- At least 3 years of experience leading a team, mentoring juinor developers and reviewing code, SOA and integrating applications
- Knowledge about task runners and bundling tools like NPM, yeoman, gulp, browserify, webpack
- Strong Java expertise with RESTful services, Spring framework, Spring boot
- Experience with cloud technologies and solutions preferred (AWS/Azure)
- Expertise with unit testing & Test Driven Development (TDD)
- Excellent communication skills: Demonstrated ability to explain complex technical issues to both technical and non-technical audience
- Experience with Agile Development, SCRUM preferred