Principle Software Engineer primary goal is to implement assigned tasks on time, with expected quality, and using the best practices. Principle Software Engineer is an experienced senior developer with a successful delivery track and proven technical expertise. It is the transitional phase from being a strong Senior Software Engineer and transitioning to Development Lead.
Duties and Responsibilities:
Required Experience & Skills:
- Perform programming tasks according to the project plan and functional specifications.
- Perform unit testing of the tasks submitted by him.
- Conducting technical research to gain technical knowledge and resolve technical difficulties.
- Participate in the analysis & design of new functional requirement and systems.
- Participate in the estimation of new features and components.
- Participate in product or application definition activities including feature analysis & system tradeoffs.
- Collaborates & adds value through participation in peer code reviews, providing comments & suggestions in coordination with the Development Lead.
- Serve as a mentor to less experienced software engineers.
- Act as a Development Lead in absence of the Software Development Lead.
- Perform other related duties as necessary.
- Proven experience implementing tasks using C#, VB.NET, ASP.NET, ADO.NET, & Entity Framework.
- Excellent understanding of OOP, n-tier architecture and design patterns.
- Very good knowledge in Web Technologies (HTML/ XML / XSD / XSLT / XPath).
- Good Knowledge in .Net 3.5, 4.0 and 4.5 is plus.
- Fair Knowledge in WCF and WPF is a plus.
- Fair knowledge of ASP.Net MVC3 and MVC4 is plus.
- Very Good knowledge in ORM and LINQ.
- Experience with MS SQL 2000/ 2005/ 2008, ability to write Stored Procedures & read entity diagrams.
- Knowledge of at least one of (Crystal reports, Open XML, and reporting services).
- Knowledge in cloud and mobile technologies is a plus, real implementation is huge plus.
- Knowledge in queues, multi-threading, parallelization, and distributed caching servers is a plus.
- Very good analytical and creative problem solving skills.
- Good work ethics, Team player, positive and self-motivated.
- Strong Communication & Interpersonal skills.
- Excellent command of English language is a plus.
- Previous experience working with U.S clients is a plus.
- Flexibility to travel when needed (mainly to U.S & Jordan and could be other destinations if required).
A minimum of a Bachelor’s degree in one of the following areas:
- Computer Science.
- Information Systems.
- Computer/ Electrical/ Communication Engineering.