The Senior Software Engineer will have a solid knowledge of database concepts and software development tools. They will work closely with other Software Engineers, Business Systems Analysts, and business stakeholders to develop and maintain complex database solutions. Additionally, the Senior Software Engineer will function as a subject matter expert and will be expected to implement complex software solutions across a variety of clients.
Duties and Responsibilities
- Adhere to company policies, procedures, best practices and standards
- Aid in solving complex business problems
- Assist the project team with comprehensive level-of-effort estimates for all necessary changes and be accountable for completing the estimated work when applicable
- Become the subject matter expert and share their expertise on the systems and business supported
- Challenge conventional practices in a collaborative fashion
- Communicate (and listen) clearly, professionally, politely, and persuasively in all situations; respond well and in a reasonable, timely manner.
- Conforming with all applicable compliance and business standards
- Considers cost and resource efficiency in performance of all job responsibilities
- Design, build, and maintain efficient, reusable, and robust code while using source control to manage code across all environments
- Design, develop, maintain, and enhance scalable data processes, business reports, ad-hoc reporting, and other data related items
- Develop and deliver training as appropriate
- Develop and execute test plans to validate code works as expected
- Develop basic database queries and perform analysis on results
- Develop, maintain, and enhance data processes, business reports, ad-hoc reporting requests, and other data related items
- Enforce architecture, data, security, and coding standards
- Ensure all work products are documented, stored, and managed according to company standards
- Identify, incorporate, and remediate code to improve performance
- Initiates process/technology improvements
- Lead, innovate, and implement ideas to support growth/scale
- Learns and applies a fundamental understanding of key aspects of the business(es) supported
- Mentor, guide, and lead others
- Participate in code reviews and quality assurance processes to ensure that the architectures and standards are being followed
- Participates and assists in business development opportunities as requested
- Perform all work and activities with honesty and integrity
- Perform complex estimating and requirements gathering efforts
- Possess big-picture understanding of the business and have the ability to challenge the status-quo.
- Proactively incorporate best practices in providing leading edge secure solutions
- Proactively seek, identify, and collaborate on innovative solutions.
- Seek and implement automation opportunities wherever possible
- Troubleshoot, analyze, and debug issues
- Perform other duties as assigned
Qualifications & Requirements
- Bachelor's degree or equivalent and 5 years of related experience
- Ability to develop, maintain, and re-platform SSIS, SSRS, SQL Server sorted procedures
- Ability to tune high performance database queries
- Applied knowledge of Data Model design, Indexing, Referential Integrity, and other key data concepts
- Bachelor's degree in any discipline required
- Demonstrated ability to apply unit testing/test-driven development
- Demonstrated experience in creating and maintaining conceptual, logical, and physical application architectures
- Demonstrated experience of high-quality delivery in a Software Engineering role for the full development lifecycle across several high complexity projects
- Established credibility as a subject matter expert in a particular area of focus (Technology, Industry, etc.)
- Experienced in creating data architecture, data model diagrams, relationship diagrams, etc.
- Must have one or more of the following: - DevOps experience - Familiarity with Data Modeling, Data Warehouse design and/or Big Data (Hadoop) - Experience using Python - Experience with NOSQL