At NetSuite, we believe the cloud is here to stay and so do our 20,000+ customers. We believe businesses should not be bogged down by the overhead of bulky data centers and expensive personnel to run it all. Businesses need to be lean, efficient and agile. NetSuite is literally transforming business around the globe by providing a cloud-based, unified system that delivers unprecedented capabilities to drive business forward. Founded in 1998 as THE cloud ERP pioneer, today NetSuite has transformed the business operations of our customers without the high costs and inefficiency of on-premise systems.
Are you fascinated by solving challenging problems in the field of distributed systems engineering and having a wide impact on a rapidly growing, global team of intelligent and motivated folks? Do you crave a highly leveraged position where you can help make work better for every engineer?! NetSuite Core Development is looking for an experienced Software Engineer to join the DevOps and new Sustainable Development and Architecture (SD&A) team. The purpose of this group is to assist other highly talented and motivated engineers focused on enhancing the product architecture, development workflows, processes, build systems and tooling that improve product quality and accelerate our development teams’ productivity. The goal being to define, flesh out and solve problems that lower the sustainability of the product over a long term. If successful, the product’s development is accomplished with a higher degree of quality, in less time and with greater ease!
As a member of our team, you would have the chance to make a significant impact on all aspects of the development and production area of the NetSuite ecosystem.
Some of the most interesting projects you will work on include:
- Continue to assist in the modularization effort of the NetSuite products
⁃ Assist in leading the charge for modular architectures, and identify areas of interest in code from improvement
- Evangelize clean, maintainable and modular architecture and code include
⁃ Code Structure
⁃ Data model
⁃ Module Structure
- Building core infrastructure components using private and public cloud technologies
- Creating tools that will help the Development team to be maximally efficient.
- Working on next generation build processes based on the use of Gradle, artifact repositories and modularity.
- Work closely with DevOps around the world to build and support tool that supports the goals above
- Understanding the big picture of distributed architectures, as your code will need to work seamlessly across multiple data centers in different geographies and time zones
We are enthusiastic about technology and its potential to transform our business. To be successful candidate for this role you should have a Bachelor's degree in engineering, computer science or equivalent. A successful candidate for this role should be comfortable with:
- Gradle/Maven/Ant build automation using artifact repositories
- Excellent communication and interpersonal skills and have the ability to interact effectively with other teams in the organization.
- Experience writing quality code using multiple programming languages
- Strong object-oriented design principles
- Extensive knowledge of Dependency Injection and the frameworks that support it.
- Comfortable with Linux as the primary development environment
- High attention to detail
- Strong communication skills
- Web application architecture experience will help to accelerate identification of work required.
Good to have
It will be great if you have experience with any/all of the following:
- Master's degree in computer science or equivalent
- Experience working with vagrant, VirtualBox, VMWare, AWS, Openstack, or equivalent cloud APIs
- Experience in Java, Groovy, or Python
- Infrastructure automation with SaltStack, Puppet, or Chef
- Experience working with Docker or other containerization technologies
- Continuous integration build setup and/or maintenance
- Understanding of how to break a system into modules
Detailed Description and Job Requirements
Design, develop, troubleshoot and debug software programs for databases, applications, tools, networks etc.
As a member of the software engineering division, you will assist in defining and developing software for tasks associated with the developing, debugging or designing of software applications or operating systems. Provide technical leadership to other software developers. Specify, design and implement modest changes to existing software architecture to meet changing needs.
Duties and tasks are varied and complex needing independent judgment. Fully competent in own area of expertise. May have project lead role and or supervise lower level personnel. BS or MS degree or equivalent experience relevant to functional area. 4 years of software engineering or related experience.