Are you a seasoned developer with a passion for leadership and innovation? We’re seeking a talented and motivated Lead Developer to join our growing team. As the Lead Developer you will be a key member of our engineering team responsible for leading and driving the development efforts using the Java technology stack.
This individual will combine strong technical expertise with leadership skills to guide and mentor the development team, design, and implement complex software solutions, and ensure the delivery of high-quality software products.
What you’ll do:
Technical Leadership
- Technical Strategy: Develop and communicate the technical vision, strategy, and roadmap for projects using the Java stack.
- Team Leadership: Lead and mentor a team of developers, providing guidance, coaching, and technical expertise.
- Code Review: Conduct regular code reviews to ensure code quality, adherence to coding standards, and best practices.
- Technical Decision-Making: Make critical technical decisions, such as selecting frameworks, tools, and technologies.
- Architecture: Collaborate with solution architect to design and implement scalable and maintainable software architectures.
- Problem-Solving: Identify and resolve complex technical issues and challenges.
Development
- Coding: Write high-quality, efficient, and maintainable Java code.
- Design: Participate in the design and implementation of software components and systems.
- Testing: Implement and oversee unit testing, integration testing, and quality assurance processes.
- Performance Optimization: Optimize application performance, identify bottlenecks, and implement solutions.
- Documentation: Create and maintain technical documentation, including design documents and system diagrams.
- Version Control: Use version control systems (e.g., Git) effectively, ensuring code is properly managed and documented.
- Security: Ensure software security best practices are followed, identifying and addressing potential vulnerabilities.
Project Management
- Project Planning: Collaborate with product owner and stakeholders to assist in defining project scope, requirements, and timelines.
- Estimation: Assist in providing accurate time and effort estimations for development tasks.
- Task Allocation: Assign tasks and responsibilities to team members, ensuring workload balance.
- Progress Tracking: Monitor and report on project progress, identifying and mitigating risks.
- Release Management: Oversee software releases and ensure a smooth deployment process.
Collaboration
- Cross-Functional Collaboration: Work closely with cross-functional teams, including product, analysis, DevOps, design, QA, and Operations to ensure seamless project execution.
- Knowledge Sharing: Foster a culture of knowledge sharing and continuous learning within the team.
- Communication: Communicate technical concepts effectively to both technical and non-technical stakeholders.
Your expertise:
- Relevant Information Technology Degree or National Diploma.
- At least 7 years’ experience in leading teams
- 7+ years Software Development experience as a Java Developer
- 3+ years of experience in a technical leadership role
- Agile Software development (Scrum) and Test-Driven Development (TDD) experience.
- Unit Testing
- Proven track record of leading and delivering successful software projects using the Java stack.
- Strong proficiency in Java and related technologies (e.g., Spring, Hibernate).
- Experience with front-end technologies (e.g., JavaScript, HTML, CSS).
- Familiarity with databases (e.g., MySQL, PostgreSQL, MongoDB).
- Knowledge of software design patterns and best practices.
- Experience with containerization and orchestration technologies (e.g., Docker, Kubernetes)
- Understanding of cloud platforms (e.g., AWS, Azure)
- Knowledge of Agile and Scrum methodologies.
Personal Attributes:
- Excellent leadership and mentoring abilities.
- Strong problem-solving and critical-thinking skills.
- Effective communication and interpersonal skills.
- Ability to prioritize and manage multiple tasks and projects.
- Adaptable and open to change in a fast-paced environment.
- Strong commitment to quality and attention to detail.
- Proactive and self-motivated.
Why work for us?
Want to work for an organization that solves complex real-world problems with innovative software solutions? At iOCO, we believe anything is possible with modern technology, software, and development expertise. We are continuously pushing the boundaries of innovative solutions across multiple industries using an array of technologies.?
You will be part of a consultancy, working with some of the most knowledgeable minds in the industry on interesting solutions across different business domains.?
Our culture of continuous learning will ensure that you will have all the opportunities, tools, and support to hone and grow your craft.?
By joining IOCO you will have an open invitation to our inspiring developer forums. A place where you will be able to connect and learn from and with your peers by sharing ideas, experiences, practices, and solutions.?
Desired Skills:
- Systems Analysis
- Complex Problem Solving
- Programming
- C#
- Java
- SQL
- HTML