In a Nutshell:
GADITEK is hunting for a Senior Software Architect to take charge of overseeing all technical aspects of a product offering of our brand. We’re looking for a pragmatic visionary that can translate business needs into workable technology solutions that scale both technically and operationally while also raising the engineering and operational standards.
In this role, you will be responsible for leading and mentoring a team of Lead Engineers and Architects in the development, testing, and construction of web and mobile applications under the Application Services Department. Primary responsibilities are to work closely with management, customers, QA, BA, design, business management, and customer support to maintain and develop new projects and services. In this position you will need to provide technical leadership and management for a team of software engineers in a fast-paced environment. The manager must be willing to participate in hands-on development when necessary.
Why is this role important for Gaditek's work?
GADITEK’s mission is to support its brands with the right talent so they can take us to new levels of excellence in existing and non-existing areas; and in the process, make them more valuable and relevant in the marketplace.
This role is critical to the success and growth of our product and service offerings and ensuring successful and timely delivery of reliable software solutions.
Once you are here, you will:
- Take responsibility for the entire architecture and technical decisions made in the assigned domain.
- Participate in hands-on development when necessary. Hands-on experience of working as full-stack developer is a must.
- See the “Big Picture” and create architectural approaches for software design and implementation guide to the development team.
- Solve integration and architectural design problems that can span across different technology stacks.
- Design and document architectural solutions that meet business requirements.
- Define the technical strategy and the order of task implementation and evaluate business requirements from the technical standpoint.
- Identify, investigate and resolve architecture related problems such as performance, scalability and integration.
- Stay updated on the latest technology trends and take timely decisions related to the application architecture in order to get the benefits of latest technologies and avoid any technological challenges to the application.
- Review and approve functional and non-functional development and create implementation guidelines for developers.
- Work closely with the technical team and subject matter experts to establish the technical vision and analyze tradeoffs between usability and performance needs.
- Provide technical training and presentations for team and stakeholders.
- Research and develop new ideas, solutions and improvements.
- Capture and share best-practice knowledge.
- Responsible to maintain control over the architecture lifecycle.
- Work closely with Business Team to estimate work efforts on ongoing and upcoming projects.
Continuously improve 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
What does Gaditek offer you?
GADITEK is a new age company that is focused on just one thing: keeping you relevant in the market and in this age. 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 top IT and technology companies in Pakistan.
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 will require you to put your existing body of knowledge and experience to create amazing solutions that you’re proud of and helps 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 for this role.
- Understand complex database concepts and effectively employs different database design techniques.
- Possess demonstrated work experience with more than one relational database management system.
- Understand the benefits of the various programming languages.
- Possess significant knowledge of client/server and internet systems architectures.
- Understand browser / client specific compatibility issues.
- Facilitate team and client (if required) meetings effectively.
- Hold regular status meetings with development team.
- Keep development team well informed of changes within the organization and general corporate news.
- Deliver engaging, informative, well-organized presentations.
- Resolve and/or escalate issues in a timely fashion.
- Understand how to communicate difficult/sensitive information tactfully.
- Capable of identifying potential gaps in communication and taking necessary remedial measures.
- Possesses excellent writing skills and is able to effectively conduct training sessions for a wide variety of audience.
- Challenge others to develop as leaders while serving as a role model.
- Manage the development of team by ensuring that project tasks are in line with each
- Innovator's career interests when possible.
- Inspire coworkers to attain goals and pursue excellence.
- Identifies opportunities for improvement and makes constructive suggestions for change.
- Manage the process of innovative change effectively.
- Remain on the forefront of emerging industry practices.
- Ensures early identification of potential technical and non-technical issues within the team and brings them to effective closure.
- Capable of leading multiple teams across multiple projects. Proven track record of leading initiatives with successful results.
- Facilitate effective team interaction.
- Acknowledge and appreciate each team member's contributions.
- Effectively utilize each team member to his/her fullest potential.
- Keep track of lessons learned and shares those lessons with team members.
Planning & Organizing
- Able to effectively delegate tasks to team members where required. Capable of planning for end-to-end development of one or more product features both independently or for a team.
- Capable of developing, reviewing and monitoring plans for implementation of all required product features for the entire team.
- Able to satisfactorily manage expectations with regards to any assignment through effective planning and organization of required tasks.
- Conduct effective performance evaluations and mentors developers and senior developers through formal and informal channels.
- Seek and participates in personal development opportunities above and beyond training
- Train other developers through both formal and informal training programs.
- Suggest areas for improvement in internal processes along with possible solutions.
- Lead internal teams/task forces.
- Review the status reports of team members and addresses issues as appropriate.
- Comply with and helps to enforce standard policies and procedures.
- 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.
- Any renowned certifications in related technologies.
- Experience in automated testing including unit and functional testing using Java, JUnit, JSUnit, Selenium
To apply, please submit your resume, cover letter and any relevent work samples