About Us: At GE O&G Digital, we are creating technology and solutions to enable social, mobile, analytical and cloud capabilities for the Industrial Internet. The Industrial Internet is an open, global network that connects people, data and machines. It’s about making infrastructure more intelligent and advancing the industries critical to the world we live in. At GE, we believe it’s about the future of industry—energy, healthcare, transportation, manufacturing. It’s about making the world work better. GE offers a great work environment, professional development, challenging careers, and competitive compensation. GE is an Equal Opportunity Employer. Employment decisions are made without regard to race, color, religion, national or ethnic origin, sex, sexual orientation, gender identity or expression, age, disability, protected veteran status or other characteristics protected by law.
Role Summary: You will be responsible for programing a component, feature and or feature set. Works independently and contributes to the immediate team and to other teams across business. You will also contribute to design discussions.
Essential Responsibilities: In this role, you will:
Capture system level requirements by brainstorming with Sr. Architects, Data Scientists, Businesses & Product Managers
Identify the scope of the work, provide initial estimate and justify the estimate with facts
Demonstrate the understanding of Agile software development lifecycle and able to distinguish the core inputs and outputs in each cycle.
Engage in technical discussions; participate in technical designs and present technical ideas through white boarding
Work closely with your peers and keep engaging in a fast pace technical design and development team
Execute in a fast pace delivery mode and focus in delivering tasks to meet the product release goal
Maintain code quality through best practices, unit testing and code quality automation
Seek and provide feedback on design and development
Train, inform and mentor GE engineers, business leaders, analysts and architects
Need strong communication skills evangelizing, presenting and teaching Predix concepts, architectures and also code level samples to the public
Demonstrate the ability to make informed technology choices after due diligence and impact assessment
Perform full-stack development of Web App UI, Back-end Microservice and Database implementation
Understand whole product, its modules and the interrelationship between them while being an expert in the assigned component or module
Help in designing interfaces and information exchange between modules
Possess advanced domain knowledge and show great customer focus. Expert in processes / methodologies and Skilled in build, release & deployment processes
Articulate the need for scalability and understand the importance of improving quality through testing.
Be an expert in writing code that meets standards and delivers the desired functionality using the technology selected for the project
Drive design reviews, define interfaces between code modules, and applies existing technology to designs
Be an expert in assessing application performance and optimizing/improving it through design and best coding practices
Be an expert in core data structures as well as algorithms and has the ability to implement them using language of choice
Be responsible for providing technical leadership and defining, developing, and evolving software in a fast paced and agile development environment using the latest software development technologies and infrastructure
Provide guidance to a team of 5 to 7 developers with either planning and execution and/or design architecture using agile methodologies such as SCRUM
Qualifications/Requirements: Basic Qualifications
Bachelor’s Degree in Computer Science or in “STEM” Majors (Science, Technology, Engineering and Math)
A minimum of 8 years of experience in developing software OR Master’s degree with 6 years of experience
Legal authorization to work in the U.S. is required. We will not sponsor individuals for employment visas, now or in the future, for this job.
Must be willing to work out of an office located in San Ramon, CA.
Must be willing to travel (less than 10% of the time).
Desired Characteristics: Technical Expertise:
Strong knowledge of Object Oriented Analysis and Design, Software Design Patterns and Java coding principles
Expertise with database development skills including SQL and SQL processing internals
Hands-on experience in utilizing Spring Framework (Core, MVC, Integration and Data)
Experience with Big Data / Hadoop and NoSQL Database is a big plus
Expertise in storing and managing Time series data
Expertise in Data ingestion and Pipelining and data flow
Expertise in Apache Spark, Kafka, Apache Hive, Hadoop
Expertise in various ETL technologies and familiar with ETL tools
Experience in columnar storage – Parquet, ORC file
Programming experience in Java, & Python
Experience in architecting large scale enterprise-class application frameworks
Experience developing applications in Java & Python and using reactive frameworks like nodejs, Spring Boot, Play or a solid experience building applications on top of RESTful APIs and micro services
Experience working with GIT, Maven or Gradle, Cloud Foundry
Experience in cloud computing, distributed systems, object oriented design, relational and NoSQL databases, REST APIs, asynchronous programming, and micro-services architecture.
Experience in at least one of the following areas: asset management, configuration management, graph databases, query optimization, large scale data storage
Exposure to using Machine Learning packages H20, Tensor Flow, Scikit Learn, Spark ML lib, Apache Mahoot
Strong understanding and experience in agile methodologies such as Extreme Programming, Scrum, Kanban, BDD/TDD, pair programing, continuous integration/delivery.
A minimum of 2 years of experience in developing software in an agile or extreme programming environment
Strong problem solving abilities and capable of articulating specific technical topics or assignments
Experience in building scalable and highly available distributed systems
Expert in breaking down problems and estimate time for development tasks
Evangelizes how our technology solves customer problems from a technology and business perspective
Demonstrates clarity of thinking to work through limited information and vague problem definitions
Influences through others; builds direct and "behind the scenes" support for ideas
Proactively identifies and removes project obstacles or barriers on behalf of the team
Shares knowledge, power, and credit, establishing trust, credibility, and goodwill
Able to work under minimal supervision
Excellent communication skills and the ability to interface with senior leadership with confidence and clarity
Able to work well with global teams, including time-zone flexibility
Skilled in providing oversight and mentoring team members. Shows ability to effectively delegate work
We are in the process of transitioning to an improved job application system and in the interim we are operating with two systems. Have your Job ID ready (from the email you received when you applied) to log in and check your application status.
Click the appropriate button. If you don't know your job ID, you can still check your status: use both buttons.