The OpenEdge Development team currently has openings for Software Engineer Level 1 team members. Candidates will work on the maintenance of the existing product as well as new feature development under the guidance of senior members of the team. We are recruiting for openings within several key groups which comprise the OpenEdge product line. Customers leverage OpenEdge to build world-class, robust business applications deployed in on-premise, multi-tier environments as well as SaaS and Cloud deployments.
Your skills and experience may qualify you as a possible candidate for one of the teams supporting OpenEdge.
- The Database teams are responsible for the internals of the database engine and server, the database management utilities, and interoperability with the OpenEdge language clients. You may work on major sub-systems of the database manager, server operations, status monitoring, or multi-threaded utilities, in functionality supporting availability, scalability, and disaster recovery.
- The Language teams are responsible for the OpenEdge Advanced Business Language, a procedural and object-oriented programming language with built-in transaction and User Interface support that is tightly integrated with the OpenEdge database as well as numerous industry standard components. You may work on the ABL’s preprocessor, compiler, or runtime engine, regarding features which improve the language’s security, availability and performance.
- The Application Server team is responsible for the core Progress Application Server (PAS) and the Progress Application Server for OpenEdge (PASOE). The core PAS server is based on Tomcat and used throughout Progress as a standard Java Application Server. PASOE includes OpenEdge specific functionality, such as Java-based transports and the native code multi-session agent. You may work on Java Servlet-based technologies, Spring Security, the multi-session agent, or various support artifacts delivered as Unix Shell scripts or PowerShell scripts.
- The Mobile team is responsible for web and mobile frameworks which support the rapid development of dynamic business user interfaces.
The ideal candidate must want to work in a dynamic agile environment involving multiple technologies and be dedicated to getting the job done. The successful candidate is highly motivated, quality conscious with a strong attention to detail, and exhibits a history of achievement in their career to date.
- A BS/BA degree in Computer Science or equivalent foundational experience
- Academic or practical project experience in software system design and testing
- Knowledge of data structures and operating systems internals
- Comfortable working on both Unix and Windows operating systems
- Strong problem analysis and solving skills
- Learns new technologies independently
- Works independently and meets tight deadlines
- Excellent interpersonal skills to interact with team members
- Excellent verbal and written communication skills in English
- Candidates must be familiar with all aspects of the development cycle: specification writing and review, designing, coding, unit testing and debugging
- Familiarity with software development tools and environments
- Experience in an agile scrum development environment
Any of the following experience is a plus:
- A working understanding of Database technologies
- Knowledge of ODBC, JDBC, and database management systems internals
- A project focused on multithreaded code and shared memory systems is desired
- Experience in areas such as memory management analysis, compiler theory, performance tuning
- Familiarity with the .NET programming languages
- Experience with technologies such as XML, Unicode and Internationalization
- Experience with Tomcat and the Spring Security framework
- Familiarity with BASH or PowerShell scripting