We are looking for a Senior Software Engineer to join our team. This role involves conducting research, designing, and developing software within a functional area or product line. You will provide input to project plans, schedules, and methodologies for cross-functional software products, perform software design across multiple systems, mentor junior team members, and communicate with users/customers to translate their requests into solutions.
Responsibilities:
Collaborate with technical personnel or team members to finalize requirements.
Write and review detailed specifications for complex system components.
Complete complex bug fixes.
Work closely with development team members to understand product requirements and translate them into software designs.
Implement development processes, coding best practices, and conduct code reviews.
Operate in various development environments (Agile, Waterfall, etc.) while collaborating with key stakeholders.
Resolve complex technical issues as necessary.
Mentor entry-level software engineers and ensure they are knowledgeable in critical aspects of their roles.
Mentor less-experienced software developers on development methodologies and optimization techniques.
Requirements:
5+ years of experience in Software Engineering.
Bachelor’s degree in engineering, Computer Science, or equivalent experience.
Proficiency in software development methodologies (e.g., Agile, Waterfall).
Strong skills in data manipulation and optimization techniques.
Understanding of normalized and dimensional data modeling principles.
Knowledge of multiple data storage subsystems.
Expertise in development languages such as Java, JavaScript, C/C++, HTML, XML, SQL, Windows, UNIX, and .Net.
Strong research and problem-solving skills.
Familiarity with industry best practices in development and knowledge of test-driven development.