Software Engineer
Role details
Job location
Tech stack
Job description
This role is categorized as hybrid. This means the successful candidate is expected to report to Warren Global Technical Center or Austin Technical Center three times per week, at minimum [or other frequency dictated by the business if more than 3 days]., As a Software Engineer, you will develop code for high performance back-end services for Vehicle Domain - VCS both on-prem and in the cloud. You will have a strong foundation in software development, databases, and integration of solutions across services. You will work with a team of experienced software engineers, subject matter experts, architects, and quality engineers as you develop code, and deploy solutions to meet our requirements. As a software engineer, you will also be working closely with our program and product teams to work on prioritized features and work towards the objectives set forth.
You will participate in the team's scrum ceremonies, deployment and other devops activities. You are expected to understand the value of elegant and maintainable software design, and the importance of building solutions that matter. The ideal candidate for this role will possess a passion for technology and a desire to enhance our services, develop new services while maintaining their continuous availability.
This role also provides an opportunity to work across multiple teams within the organization to integrate our solutions with other domain services.
What You'll Do
- Assist in estimating and design work that is just-in-time and sized in small increments.
- Consistently follow the specified software development methodology
- Quickly design, develop, and deliver new software in regular increments.
- Follow best practices for software development, including high quality code, automated tests, documenting, monitoring and continue to raise the bar.
- Be on call for production support, perform root cause analysis, resolve incidents, solve problems.
- Assist in performing technology evaluations, technology upgrades, tool upgrades, implement prototypes.
- Report status of assigned software development and/or maintenance tasks
Requirements
- Bachelor's degree in computer science/engineering or related field.
- 3+ years of software engineering & development experience utilizing industry standard design patterns in common languages such as Java including Object oriented concepts.
- Experience delivering Java / JEE Business Solutions utilizing full software development lifecycle (SDLC). Knowledgeable in test-driven development techniques (TDD, Junit, mocks).
- Familiarity with cloud-based infrastructure (e.g. Azure) including development of microservices using CI-CD with Spring, Spring boot, PaaS capabilities.
- Knowledgeable with multiple interface patterns including RESTful APIs or event-based messaging. Familiarity with Java / JEE Business Solutions utilizing full software development lifecycle (SDLC).
- Familiarity with Azure DevOps (ADO), GitHub, Artifactory, and similar systems along with experience in Unix/Linux shell scripting
- Familiarity with iterative and incremental development on product-focused teams.
- Excellent verbal and written communication skills with ability to effectively translate feedback, needs and solutions.
- Strong teamwork focus and the ability to foster collaboration within and across teams. Ability to clearly connect with peers, as well as both business and technical focused teams.
- Knowledgeable in iterative and incremental development on product-focused teams practicing code reviews.
What Can Give You a Competitive Advantage (Preferred Qualifications)
- Experience developing 12-factor microservices utilizing Continuous Integration, Build, and Delivery w/Spring, Spring Boot, platform, and infrastructure-as-a-service technologies & capabilities and their corresponding services (object store, configuration management, service registries, etc.). Azure cloud experience strongly preferred.
- Experience with Big Data technologies and developing in Hadoop ecosystem, i.e. Databricks, Hadoop, Hbase, Hive, Scala, SPARK, Sqoop, Flume, Kafka, Python
- Experience with Oracle and/or Postgres, NoSQL with Yugabyte, and/or Cassandra and/or Cosmos, a plus with competency in writing basic SQL and experience with JPA.
- Experience with the Datadog, ELK stack and dashboarding within Grafana, Datadog to support production applications (end user, customer, or business stakeholder visible)
Benefits & conditions
- The expected base compensation for this role is: $93,800 - $142,350. Actual base compensation within the identified range will vary based on factors relevant to the position.
- Bonus Potential: An incentive pay program offers payouts based on company performance, job level, and individual performance.
- Benefits: GM offers a variety of health and wellbeing benefit programs. Benefit options include medical, dental, vision, Health Savings Account, Flexible Spending Accounts, retirement savings plan, sickness and accident benefits, life insurance, paid vacation & holidays, tuition assistance programs, employee assistance program, GM vehicle discounts and more.