
Egen is a data engineering and cloud modernization firm helping industry-leading companies achieve digital breakthroughs and deliver for the future, today. We are catalysts for change who create digital breakthroughs at warp speed. Our team of cloud and data engineering experts are trusted by top clients in pursuit of the extraordinary. An Inc. 5000 Fastest Growing Company 7 times, and recently recognized on the Crain’s Chicago Business Fast 50 list, Egen has also been recognized as a great place to work 3 times.
You will join a team of insatiably curious data engineers, software architects, and product experts who never settle for "good enough". Our Java Platform team's tech stack is based on Java8 (Spring Boot) and RESTful web services. We typically build and deploy applications as cloud-native Kubernetes microservices and integrate with scalable technologies such as Kafka in Docker container environments. Our developers work in an agile process to efficiently deliver high value data driven applications and product packages.
Required Experience:
- Minimum of Bachelor’s Degree or its equivalent in Computer Science, Computer Information Systems, Information Technology and Management, Electrical Engineering or a related field.
- Have experience working and strong understanding of object-oriented programing and cloud technologies
- End to end experience delivering production ready code with Java8, Spring Boot, Spring Data, and API libraries
- Strong experience with unit and integration testing of the Spring Boot APIs.
- Strong understanding and production experience of RESTful API's and microservice architecture.
- Strong understanding of SQL databases and NoSQL databases and experience with writing abstraction layers to communicate with the databases.
Nice to have's (but not required):
- Exposure to Kotlin or other JVM programming languages
- Strong understanding and production experience working with Docker container environments
- Strong understanding and production experience working with Kafka
- Cloud Environments: AWS, GCP or Azure

About Egen Solutions
About
Similar jobs
-
Experience in Spring Boot, Jenkins, Git, Hibernate, Kubernetes, and Docker
-
Experience in the development of scalable and extensible systems using Java
-
Proficiency in Database technology such as MySQL, Oracle and MongoDB
-
Routines Sync & Async
-
Solid and fluent understanding of algorithm and data structures
-
Excellent software design, problem-solving and debugging skills
-
Demonstrated high ownership in previous projects
-
Excellent Communication Skills
-
Good understanding of Elastic Search, Redis
-
Experience working in the cloud environment, preferably AWS*.
-
Write unit tests and run automated tests through CI/CD
-
Ability to learn new and existing technologies
-
Experience in building cloud SaaS or PaaS solutions/products

