In a Nutshell:
Gaditek is searching for an experienced, highly technical and hands-on Sr. Software Engineer. In this role, you’ll be engaged in the development projects across a predominantly LAMP Stack, Node.JS and Python-based technologies. This will include working closely with the department’s Project Managers, coordinating with business analysts, architects, and developers, as well as liaising with key project stakeholders as required.
To apply for this role, in addition to having a proven technical background, you must also have proven management capability and a track record in the leadership of software development teams and delivery of projects within a software development environment.
Once you are here, you will:
- Be involved in various development projects, implementation projects or support requests at any given time.
- Work with Architects, Business Analysts and System Support staff as directed by their Functional heads.
- Develop software solutions by studying information needs; conferring with users; studying systems flow, data usage, and work processes; investigating problem areas; following the software development lifecycle.
- Determines operational feasibility by evaluating analysis, problem definition, requirements, solution development, and proposed solutions.
- Prepare and install solutions by determining and designing system specifications, standards, and programming.
- Work closely with Architects and Business Teams to estimate work efforts on ongoing and upcoming projects.
- Will be involved in the full software development life-cycle in coordination with other engineers, QA, and designers and should be confident and adept in articulating ideas in a clear, well thought out manner.
- 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.
- Supports and develops software engineers by providing advice, coaching and educational opportunities.
- Ensures that code meets specifications. Writes code that is easily maintainable, is able to debug own code for preliminary testing. Must practice standard software development methodologies and standards.
- Code, test, and implement configuration changes to software applications to meet both functional and technical requirements.
- Generate innovative ideas and support new ideas or approaches that enhance service.
- Ensure that all architectural/coding guidelines are followed by all team members working with him.
- Provide guidance to and review the work of other team members as well as investigate ways to potentially improve existing code and implement improvements.
- Participating in requirements debriefing and finalizing requirements
- Participate in root-cause analysis, communicate options for resolution and provide recommendations to customer-facing technology problems.
- Assist in providing ballpark estimates for prioritization
- Providing Learning of Effort (LOE) and Work breakdown System (WBS) after system design is complete.
- Responsible for making sure daily check-ins have been performed.
- Performing periodic dirty builds from the checked-in code to make sure the team is on the right track.
- Be responsible for releasing builds to internal QA teams and customer UAT teams.
- Help and mentor Junior & Senior Software Engineers with technical challenges.
- Coordinate with peers and Architects for accurate and recommended development approaches for assigned tasks.
- Perform daily check-in of the source code.
- Check projectier for daily task assignments and update the status with the progress.
- Code software fixes or change requests as assigned on projectier.
- Coordinate with Functional Head to ensure that you are aware of which projects/requests are precedence priority at all times.
Work at the direction of the Architect from a development practices perspective. This includes but is not limited to the following:
- Design/Architectural guidelines
- Applicable software coding conventions
- Source/Configuration management procedures
- Testing practices
- Work to resolve any items/bugs/changes assigned by the Quality Assurance Team.
- Write a unit-test code and perform unit-tests on the developed software.
- Understand and execute the unit test plans and document results properly. Investigate, analyze and report any corrective action on reported defects.
What does GADITEK offer you?
Gaditek is a new age technology company that is focused on just one thing: keeping you relevant in the market. We work hard. Harder than most other places of work in the same hours. But we also purposefully find ways to allow our teams to enjoy work together. As a result, we’re among the best companies to work for in Pakistan with a plethora of benefits and an amazing culture.
Working with us, you will never have to worry about being left behind in the market or losing your market value. You will always remain market competitive, work on challenging new projects that require you to put your knowledge and experience to create amazing solutions that you’re proud of and which help us go to new places.
To perform this job successfully, an individual must be able to perform each essential duty mentioned satisfactorily. The requirements listed below are representative of the knowledge, skill and/or ability required.
Technical Eligibility (Important)
The Lead Software Engineer must have a strong set of skills on at least 4 different programming technologies, tools, languages or frameworks.
Example: One should have a combination similar to the following.
- COMBO 1: LAMP Stack, Node.JS, Python
- COMBO 2: LAMP Stack, Java, Python
- COMBO 3: LAMP Stack, Node.JS, Java
- At least sixteen years of academic education with a bachelor’s degree in any of the software development related disciplines.
- A master’s degree in software development discipline will be preferred.
- Minimum Experience – 4 year of professional experience as Sr. Software Engineer or above capacity.
- Maximum Experience – 6 year of professional experience as Sr. Software Engineer or above capacity.
- Hands on experience over Microsoft .Net (C#, C++) and PHP based technologies
- Experience of people management and the ability to lead and influence others
- Proven experience in leading and managing the delivery of system/software development projects in a structured environment
- Experience in a variety of software development approaches and methodologies including Agile preferably
- Experience in both architecture and implementation-level software design
- Strong facilitation and coaching skills
- Excellent personal organization and ability to prioritize and carry out multiple tasks
- Able to influence and drive projects to meet key milestones and overcome challenges
- A desire to remain technically capable and an expert in current technologies
- Ability to effectively communicate information and respond to questions in person-to-person and small group situations within Teams and other employees of the organization.
- Able to understand and respond back to written emails, tasks and reports in English
- Ability to resolve and/or escalate issues in a timely fashion.
- Ability to work with advanced mathematical equations and logic.
- Critical Thinking Skills
- Ability to solve practical problems and deal with a variety of known variables in situations where only limited standardization exists.
- Ability to interpret a variety of instructions furnished in written, oral or diagram formats.
- Analytical Ability / Problem Solving
- Directed, Supervisory and Professional skills using structured practices or policies and directed as to execution and review. Interpolation of learned things in moderately varied situations where reasoning and decision-making are essential.
Apply - Senior Software Engineer