Senior Software Engineer at Emirates Post will be responsible to develop, design and implement new or modified software products or ongoing business projects. A senior developer knows how to implement design patterns, can make architectural decisions, has the ability to write proper tests and keeps security and performance in mind.
Duties of Software Engineer
- Policies, Processes & Procedures: Follow all relevant departmental policies, processes, standard operating procedures and instructions so that work is carried out in a controlled and consistent manner.
- Ensure adherence to architecture standards, risk management and security policies
- Compliance with the laws and regulations stipulated in the system of labor policies and administrative regulations (Attendance, Absence, Career commitment).
- Dealing confidentially with all information related to work to protect the interests of the EP and its activities.
- Software Development: Supports and develops software engineers by providing advice, coaching, and educational opportunities.
- Design, develop and implement applications that support day-to-day operations and new initiatives.
- Document and demonstrate solutions by developing documentation, flowcharts, layouts, diagrams, charts, code comments and clear code.
- Update job knowledge by studying state-of-the-art development tools, programming techniques and computing equipment.
- Participating in educational opportunities, reading professional publications, maintaining personal networks, participating in professional organizations.
- Keeps the team informed of progress.
- Escalates issues appropriately when roadblocks are reached.
- Provides systems architecture oversight and assurance services for projects and strategic change.
- Automate software delivery governance and ensure it elevates the overall organization delivery capability.
- Adopt application platforms, architecture practices and software design models.
- Develop the process for ongoing updates of the architecture to accurately reflect changes during a systems lifecycle.
- Define a full Technical Architectural Roadmap for keeping up to date of Architecture, IT Strategy and technology innovation best practices and trends
- Evaluating, designing, solutioning and trouble-shooting IT across all IT functions and working at the point of need.
- Understand and support to software architecture design and support development team in developing solutions.
- Ensure optimal coding practices such as version control, code review and release management.
Requirements for Senior Software Engineer
- Bachelor degree in Computer Science, Computer Engineering, information technology or equivalent.
- 3-5 years of experience in software development using object-oriented languages such as NET, C#, JSON, XML, REST, NoSQL, Distributed System, RDBMS, ePub3, MVC frameworks, Design Patterns, JavaScript, jQuery, JWT, Out Systems, React Native, Angular.
- Experience as an applications programmer on large-scale data base management systems.
- Experience with all ancillary technologies necessary for Internet applications HTTP, TCP/IP, POP/SMTP.
- Experience debugging distributed systems with high data loads.
Skills & Knowledge
- Strong writing SQL queries for SQL Server or another Relational Database is required.
- Data analytics & Performance Metrics.
- Strong Business acumen.
- Aware of business, technical, applications, information management, and infrastructure issues.
- Acts as a consultant to aid in the development of creative solutions.
- Negotiate and administer vendor, outsourcer, and consultant contracts and service agreements.
- Understand emerging web and mobile development models
- High scalability projects involving cloud based infrastructure design and implementation.
- knowledge of object oriented design and development skills.
- Deep understanding of distributed data model.
- Extensive knowledge of C# using Visual Studio using Webforms, MVC and Entity Framework.
- Ability to use version control software such as GIT and TFS.
- Good knowledge of IIS.