Software Engineer II
Cummins Inc.
**DESCRIPTION**
**Key Responsibilities:**
+ Develop software solutions by studying information needs, conferring with users, studying systems flow, data usage, and work processes, and investigating problem areas.
+ Follow the software development lifecycle; document and demonstrate solutions.
+ Develop flow charts, layouts, and documentation.
+ Determine feasibility by evaluating analysis, problem definition, requirements, solution development, and proposed solutions.
+ Understand business needs and create tools to manage them.
+ Prepare and install solutions by determining and designing system specifications, standards, and programming.
+ Recommend state-of-the-art development tools, programming techniques, and computing equipment.
+ Participate in educational opportunities, read professional publications, maintain personal networks, and participate in professional organizations.
+ Provide information by collecting, analyzing, and summarizing development and issues while protecting IT assets by keeping information confidential.
+ Improve applications by conducting systems analysis and recommending changes in policies and procedures.
+ Define applications and their interfaces, allocate responsibilities to applications, understand solution deployment, and communicate requirements for interactions with solution context.
+ Define Nonfunctional Requirements (NFRs).
+ Understand multiple architectures and how to apply architecture to solutions.
+ Provide oversight and foster Built-In Quality and Team and Technical Agility.
+ Adopt new mindsets and habits in how people approach their work while supporting decentralized decision-making.
+ Maintain strong relationships to deliver business value using relevant Business Relationship Management practices.
**RESPONSIBILITIES**
**Qualifications:**
+ Bachelor's degree in Computer Science, Engineering, or related field (or equivalent experience).
**Competencies:**
+ **Business Insight:** Applying knowledge of business and the marketplace to advance the organization’s goals.
+ **Communicates Effectively:** Developing and delivering multi-mode communications that convey a clear understanding of the unique needs of different audiences.
+ **Customer Focus:** Building strong customer relationships and delivering customer-centric solutions.
+ **Global Perspective:** Taking a broad view when approaching issues, using a global lens.
+ **Manages Conflict:** Handling conflict situations effectively, with a minimum of noise.
+ **Agile Architecture:** Designs the fundamental organization of a system embodied by its components, their relationships to each other, and to the environment to guide its emergent design and evolution.
+ **Agile Development:** Uses API-First Development where requirements and solutions evolve through the collaborative effort of self-organizing and cross-functional teams and their customer(s)/end user(s) to construct high-quality, well-designed technical solutions.
+ **Agile Systems Thinking:** Embraces a holistic approach to analysis that focuses on the way that a system's constituent parts interrelate and how systems work over time and within the context of larger systems.
+ **Agile Testing:** Leads a cross-functional agile team with special expertise contributed by testers working at a sustainable pace, delivering business value desired by the customer at frequent intervals.
+ **Regulatory Risk Compliance Management:** Evaluates the design and effectiveness of controls against established industry frameworks and regulations.
+ **Solution Functional Fit Analysis:** Composes and decomposes a system into its component parts to study how well the component parts were designed, purchased, and configured to interact holistically.
+ **Solution Modeling:** Creates, designs, and formulates models, diagrams, and documentation using industry standards, tools, version control, and build and test automation.
+ **Values Differences:** Recognizing the value that different perspectives and cultures bring to an organization.
**QUALIFICATIONS**
**Knowledge/Skills:**
1. **Development & Coding:**
2. Design, develop, and maintain scalable web applications using modern front-end and back-end technologies.
3. Write clean, efficient, and reusable code for both front-end and back-end components.
4. Integrate APIs and third-party services into the web applications.
5. Develop and manage NoSQL database schemas, and optimize queries for performance and scalability.
6. **Collaborative Problem-Solving:**
7. Collaborate with product managers, designers, and other developers to create functional, user-friendly, and visually appealing web applications.
8. Participate in code reviews to ensure code quality, security, and maintainability.
9. Troubleshoot, debug, and optimize applications for better performance and user experience.
10. **Technical Leadership & Mentorship:**
11. Provide guidance and support to junior developers and help them grow technically.
12. Continuously stay updated with new technologies, tools, and best practices to contribute innovative ideas to the team.
13. **Front-End Development:**
14. Build responsive and adaptive user interfaces using modern front-end frameworks and libraries (e.g., React, Angular, Vue.js).
15. Implement best practices for UI/UX design and ensure the application is mobile-friendly.
16. **Back-End Development:**
17. Develop RESTful APIs, microservices, and server-side logic using backend technologies (e.g., Node.js, Python, Java, Typescript).
18. Ensure security, data protection, and compliance with industry standards.
19. **Database & Storage:**
20. Design, implement, and manage relational (SQL) and non-relational (NoSQL) databases such as PostgreSQL, MySQL, Neo4J, CosmosDB, etc.
21. Perform database optimizations for faster query processing and better performance.
22. **Version Control & Deployment:**
23. Use version control systems (e.g., Git) to manage and document changes to the codebase.
24. Participate in continuous integration and continuous deployment (CI/CD) processes, ensuring the software is regularly deployed to production.
25. **Testing & Debugging:**
26. Write unit, integration, and end-to-end tests for applications to ensure robustness and reliability.
27. Conduct thorough testing and debugging to ensure a smooth user experience.
28. **Documentation:**
29. Document technical specifications, API endpoints, and any relevant development processes.
30. Maintain clear and concise documentation for code, database schemas, and deployment procedures.
**Technical Skill Set:**
1. **Front-End Technologies:**
2. Strong experience with HTML5, CSS3, and JavaScript.
3. Proficiency in front-end frameworks such as React, Angular, or Vue.js.
4. Knowledge of responsive design and cross-browser compatibility.
5. Familiarity with front-end build tools (Webpack, Gulp, etc.).
6. **Back-End Technologies:**
7. Proficient in one or more back-end programming languages such as Node.js, Python, or Java.
8. Experience with server-side frameworks (Express.js, Django, Spring, GraphQL, etc.).
9. Strong knowledge of RESTful API and GraphQL design and development.
10. Strong experience in Azure Cloud web services.
11. Experience in Kubernetes development and deployment.
12. **Databases:**
13. Proficiency in relational databases (SQL Server, PostgreSQL, etc.).
14. Knowledge of NoSQL databases (MongoDB, Neo4J, CosmosDB, Redis, etc.).
15. Strong SQL skills and ability to write optimized queries.
16. **Version Control:**
17. Experience with Git for version control, including branching, merging, and pull requests.
18. Familiarity with Git workflows such as GitFlow or trunk-based development.
19. **Deployment & DevOps:**
20. Experience with CI/CD tools such as Jenkins, GitLab CI, or CircleCI.
21. Familiarity with containerization technologies like Docker and container orchestration platforms like Kubernetes.
22. Knowledge of cloud platforms (AWS, Azure, GCP) for hosting and deploying applications.
23. **Testing & Debugging:**
24. Knowledge of testing frameworks and tools like Jest, Mocha, or Jasmine.
25. Experience with test-driven development (TDD) and writing unit and integration tests.
26. Familiarity with debugging tools and strategies.
27. **Agile Methodology:**
28. Experience working in Agile development environments, participating in Scrum ceremonies (stand-ups, sprint planning, etc.).
29. Familiarity with project management tools like Jira, Trello, or Asana.
30. **Additional Skills:**
31. Strong problem-solving skills and ability to think critically.
32. Good understanding of web security best practices (e.g., OWASP Top 10).
33. Ability to work in a collaborative, team-oriented environment.
34. Strong communication skills and ability to articulate technical concepts to non-technical stakeholders.
35. Familiarity with additional technologies or frameworks like React, Vue.js, Svelte, etc.
**Experience:**
+ 8-10 years of hands-on experience as a full-stack developer.
+ Experience working in Agile environments.
+ Fundamental IT technical skill sets.
+ Experience taking a system from coping requirements through actual launch.
+ Experience communicating with users, other technical teams, and management to collect requirements, identify tasks, provide estimates, and meet production deadlines.
+ Professional software engineering best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations.
**Job** Systems/Information Technology
**Organization** Cummins Inc.
**Role Category** Remote
**Job Type** Exempt - Experienced
**ReqID** 2410822
**Relocation Package** No
Confirm your E-mail: Send Email
All Jobs from Cummins Inc.