Senior Software Engineer - Data Team
The Senior Software Engineer will be working with other engineers, architects, and product managers to develop software on our philanthropic solutions software platform. This person must be self motivated and results-oriented with strong programming skills across modern enterprise software architectures. The Sr Software Engineer is expected to work well in an agile development environment to mentor and develop those around them and build superior products.
Duties & Responsibilities:•Write and maintain scripts written in Python for data engineer and machine learning pipelines.
•Modification of database objects using SQL (stored procedures, views, tables etc.)
•Write Automated Unit, Integration, and Ul-level Tests to increase code quality and lower defect rate.
•Provide technical guidance, mentorship while providing technical and design feedback leveraging code and peer reviews across the full application stack.
•Collaborate and pair with other software and data engineers and product professionals to design, implement and test new features and product refinements.
•Refactor existing code to improve maintainability and quality.
•Author and present training materials and documentation to other team members and users of software
•Work closely with Product Management and other areas of the business to ensure market needs are met.
•Work with Architecture team to design and implement new service-based, automated application environment.
•Adhere to defined security standards in both functional and non-functional duties of job.
•Work with cloud storage and warehousing tools such as Snowflake.
•Maintain and deploy Lambda services in AWS.
•Work with reporting software such as Metabase.
•Other duties as assigned.
Education & Experience:
•Bachelor's degree in computer science or related field required.
•5+ years of experience with SQL and unstructured databases.
•3+ years of experience in the programming and support of complex enterprise cloud applications
•3+ years of experience with Python and Snowflake or other similar data warehouse tools and services.
•Experience with Azure cloud services
•Lean/Agile methodologies
•Strength in algorithms and design patterns
•Experience with automated testing frameworks and test-driven development is a plus.
•Financial Technology experience is a plus.
•High level of understanding and experience with dependency injection {Autofac a plus)
•A working understanding of CQRS and Mediator patterns
•Experience working with multi-tenanted systems.
•Experience with reporting and data models.