You will be responsible for designing and programming a small module or a large component and designing a feature, set of features, or whole feature area. She/he will work independently and contribute to the immediate team and to other teams across business. She/he will Lead design discussion in a limited manner.
Capture system level requirements by brainstorming with Sr. Architects, Data Scientists, Businesses & Product Managers
In this role, you will:
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
Demonstrate the ability to make informed technology choices after due diligence and impact assessment
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
Work with Product Line Leaders (PLLs) to understand product requirements & vision
Bachelor’s Degree in Computer Science or in “STEM” Majors (Science, Technology, Engineering and Math)
4+ years of experience in full-stack software development, preferably using Lean/Agile/XP SDLC.
Proficiency in Java (1.7 or later), JUnit, database technologies.
Experience developing web applications ( expertise in all/most of these ) – Spring MVC, JPA, REST, Jackson, JPA
Experience with database tools (JPA, Spring Data, Hibernate, etc.)
Experience with modern tooling (Eclipse / IntelliJ, Maven, NPM, Git, Cloud Foundry, etc.)
Experience with Big Data / Hadoop and NoSQL. Database is a plus.
Knowledge of Object Oriented Design, Software Design Patterns and Java coding principles.
Solid knowledge of algorithms, design patterns, and componentization approaches and security protocols.
Strong technical and analytical skills experience in software design patterns, problem solving and troubleshooting skills.
Strong attention to details.
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.
Additional Eligibility Qualifications
GE will only employ those who are legally authorized to work in the United States for this opening. Any offer of employment is conditioned upon the successful completion of a background investigation and drug screen.
Strong oral and written communication skills.
Strong interpersonal and leadership skills.
Ability to influence others and lead small teams.
Lead initiatives of moderate scope and impact.
Ability to coordinate several projects simultaneously.
Effective problem identification and solution skills.
Proven analytical and organizational ability.
Experience working with GIT, Maven, Cloud Foundry, Web Services Experience developing applications using reactive frameworks like nodejs, Spring Bootor a solid experience building applications on top of RESTful APIs and micro services.
Ability to write unit tests (TDD practices) for backend and frontend services.
Experience with any of these frameworks or programming paradigms: API Gateways, Reactive Programming, Java NIO Experience with API and micro services development with exposure to using a 12-factor apps
Experience with Big data technologies like Hadoop, Spark or IOT will be a bonus.
Exposure to building scalable, stateless, resilient & highly available applications and services like AWS, Azure, App Engine, Heroku, etc.