Software Engineer - Boomi
Conshohocken, PA 19429
About the Job
As a Software Engineer (FullStack & DevOps), you will be responsible for learning and developing sophisticated systems and software based on the customer’s business goals, needs and general business environment. You will work with engineering teams, product, and customer success teams to support and develop cutting edge new product features and enhancements across various areas of Boomi offerings. This dual-role demands gaining an understanding of both GWT development and DevOps practices, ensuring the delivery of high-quality, performant, and reliable web applications.
What You’ll Do
(GWT)
• Front-End Development:
o UI Design and Implementation: Develop rich internet applications using GWT, focusing on creating responsive and user-friendly interfaces.
o Java to JavaScript Compilation: Write application code in Java, which GWT compiles into optimized JavaScript for deployment.
o Widget Creation: Design and develop custom GWT widgets and components to enhance user experience.
o Event Handling and DOM Manipulation: Implement event-driven programming models and manipulate the DOM efficiently.
• Performance Optimization:
o Code Splitting: Use GWTs code-splitting capabilities to improve the initial load time and performance of web applications.
o Deferred Binding: Leverage deferred binding to reduce code size and enhance performance by loading only the necessary code for the specific runtime environment.
• Testing and Debugging:
o Unit Testing: Write unit tests for GWT components and use GWT TestCase for client-side logic testing using PlayWright.
o Integration Testing: Implement integration tests to ensure seamless interaction between front-end and back-end components.
o Debugging: Use GWTs debugging tools to identify and fix issues in the application.
• Collaboration:
o Cross-Functional Collaboration: Work closely with back-end developers, designers, and other stakeholders to ensure the application meets user requirements and business goals.
o Code Reviews: Participate in code reviews to maintain code quality and share knowledge with team members.
(DevOps)
• Infrastructure Management:
o Cloud Services: Manage and configure cloud infrastructure (AWS, Azure, GCP) for hosting GWT applications.
o Containerization: Implement containerization technologies like Docker to ensure consistent environments across development, testing, and production.
o Configuration Management: Use tools like Terraform, Ansible, or Chef to automate infrastructure configuration and management.
• CI/CD Pipeline:
o Continuous Integration: Set up CI pipelines to automate the building and testing of GWT applications using tools like Harness, Bamboo, and Jenkins
o Continuous Deployment: Create CD pipelines to automate the deployment of GWT applications to various environments (staging, production).
• Monitoring and Logging:
o Application Monitoring: Implement monitoring or observability tools (NewRelic) to track the performance and health of GWT applications in production.
o Logging: Set up centralized logging systems (Splunk) to aggregate and analyze application logs for troubleshooting and performance analysis.
• Security and Compliance:
o Security Practices: Implement security measures such as SSL/TLS, secure coding practices, and regular vulnerability assessments (Snyk) to protect the application and data.
o Compliance: Ensure the application and infrastructure comply with relevant industry standards and regulations.
• Automation and Scripting:
o Automation: Automate repetitive tasks and workflows using scripting languages (Python) to improve efficiency and reduce errors.
o Backup and Recovery: Implement backup and recovery strategies to ensure data integrity and availability.
The Experience You Bring
• 2+ years of software development experience
• Development experience with Java, JavaScript, HTML, and CSS
• 0+ years of experience in DevOps role
• A basic understanding of DevOps principles and practices.
• Experience with CI/CD tools such as Harness/Jenkins, GitLab CI, or AWS CodePipeline is a plus.
• Analytical and problem-solving skills.
• Excellent verbal and written communication skills.
• Most importantly, a willingness to learn and bringing in the right aptitude
Desirable Requirements
• Familiarity with front-end libraries or frameworks such as React or Angular.
• Familiarity with Agile/Scrum methodologies.
• Knowledge of containerization technologies like Docker and Kubernetes is a plus.