Position: Software Engineer (Hybrid Position) Location: ITHAC Office, Abuja FCT Employment Type: Full-time, Hybrid (3 days in-office: Monday, Wednesday, and Friday) Office Hours: 9:00 AM – 4:00 PM About Us: Information Technologies Hub and Cynosure (ITHAC) is a dynamic organization at the forefront of technology and innovation. We offer a competitive salary, a supportive work environment, and a strong commitment to fostering the convergence of technology and the arts. We provide comprehensive training and educational opportunities, and we are deeply committed to establishing a collaborative environment where every professional in technology and creative enterprises is valued and feels an integral part of a team. Job Summary:
We seek an experienced and driven Software Engineer to design, develop, and maintain cutting-edge software solutions that meet user needs and business objectives. The successful candidate will have a solid technical background, an aptitude for creative problem-solving, and a passion for optimizing software performance. This hybrid position offers an exciting opportunity to collaborate across teams, engage with stakeholders, and deliver high-quality software solutions while enjoying flexible work arrangements.
Key Responsibilities:
As a Software Engineer at ITHAC, you will:
Collaborate with Teams:
Work closely with cross-functional teams—including product managers, UI/UX designers, and security specialists—to gather and understand requirements, brainstorm solutions, and implement technical strategies that address complex business challenges.
Define Software Requirements:
Analyze user needs and project objectives to define clear and measurable software requirements. Translate these requirements into actionable plans, ensuring alignment with business goals and the development team's capacity.
Design Development Pipelines:
Architect and maintain an efficient and scalable software development pipeline that fosters collaboration, streamlines processes, and ensures high-quality deliverables throughout the development lifecycle.
Write and Maintain Code:
Develop clean, maintainable, and scalable code using best practices. Test and debug software applications, optimizing performance, reliability, and security. Stay current with emerging programming languages and tools to enhance coding efficiency.
Optimize Software for Speed and Scalability:
Continuously evaluate software applications' performance, identify bottlenecks, and implement optimizations to ensure they perform efficiently under varying loads and usage scenarios.
Present and Demonstrate New Features:
Work with product managers and stakeholders to present new software features, demonstrate their value, and explain the technical rationale behind development decisions. Ensure that new features meet user expectations and improve overall product performance.
Consult with Stakeholders and Clients:
Provide technical expertise to clients and internal stakeholders. Communicate complex technical information clearly and concisely, ensuring that non-technical audiences understand the impact and benefits of software solutions.
Problem-solving and Troubleshooting:
Apply engineering principles and programming knowledge to identify software issues proactively, troubleshoot problems, and provide effective solutions. Use IDEs, debuggers, and automation frameworks to enhance problem resolution efficiency.
Document and Maintain Software Systems:
Produce and maintain thorough documentation of the development process, ensuring that all systems are well-documented and accessible for future updates, audits, and maintenance. Create manuals and technical guides to aid in future system enhancements.
Stay Up-to-Date with Industry Trends:
Follow the latest software engineering trends, tools, and frameworks to improve your technical skills. Foster a growth mindset to contribute to innovative solutions within the team and the company. Essential Technical Skills Required:
Programming Languages: Proficiency in Java, Python, Java Script (React, Angular), C++, C#, Go, and SQL is essential. Experience with frameworks like Django, Flask, ASP.NET, and others is a plus.
Software Development Lifecycle (SDLC): Experience in the end-to-end software development lifecycle, from planning and designing to building, testing, deploying, and maintaining applications.
Testing & Debugging Skills: Ability to write unit tests, create test suites, and perform integration, automation, and manual testing. Knowledge of debugging tools (e.g., GDB, browser dev tools) and QA methodologies.
Object-Oriented Programming (OOP): Deep understanding of OOP principles, including classes, inheritance, polymorphism, and encapsulation, to design modular, reusable, and scalable systems.
Database Management & SQL: Strong SQL skills for managing relational databases (e.g., My SQL, Postgre SQL) and performing queries, joins, and optimizations for data integrity and performance.
Software Optimization: Proven track record of optimizing software for high performance and scalability in production environments.
Essential Soft Skills:
Communication: Strong verbal and written communication skills to effectively collaborate with teams, explain technical concepts and present solutions.
Team Collaboration: Ability to work well in teams, showing strong interpersonal skills and willingness to engage with different stakeholders.
Creative Problem Solving: Analytical thinking and innovation in solving technical challenges creatively and efficiently.
Adaptability: Flexibility in adjusting to evolving technologies, project requirements, and business needs while staying focused and proactive in delivering high-quality results.
Time Management & Detail Orientation: Highly organized with excellent time management skills, ensuring deadlines and projects are precisely delivered.
Qualifications:
Bachelor's degree in Computer Science, Software Engineering, Information Technology, or a related field.
Minimum of 5+ years of software development experience, with a strong portfolio of completed software projects showcasing your technical expertise and problem-solving skills.
Proficiency in multiple programming languages (as listed above).
Hands-on experience in the entire Software Development Lifecycle (SDLC) and familiarity with Agile methodologies.
Experience working in cloud environments (AWS, Azure, etc.) and using CI/CD pipelines for software deployment is a plus.
This hybrid position requires working from our Abuja FCT office three days a week (Monday, Wednesday, and Friday) from 9 a.m. to 4 p.m. How to Apply: Please send your CV and a cover letter detailing your experience and why you are the ideal candidate for this position to human.resources@ithac.org. Applications must have a portfolio to be considered. Application Deadline: Applications will be accepted until November 8th, 2024. Join us at ITHAC Job Types: Full-time, Permanent Pay: From ₦150,000.00 per month Application Question(s):
Applications must have a portfolio to be considered.
Education:
Undergraduate (Required)
Experience:
Software Optimization: 5 years (Required)
Software Development Lifecycle (SDLC): 5 years (Required)