Senior Software Engineer
9750 Goethe Road Sacramento, CA 95827 | Direct Hire
We are seeking an experienced Sr. Software Engineer who will be working as part of an Agile team to analyze, design, develop, test, document, implement, deploy and support software applications. The successful candidate will serve as an individual contributor while providing leadership to teams of software developers to innovate, evolve, enhance software products. The Sr. Software Engineer will provide technical guidance and mentoring to drive success of the team and meet its objectives.
- Review, analyze designs, modify, develop, test, document, implement, deploy and support software applications within the scheduled timeframe
- Analyze and resolve complex problems associated with applications systems. Detect, diagnose, and report related problems
- Collaborate with other developers on best practices, code reviews, internal tools and process improvements
- Provide the project team with support and guidance on project specific processes, procedures, tools, training, and techniques
- Review of the product architecture, design, requirements specifications, and test specifications
- Determine and provide estimates for development tasks
- Provide technical assessment of the impact of any changes to product requirements
- Contribute to the continued improvement of the organisation’ s development procedures by looking for opportunities for improvement and implementing solutions
- Resolution of technical issues in conjunction with team members
- Ensuring that designs, code, and unit tests are consistent, robust, and scalable
- Prepares paperwork and attends departmental and project related meetings
- Collaborate with technical managers, architects and other technical leads to deliver world class enterprise grade software and software enabled services
- Work very closely with UX team on UX design, POCs, templates, standards etc.
- Mentor engineers on the team and ensure high code quality by performing code reviews, providing guidance, developing standards and managing work allocation within SCRUM Agile project teams ensuring highest productivity
- Mentor/shared knowledge with other teams on technology and process ensuring best practices and continuous improvement
- Architect, Design, Develop, unit test, debug, deploy and support software ensuring end to end software life cycle
- Follow software engineering discipline ensuring delivery of stable, scalable, maintainable and highly available software products and services
- Engage in Continuous improvement ensuring higher quality, productivity and punctual delivery
- Run workshops on technical aspects of products ensuring continuous learning
- Support the agile development SCRUM processes and entire PDLC process meticulously ensuring alignment across teams
- Identify and report assessed risks and potential solutions to management ensuring proactive risk management
- Work with technical team members to overcome and resolve all technical related roadblocks ensuring team risk mediation
Skills and Experience
- Minimum 7 years’ experience developing enterprise-level, mission critical, database-driven software for medium and large application development projects. Full life cycle experience is required.
- Extremely thorough understanding of UI frameworks like React/AngularJS/Boostrap/jQuery. Experience in React highly preferred.
- Thorough understanding of software design and development including C#/.Net platform, programming languages, Object oriented analysis and design, and application architecture and design.
- At least 6-12 months of experience working with AWS and deploying applications using EC2/Beanstalk/Lambda
- At least 6 months of experience working in a DevOps environment and using tools like Terraforms/CloudFormation, PowerShell.
- Experience in CI/CD mandatory
- Must be focused on the delivery of customer value, in the form of executing software that meets the customer' s needs.
- Must be able to interact and communicate with all levels of staff and project management in both the business and the technical areas
- Must be able to work with a matrixed project or scrum team
- Possess excellent analytical, problem solving, organizational, interpersonal, and motivational skills, with the ability to move cleanly from theoretical to implementation thinking.
- Bachelor of Science Degree in Computer Science or Engineering, or equivalent experience. An MS, MSc or MBA would be an advantage.
Software Engineering Skills
- Minimum 7 years expert experience in
- Object Oriented Programming
- Object-Relational Mapping
- Agile Software Development (SCRUM)
- Domain-Driven Design, MVC and other design patterns
- Proficient in
- Data Modeling with Object Role Modeling (or other conceptual modeling method)
- JIRA, JIRA Agile, Jenkins, Git/GitHub, Rally, Subversion, Accurev,
- SQL Server in a clustered environment
- XML and JSON
- Web Services – SOAP and/or REST
- AWS or other cloud-based architectures
- DevOps scripting languages (Python, Terraforms etc.)
- Visual Studio
- Performance Profiling Tools
- Familiar with
- NAnt or MSBuild
- Design by Contract
- Continuous Integration tool
- AWS or other cloud-based architecture