For their newly set up India Development centre we are looking for a talented software engineer to build modern systems, patterns, and tools for modernizing our legacy systems. You will work with a team dedicated to converting our older applications into modern, cloud-native, mobile-friendly solutions. Often, these legacy systems/applications are undocumented and unmaintained. So, having an inquisitive mindset and a lot of intellectual curiosity is paramount for this position
Bachelor's degree in MIS, Computer Science, Information Technology or equivalent required
• Typically requires 4-6 years of software engineering experience using the following languages, tools, and technology: (Java Spring Boot React.js Node.js Jenkins Gitlab Linux GCP Oracle)
• Experience in or familiarity with the following languages, tools, and technology a plus: ( CICS MVS COBOL ANSI C PowerBuilder Page DB2 JCL
• A background in business operations and strategies, with a focus on the business IT
• Experience translating client requirements into technical designs.
• Agile experience in engineering capabilities and a architectural mindset
Summary
We are seeking a highly skilled and motivated Software Engineer with expertise in both backend development and DevOps practices. The ideal candidate will have a proven track record of designing, developing, and deploying robust and scalable backend systems, while also possessing strong knowledge of cloud infrastructure and DevOps principles. This role requires a collaborative individual who thrives in a fast-paced environment and is passionate about building high-quality software.
Responsibilities
Design, develop, and maintain backend services using appropriate technologies.
Implement and maintain CI/CD pipelines.
Manage and monitor cloud infrastructure (e.g., AWS, Azure, GCP).
Troubleshoot and resolve production issues.
Collaborate with frontend developers to integrate backend services.
Contribute to the design and implementation of database schemas.
Participate in code reviews and ensure code quality.
Contribute to the improvement of DevOps processes and tools.
Write clear and concise documentation.
Stay up-to-date with the latest technologies and best practices.
Qualifications
Bachelor's degree in Computer Science or a related field.
3+ years of experience in backend software development.
2+ years of experience in DevOps.
Proficiency in at least one backend programming language (e.g., Java, Python, Node.js, Go).
Experience with cloud platforms (e.g., AWS, Azure, GCP).
Experience with containerization technologies (e.g., Docker, Kubernetes).
Experience with CI/CD tools (e.g., Jenkins, GitLab CI, CircleCI).
Experience with monitoring and logging tools (e.g., Prometheus, Grafana, ELK stack).
Strong understanding of database technologies (e.g., SQL, NoSQL).
Excellent problem-solving and debugging skills.
Strong communication and collaboration skills.
Bonus Points
Experience with specific technologies used by our company (list technologies if applicable).
Experience with serverless architectures.
Experience with infrastructure as code (e.g., Terraform, CloudFormation).
Contributions to open-source projects.
Relevant certifications.
- Write maintainable/scalable/
efficient code. - Design and architect technical solutions for the business problems of a very large e-commerce portal.
- Work in a cross-functional team, collaborating with peers during the entire SDLC.
- Follow coding standards, unit-testing, code reviews etc.
- Follow release cycles and commitment to deadlines
- Experience level of 3 to 6 years of experience in very large scale applications.
- Strong problem-solving skills, OOPs, data structures and algorithms.
- Experience with distributed systems handling large amounts of data.
- Excellent coding skills in Java/J2EE.
- Very good understanding of Web Technologies.
- Very good understanding of any RDBMS and/or messaging.
- B Tech/BE in Computer Science or equivalent from a reputed college.
``````````````````````````````````````````````````````
Whom are we looking for?
Our groundbreaking technology, requires highly skilled and talented Web Backend Developers to understand the depth of the problem and device a solution for it.
We are seeking a Software Engineer, with a depth of experience in developing Web Applications enabled using REST APIs backed by a data warehouse solution, to join our growing company and be a part of our success story. We are looking for individual with great attention to detail, who is genuine, confident, committed and not only passionate about technology, but excited to work in a fun and friendly start-up environment. The ideal candidate will be passionate about technology and getting things to work while at the same time being able to mentor (and lead) other engineers by way of example to achieve excellence in their work.
What does the role involve?
As a Web Backend Software Engineer you will be responsible for creating REST APIs which are used to drive the User Interface. Given the nature of the application, these APIs needs to be very efficient and high performing. This requires optimising queries for faster execution and introducing database changes that may be required.
You would be working with a complex technology stack which includes (but is not limited to) Spring, Hibernate, HornetQ, Quartz, etc. This requires extensive understanding of transaction management and data handling across different application layers.
In addition to the technical ownership, you will also be involved in detailing requirements for requested functionalities and be responsible for providing technical insight into how requirements will be implemented and made available to users. Accurate estimation of tasks and planning are qualities we look for in our engineers.
Responsibilities include:
Develop, test, implement and maintain application software
Take part in software and architectural development activities
Transform requirements into implementation details
Debug application issues and helping support respond to client queries
Participate in application development meetings
Provide accurate estimates, clearly communicate status of tasks and identification of risks
Commitment to accomplishing the task at hand and identify the fastest and most reliable way to solve a problem
Performance tuning of application code at different service levels
Incorporate design changes to improve performance of the application
Interact with customers of the application and help address issues reported
Interact with customers of the application and collect requirements or potential uses cases and draft technical and user requirements
ESSENTIAL SKILLS / EXPERIENCE REQUIRED:
Minimum Bachelor's degree in Computer Science or equivalent
Minimum 2+ years experience with Java and J2EE/Java EE
Minimum 2+ years experience with Spring MVC, Spring Security and Hibernate
Strong understanding of relational database and normal forms
Strong understanding of SQL concepts and ability to write optimised and high performing queries
Strong understanding of Java concurrency, concurrency patterns, experience building thread safe code
Experience building RESTful web services
Experience with web application servers like JBoss
Strong written and verbal communication skills
Strong interpersonal skills and time management skills
Strong problem solving and analytical skills
Experience using task tracking systems e.g. Jira and distributed version control systems e.g. Git
DESIRABLE SKILLS / EXPERIENCE:
Understanding of testNg/JUnit
Unix/Windows shell and related command line tools
Experience in Continuous Integration and deployment tools such as Jenkins
Experience with database partitioning and column Indexing
Experience with query optimisation techniques
Why work for us?
Above market remuneration
Stimulating challenges that fully utilise your skills
Work on real-world technical problems to which solution cannot simply be found on the internet
Working alongside other passionate, talented engineers
Hardware of your choice
Our fast-growing company offers the potential for rapid career progression
Click Here to apply: https://hire.withgoogle.com/public/jobs/blueoptimacom/view/P_AAAAAAEAAADLjl0iWO3_0a?trackingTag=cutshort
- BackEnd Technologies:
Github Actions (CI/CD), AWS services (Lambda, event bridge, SNS, App Runner, EC2, Cloud Watch)
- Technical knowledge:
OAuth2.0
Non-Relational Databases
- It is important to adapt to changing requirements
- Have the ability to integrate external systems
How many hours are they expected to work?
- - Full time position ( 40+ hours a week)
What hours should they work?
- - Prefer 9-5 EST but there is wiggle room
Will there be nights and weekends?
- - Nights and weekends are not scheduled, however we are looking for someone that takes pride in their work and will lean in to hit a deadline or to fix a bug if it has a significant impact on the platform.
Should they be expected to lead?
- - Yes, you should be expected to lead and to communicate/ cooperate with other devs as a team. Some coding might be alone but the hope of the app is that it all works seamlessly together and to ensure that there needs to be communication among all devs front end and back end.
Who will they report to?
- - They will report to Product OwnerRob and Product ManagerJulietta daily for standups and well as pushing tasks through the appropriate structure of review, QA, and production.
- They will also report and check in with Client SuccessCourtney as we look to make the app have a seamless customer experience and customer value. The goal of Attribute should be to try and give as much value as quickly and easily as possible.
Will they work alone or in a team?
- In some spots they might be expected to work alone and on a separate sprint from others, however, everything needs to tie in and work together, because of that the developer must be team oriented in both development and problem solving.
- Additionally, there will be times that they should expect to work with people who are not particularly tech savvy ( ie. sales, marketing, customer success etc.) to collaborate on a specific feature to produce the best thing for the product.
Accountability
- The developer is both accountable for their code and the code of the team. They should take care and responsibility in the work that is done and if there are problems with the code in QA or production work as diligently as possible to fix that problem ( whether it is their code directly or not).
- As part of this all code will be attached from Github to Jira for developers to constantly upload their commits to Jira tasks
- A mistake is completely fine and expected, bugs are to be expected. What is asked is that you report it as soon as possible and are honest about it so that we can move forward in resolving it as soon as possible.
Customer, Usability, and Value Focused
- The end user of our product will be marketing professionals/head of marketing. At all times the developers need to take this into account and spend time thinking of the ease and the use cases that people will utilize their code or features in real life versus what is a way to make something work but in a vacuum.
Quality focused
- Pushing out code is awesome, but if the code has a ton of bugs and does not do the required action that is practical for the user then it does not matter. We want a developer who is Quality focused and also hold their other developers accountable.
Focused on the whole
- When producing a feature it is easy to sometime get sucked into how that features works in a vacuum. The developers need to be able to work together and understand the software architecture as a whole in order to make whatever feature they are working on be able to work with the other features that are built within the app ( and will be built or are on the roadmap for the future).
Creativity and Experimentation
- Developers are expected to work within structures, however, they are always encouraged to take time to think of creative solutions and to collaborate on new features or ways of making the product better.
Unfeathered, Honest, Respectful Communication
- Every developer should feel free to speak their mind in a respectful manner to other developers as well as anyone else in the entirety of the company. Any opinion, thought, or perspective will be listened to and valued.
Next Man or Woman Up Mentality
- Never should anyone on the team defer a problem and say “ thats not my fault or problem”. We are one unit and one company. One problem is everyone's problem and should lean in to the “next man up philosophy” if you have the time and can help to fix the problem and bring it to a solution you should be willing to.
Upward Mobility and Vesting Opportunity
- This position will allow for upward mobility, increased responsibility, and for people who constantly go above and beyond an opportunity to vest into and own equity in the company
• Solid experience with application frameworks such as Springboot and strong familiarty with micro services architecture and design patterns
• Familiarity with databases like MySQL, MongoDB, Redis etc
• Hands-on experience in analysis, design, coding, and implementation of complex, custom-built applications
• Exposure to CI/CD using Gitlab, Jenkins preferred
• Familiarity with Docker, Kubernetes, EFK Stack is highly desired
• Broad knowledge of web standards relating to APIs (OAuth, SSL etc.)
• Exposure to product development.
• Understand Architecture Requirements and ensure effective design, development and maintenance of multiple micro services in Java Springboot deployed in cloud within containers consuming data present in relational as well as NoSQL databases.
o The microservices shall expose APIs which allow ease of integration with variety of client apps
o Microservices should handle a scale of thousands of requests per second
• Develop communication patterns between microservices which are efficient, lightweight and secured using Kafka
• Debugging issues on a live setup
• Lead a small team of engineers
• Create test cases and technical documentation
• Maintain a high level of code quality and consistency by adhering to and enhancing the coding standards, design methodology and programming practices
Design and develop robust services in coordination with front-end developers, ensuring the production and development of high-quality and well-tested code
Design, develop and test features alongside other technical departments
Lead the department in the design, development, deployment, and operation of services used by our users
Optimise APIs for any applications while creating and maintaining unit tests for new code as well as fix defects
Participate in the continuous integration of automated builds and deployments, ensuring that deliverables meet functional and design requirements and specifications of the site/software. Work with engineering leadership in solving and architecting solutions for challenging or complex site/software development issues.
Take initiatives in developing and maintaining integrations of best practices within the backend department
Qualification & Experience:
- Bachelor of Engineering, preferably in Computer Science/or related fields or Masters, from a premier college
- 2 to 6 years overall software development experience
- Proven hands-on Software Development experience
- Ability to work with an agile mindset
- Having a polyglot mindset to think beyond one programming language/framework to choose the right tech stack for the right problem and exhibit learnability to pick up new technologies
- Proven working experience in Java development/Python development with reasonable exposure to Python/Java respectively or willingness to learn Python/Java
- Hands on experience in designing and developing applications using Java EE platforms/Python Frameworks
- Object Oriented analysis and design using common design patterns
- Good Understanding of Data Structures & Algorithms
- Hands on multi-threading
- Experience in the Relational Databases, SQL and ORM technologies (e.g. JDBC, JPA2, Hibernate, Django ORM)
- Experience with test-driven development

