Experience
2 - 5 yrs
Job Location
Coimbatore, India
Vacancy
1
Designation
Software Engineer
Job Type
Not specified
Job Description
Our team maintains and extends established business applications built using Progress
OpenEdge / ABL. Much of this work involves understanding and safely modifying long-lived
applications, troubleshooting existing behavior, implementing enhancements, and
extending existing systems to participate in newer application architectures.
The majority of the work is legacy application maintenance and enhancement. New
development is also required, particularly around the creation of APIs that make existing
Progress application capabilities available to other systems.
Effective augmentation requires strong Progress development skills as well as good
software engineering judgment. A resource needs to be able to understand unfamiliar
existing code, determine the implications of a proposed change, communicate effectively
with the internal team, and make changes without unnecessarily destabilizing established
systems.
Progress Development
The team s Progress work includes:
Development using Progress ABL / Progress 4GL
Supporting applications running on Progress OpenEdge 11.7 and later
Maintaining and enhancing established Progress applications
Understanding and safely modifying unfamiliar or legacy code
Debugging and tracing application behavior through existing codebases
Implementing new functionality within established applications
Working with Progress database access from an application developer s
perspective
Deep Progress database administration knowledge is not required for this development
profile.
API and Integration Development
An increasing portion of the work involves enabling established Progress systems to
API and Integration Development
An increasing portion of the work involves enabling established Progress systems to
integrate with newer applications and services.
Relevant capabilities include:
Relevant capabilities include:
Creating APIs around existing Progress application capabilities
Understanding HTTP and REST-style APIs
Separating business logic from API or transport concerns where practical
Designing clear interfaces between legacy applications and newer systems
Working with formats such as JSON for application integration
Software Engineering Practices
Progress development is expected to reflect sound software engineering practices despite
the age or constraints of the systems involved.
Relevant capabilities include:
Designing maintainable software
Understanding separation of concerns, coupling, cohesion, and dependency management
Incrementally refactoring legacy code where doing so improves the change being made
Balancing improvement opportunities against scope, risk, and business value
Applying automated testing where practical
Reasoning carefully about regression risk
Understanding existing behavior before modifying it
Avoiding unnecessary rewrites when incremental change is more appropriate
Requirements, Judgment, and Communication
The nature of the work requires developers who can:
Listen carefully and communicate clearly
Clarify requirements and assumptions
Understand the purpose and expected outcome of a change
Work independently while maintaining regular communication with the internal team
Seek alignment when requirements or technical direction are unclear
Identify unexpected dependencies and regression risks
Raise concerns or alternative approaches early
Accept technical direction and incorporate feedback constructively
Recognize when additional technical guidance is needed
Additional Relevant Capabilities
Depending on the work, useful experience can include:
Integrating Progress applications with .NET or other modern application environments
REST API design and consumption
JSON serialization and API payload design
Relational database concepts
Query performance and indexing from an application-development perspective
Git source control
Modernization of legacy application interfaces
Automated testing of legacy or difficult-to-test applications
Working in environments where established Progress systems coexist with newer technologies
Responsibilities Outside This Profile
This development profile does not depend on a resource serving as:
A Progress DBA
An AIX or operating-system administrator
A business analyst
A help desk or second-tier application support resource
A CI/CD or deployment infrastructure administrator
Those capabilities may be useful in particular circumstances, but they should not be
treated as primary screening criteria when identifying resources to augment Progress
development work.
Most Important Characteristics
When considering a resource for this work, the strongest indicators of fit are:
1. Strong Progress ABL development capability.
2. The ability to understand and safely modify established applications.
3. Good technical judgment about scope, risk, and design.
4. Strong listening and communication skills.
5. A tendency to seek and maintain alignment on requirements and intended outcomes.
6. An incremental approach to improving legacy software rather than unnecessary rewriting.
7. The ability to recognize when questions or technical concerns need to be raised with the internal team.
Requirements
Requirements
Progress ABL / Progress 4GL Progress OpenEdge 11.7+ Legacy Application Maintenance Debugging / Troubleshooting Enhancement of Existing Progress Applications Good Software Engineering Practices Good Communication
No Referrers Available
There are currently no referrers available for this job. You can still apply, will let you know once there is any referrer available.
