Primary Function of Position
This role would involve the development and implementation of both front-end and back-end software applications. The responsibilities would include designing system architecture, high-level programming, performance testing, and systems integration. The successful candidate would have advanced programming skills, experience with application development, and strong troubleshooting abilities. The main objective of a Software Development Engineer is to create and implement advanced software systems that meet the company's requirements effectively.
Essential Job Duties
Design and Develop Enterprise Data Warehouse:
- Design the architecture of the Enterprise Data Warehouse, considering full life cycle development from inception to implementation.
- Develop and implement reporting and analytical solutions that integrate with the EDW.
Performance and Scalability:
- Strong experience in designing for performance and scalability.
- Conduct performance and scalability testing to ensure system reliability and efficiency.
Project Scope and System Architecture:
- Meet with business teams to define the scope and scale of software projects.
- Design the software system architecture to meet business requirements.
Data Structures and Design Patterns:
- Complete the establishment and implementation of data structures and design patterns necessary for robust software development.
Software Development:
- Design and implement scalable web services, applications, and APIs.
- Write both low-level and high-level code for various software components.
Software Maintenance:
- Develop and maintain internal software tools to support business processes.
Troubleshooting and Debugging:
- Perform troubleshooting and bug fixing to ensure the smooth operation of software systems.
- Identify and resolve bottlenecks to improve software efficiency.
Collaboration and Micro-services Development:
- Collaborate with the design team to develop micro-services that align with project requirements.
Technical Documentation:
- Write and maintain technical documents that detail system architecture, codebases, and development processes.
These duties encompass the design, development, and maintenance responsibilities expected of an individual in this position, as well as the collaborative aspects of working within a team and interfacing with business stakeholders.
Required Skills and Experience
Required Education and Training
- Bachelor’s degree in computer engineering or computer science.
- Minimum 8 years of experience as a Software Development Engineer.
Preferred Skills and Experience
- Strong Python skills: Proficiency in Python programming language, particularly with knowledge of pandas and core API programming, would be essential.
- Development experience with REST frameworks: Experience working with REST frameworks, such as Django or Flask, would be beneficial for building web applications and APIs.
- Docker experience: Familiarity with Docker, a containerization platform, would be advantageous for managing and deploying applications.
- Front-end development with ReactJS: Experience building applications using ReactJS, a popular JavaScript library for building user interfaces, would be valuable for developing interactive and responsive front-end components.
- End-to-end application development: Strong experience in end-to-end application development, which encompasses all stages from design to deployment, is desired.
Intuitive is an Equal Employment Opportunity Employer. We provide equal employment opportunities to all qualified applicants and employees, and prohibit discrimination and harassment of any type, without regard to race, sex, pregnancy, sexual orientation, gender identity, national origin, color, age, religion, protected veteran or disability status, genetic information or any other status protected under federal, state, or local applicable laws.
We will consider for employment qualified applicants with arrest and conviction records in accordance with fair chance laws.