QUALIFICATIONS AND JOB DESCRIPTION
We are looking for an experienced ,self-motivated and energetic team member who will join us as a full-time Software Team Lead and work as a part of our Ankara team for our defence sector projects.
TECHNICAL REQUIREMENTS:
- Has B.Sc. or preferably M.Sc. degree in Computer Engineering, Computer Science or in a related area
- Proven 3+ years of work experience as a software team lead
- Proven 3+ years of work experience in defence
- Proven 10+ years of work experience in software development
- Proven experience in software development processes according to IEEE 12207
- Proven experience in Object-Oriented Programming paradigm
- Proven experience and vast knowledge in:
- Microsoft Development Technologies
- .NET Framework, .NET Core
- C#
- Web Application Development and Web Services
- Java
- Javascript, HTML5 and web application frameworks
- Relational & non-relational Databases
- Experience in Object-relational mapping techniques and ORM frameworks/tools (knowledge of concepts like dealing with concurrency, collections, lazy and explicit loading, validations or caching etc.)
- Vast knowledge of Design Patterns, best practices and their usage
- Vast knowledge of Software Development Lifecycle and SDLC models
- Experience in Agile Development practices and Scrum
- Experience using Configuration Management Systems (e.g. TFS, Git, ClearCase etc.)
- General knowledge of Continuous Integration and DevOps
- Experience in software development in defence projects according to IEEE 12207
Desirable areas of experience:
- Silverlight
- Angular
- Extensible Application Mark-up Language (XAML)
- Entity Framework and NHibernate
- ASP.NET Forms/Pages, Windows Presentation Foundation (WPF), Windows Forms, Windows Workflow Foundation (WF), WCF services implementation or SignalR server/client implementation
- RESTful API design and consumption, XML, JSON etc.
- Key-value stores like HBase/Cassandra, Redis, MongoDB etc.
- Publish/subscribe/messaging queue technologies like MSMQ, RabbitMQ, ActiveMQ etc.
- Real-time processing frameworks like Spark Streaming, Storm, Kafka etc.
- Troubleshooting and improving software performance
Nice to have areas of experience:
- Continuous Integration tools (e.g. Maven, Jenkins, etc.)
- Other Frameworks like Spring, React, Play, TypeScript, NodeJS etc.
RESPONSIBILITIES:
- Provides technical leadership to software development team (refenced as “team” from this point forward) and guides team development efforts towards successful project delivery
- Acts as a high performing member of the team
- Collaborates with team to plan, design, develop, test, and maintain software applications
- Manages software development:
- makes estimates, develops work plans, creates tasks with the team,
- distributes, monitors and controls tasks of the team members
- ensures that the team is adhered to high-quality development principles while delivering output as planned; i.e. on-time and on-budget
- Assists in the collection and documentation of user requirements
- Participates in the analysis of user requirements, ensures creation and documentation of software requirements
- Provides architectural and design direction to the team, leads the design of the software, ensures proper documentation and software design quality within the team
- Ensures that software is developed by the team in accordance with Atos processes, industry standards and related guidelines
- Ensures unit-testing, code-reviews and refactoring of the code within the team
- Maintains high standards of software quality within the team by establishing good practices and habits
- Organizes and participates in peer-reviews of solution designs and related code
- Directs deployment of releases, ensures deployment & post-production issues are solved
- Responds to customer needs regarding analysed, designed or developed software in a timely fashion, troubleshoots issues and provides solutions when needed
- Plans and supports preparation of reports, manuals and other documentation on the status, operation and maintenance of software
- Writes detailed technical documentation, present complex technical information in a clear and concise manner to a wide variety of audiences
- Assesses opportunities for application and process improvement and prepare documentation of rationale to share with team members and other affected parties
- Researches and evaluates software product alternatives to be used
- Assists project management in planning, execution, monitoring and control and closing of software development work packages
- Assists bid management and participates in developing technical proposals of new projects
GENERAL SKILLS AND ATTRIBUTES:
- Being a servant-leader through creating a positive and trustful climate
- Having excellent communication and collaboration skills
- Being a role model, ability to work as a reliable, responsible and self-motivated team player
- Having strong problem solving and analytical skills
- Being proactive to project needs and demands in fast changing environment
- Having a passion for lifelong learning and personal qualification improvement
- Having a sense of urgency, accountability, and ownership
- Power user in Microsoft Office and open office applications
- Very good command of both written and oral English (KPDS/YDS:80, TOEFL iBT: 96, CEFR C1 or equivalent)
- No restrictions for travelling abroad temporarily
- Completed military service for male candidates
- Having a valid National Security Clearance from Ministry of National Defence, Turkey, is a plus