Senior Software Engineer A Senior Software Engineer is a highly skilled and experienced professional responsible for designing, developing, testing, and maintaining complex software applications, systems, or components. This role involves taking a leadership position within a development team, providing technical guidance, and driving the delivery of high-quality software solutions. A highly analytical approach and eagerness to solve technical problems with data structures, storage systems, cloud infrastructure, front-end frameworks, and other technical tools. Experience or curiosity about working with and using large scale data to take on valuable business problems. Ability to collaborate efficiently in teams of technical and non-technical individuals, and comfortable working in a dynamic environment with evolving objectives and iteration with users. 3+ years of relevant, post-college work experience. Strong engineering background, preferred in fields such as Computer Science, Mathematics, Software Engineering, Physics, and Data Science. Strong coder with shown proficiency in programming languages such as Python, Java, JavaScript, and Palantir (BIG+). Hiring Requirements Software Engineering- 50%
Most of a senior software engineer's time is typically dedicated to actual coding and development activities. Designing and implementing new features, modules, or components. Optimizing and maintaining existing code. Collaborating with team members on coding tasks and code reviews
Problem Solving & Troubleshooting- 20%
Debugging and diagnosing complex issues in software applications. Investigating and resolving technical challenges and bugs. Analyzing and addressing performance bottlenecks or unexpected behavior.
Design & Architecture- 20%
Participating in architectural discussions and contributing to the design of software systems. Creating and reviewing technical design documents or diagrams. Planning and designing software components that require a deep understanding of system architecture.
Testing/Quality Assurance & Code Review- 10%
Developing and executing unit tests, integration tests, and quality assurance procedures to ensure software reliability and functionality. Collaborating with quality assurance engineers to address identified issues.
Skills: Programming languages including Python, Java (Core), PySpark Able to create SQL queries involving Joins of multiple tables Knowledge of the construction/use of XML data sources Competencies: Developing software components to deliver value to stakeholders that manage Sales, Planning and Scheduling of Inventory Designing and deploying software product configurations into software environments or platforms Specifying and designing software to meet defined requirements by following agreed design standards and principles Managing the life cycle of all problems that have occurred or could occur in delivering a service