Sr. Application Developer
The Opportunity
Define the development architecture for the company’s new applications, ensuring they effectively support business operations, enable business continuity, and adhere to established standards for modularity, reuse, flexibility, scalability, and alignment with the enterprise architecture framework. Define and document how enterprise platforms, systems, applications, mobile applications, interfaces, and services should be planned, structured, organized, deployed, and managed to deliver measurable business outcomes.
Design and document technology solutions that support the company’s strategic objectives by making effective use of available platforms, tools, and resources. Promote faster delivery through reusable components, platform optimization, and high-level solution designs that guide development teams. For purchased or vendor-provided solutions, serve as the company’s primary technical point of contact, supporting vendors by reviewing and validating solution designs, implementation strategies, technical plans, and go-live readiness activities.
Ensure that solution architectures comply with established technology standards. When direct control over implementation is not available, provide technical guidance and formal feedback to project teams to identify opportunities for improving the overall software architecture. Participate as a member of a Scrum team by contributing expertise to the analysis, design, and development of business solutions, providing development estimates, and producing the technical documentation required by Development Engineers to build the proposed solution.
The Role
Collaborate with Business Analysts, Scrum Masters, Product Owners, users, and solution vendors to define the development architecture required for new solutions or changes to existing applications.
Define software architecture for new applications and integration mechanisms with other systems, ensuring the use of reusable common services.
Prepare software architecture specifications using approved methodologies, tools, and defined standards.
Work with the development team to design application components, including inputs, outputs, interfaces, and services.
Design prototypes based on specifications and requirements gathered by the Development area.
Ensure that defined components meet quality criteria and support successful validation by test engineers and end users.
Support the Quality Assurance team in understanding the software architecture and identifying the appropriate types of testing required.
Coordinate the involvement of different development teams when specialized expertise is required to define the software architecture.
Lead technical discussions and engage subject-matter experts to support application design decisions.
Actively participate in project planning, analysis, and design activities, ensuring alignment with architectural definitions throughout the development lifecycle and implementation.
Collaborate with technical leads and business areas to estimate development efforts for new systems, enhancements, modifications, and corrections to existing systems.
Serve as a technical advisor to development and planning teams, contributing technical expertise and practical experience.
Review components under development when needed to identify opportunities for optimization and improvement.
Participate in the Quality Assurance process by supporting Quality Engineers during development control activities and testing of completed applications.
Continuously research and stay current on technologies that can improve solution robustness, scalability, and development efficiency.
Build effective working relationships with internal teams to support the adoption of standards and methodologies for architecture deliverables.
Maintain information systems architecture documentation as a reliable reference for decision-making, issue resolution, and deployment of new solutions.
Perform other duties as assigned by the direct supervisor.
The Requirements
Education and Experience
Degree in Computer Engineering or Bachelor’s degree in Information Systems.
Master’s degree in Software Architecture preferred.
Certifications in object-oriented solution development or company-defined technology standards preferred.
At least three years of experience leading solution architecture initiatives, including design, implementation, and service-oriented solutions.
At least three years of software development experience using the company’s .NET framework, required for the Junior Software Architect level.
At least three years of experience analyzing, designing, developing, and implementing systems based on service-oriented architecture.
At least three years of experience working with ANSI SQL.
Knowledge of database management languages, including PL/SQL, Transact-SQL.
At least five years of experience in systems analysis and design.
At least three years of experience leading technical teams.
Proficiency in spoken and written English.
Technical Knowledge
The role requires the following technical knowledge:
Relational databases
SQL Server
Oracle
DB2
MySQL
Web servers
IIS
Apache
Apache Tomcat
Strong knowledge of programming languages:
.NET
PHP preferred.
Oracle preferred.
RPG preferred.
Strong knowledge of development tools.
CASE tools
MVC frameworks
MVC
Strong knowledge of web development technologies.
HTML5
CSS3 style sheets
JavaScript
jQuery
Ajax
Angular
Bootstrap
DevExpress
Blazor
Strong knowledge of object-oriented and structured programming.
General knowledge of operating systems Windows.
Strong knowledge of Service-Oriented Architecture.
Strong knowledge of UML, design patterns, and development patterns.
General knowledge of Scrum development methodologies preferred.
General knowledge of networking concepts.
Knowledge of process analysis and design.