About the Company
Nuvve Corp. is a San Diego based company, whose mission is to lower the cost of electrical vehicle (EV) ownership while supporting the integration of renewable energy sources, such as wind and solar. Our Grid Integrated Vehicle Platform GIVe™ transforms EVs into grid assets when charging while guaranteeing the expected level of charge when the vehicle owner needs it. The aggregation of thousands of electric vehicles into a virtual power plant using the GIVe platform, allows Nuvve to participate in electricity markets with a power capacity comparable to traditional generators. Based on “Vehicle To Grid” technology or “v2g” the GIVe platform gives benefits to public organizations, businesses and homes by reducing the cost of electric infrastructure and reducing CO2 emissions.
About the Role
Nuvve is looking for a mid-senior level Software Engineer with java back-end experience to work on Nuvve’s Aggregation platform, which manages electric vehicles and charging stations worldwide. The perfect candidate should be a passionate and dedicated professional with proven analytical and social skills. We are seeking engineers with experience working on cloud based, enterprise software.
You will be joining a small but fast-paced, global team of innovators with a history of rapidly developing and delivering software to meet the high demands of this dynamic company. As an industry leader, we expect our team members to accomplish their work with the highest level of operational excellence and professionalism.
As the Sr. Java/Microservices Engineer you will participate in all aspects of the software development lifecycle which includes technical design, implementation, documentation, testing, deployment and support of application developed for our clients. As a member working in a team environment you will take direction from solution architects and leads on development activities. This team's focus is delivering high-quality web applications as well as defining enterprise development practices. This is a highly collaborative team that will work across teams and provide mentoring to others in the organization. Craftsmanship, pride in ownership and passion for excellence are core expectations.
We offer a collaborative work environment, competitive compensation, generous work/life opportunities and an outstanding benefits package that includes paid time off plus holidays. In addition, all colleagues are eligible for a number of rewards and recognition programs including billable bonus opportunities.
Job Duties and Responsibilities
• Participate in technical planning & requirements gathering phases including design, code, test, troubleshoot, and document engineering software applications
• Ensure that technical software development process is followed on the project, familiar with industry best practices for software development
• Demonstrate the ability to adapt and work with team members of various experience levels
• Work effectively in a fast paced, complex technical environment with high adaptability and flexibility
• Perform detailed design and hands-on development for scalable application services
• Develop new code and/or lead existing code either individually or as part of a small team
• Deliver documentation or designs as required
• Capture requirements and use cases as required
• Own and review work you are doing for accuracy, quality, performance and completeness
• Work with product managers, project managers and technical teams in order to deliver high-quality products that meet business objectives
• Mentor and cultivate junior engineers
• Developing and directing software system validation and testing methods using Junit and other testing frameworks
• Develop and integrate custom developed software solutions to leverage automated deployment technologies
• Develop, prototype and deploy solutions within Commercial Cloud Solutions leveraging Infrastructure platform services
• BS/MS in Computer Science or related area or equivalent experience; without a degree, three additional years of relevant professional experience
• Must have a minimum of 9+ years of professional enterprise level Java coding, Python, GoLang, and development experience
• Strong core Java & J2EE skills and well versed on coding, design patterns and related frameworks
• Must have experience with modern frameworks & technologies - inclusive of Java Springboot, Python FastAPI, and Microservices development experience
• Strong experience with Software Engineering/CS fundamentals, including data structures and algorithms
• Strong knowledge of OOD and SOA principles, with ability to implement them in a language of choice
• Skilled in software development lifecycle processes and experience with scrum, agile and iterative approaches
• Hands on experience with SOAP and RESTful service implementations and design required
• Expereince in Test Driven Development
• Must have strong API development and distributed services experience
• Experience in either PCF or RedHat Open shift platform is highly desired
• Strong debugging, problem solving and investigative skills. Ability to assimilate disparate information (log files, error messages etc.) and pursue leads to find root cause problems.
• Experienced in Continuous Integration and Continuous Deployment (CI/CD) methodologies Perficient full-time employees receive complete and competitive benefits
• Data Stores: DynamoDB, PostgresDB (preferred), Memcached, or others such as MongoDB and MySQL DB
• Message Brokers: RabbitMQ (preferred) or Kafka
• Strong documentation capabilities, UML, swagger, APIary, and others
• Knowledge of the IEEE 2030.5 protocol (big plus)
• Experience with cloud providers such as AWS, ECS on EKS, Lambda, ELB, ECT, RDS, S3, etc.
· 5+ years of experience in JVM and associated toolchain: Maven, SONAR, JMX
· Proven working experience in Spring: Boot, Core, Security, Data (JPA & “NoSQL”)
· Proven working experience in “REST” HTTP APIs, the HTTP protocol in general and the associated tools: Postman, OpenAPI / Swagger, Curl
· Solid knowledge of security and associated best practices: Authentication (OAuth 2.0, OpenID Connect), TLS and certificates, hashing, encryption, network (VPC, Security Groups)
· Ability to demonstrate unit testing & Test Driven Development (TDD)
· Terraform or CloudFormation
· Bitbucket pipelines
· Experience in energy-related fields is a plus
Nuvve is an equal opportunity employer and all qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity or expression, pregnancy, age, national origin, disability status, genetic information, protected veteran status, or any other characteristic protected by law.