Crown Interactive delivers innovative, cost-effective, service aggregation solutions to the Telecom, Media and Technology-based sectors. Starting in 2005, this ...
Kibo is an online university that offers STEM degrees to African students, starting with computer science. We’re on a mission to educate the next billion ...
Canonical - We deliver open source to the world faster, more securely and more cost effectively than any other company. We develop Ubuntu, the world's most ...
Africhange (AF) is a remittance company that leverages blockchain technology and P2P exchange to offer a seamless way for users in Canada to send money to ...
At PalmPay, we want to provide a financial ecosystem that is open to as many people as possible, and that’s why the only requirement to access financial ...
Moniepoint Inc. is a leading financial technology company that provides a seamless platform for businesses to accept digital payments, access credit and access ...
Microsoft Corporation is an American multinational corporation headquartered in Redmond, Washington, that develops, manufactures, licenses, supports and sells ...
We started as an e-commerce company in Nov 2016 from a faulty samsung tab whose battery lasted only 30mins. One Year later we realised that only 4% of payments ...
At PalmPay, we want to provide a financial ecosystem that is open to as many people as possible, and that’s why the only requirement to access financial ...
500Chow is a leading food tech restaurant chain on a mission to create the best food brand in Africa. We're passionate about revolutionizing the culinary ...
Sankore Investments is a global investment and advisory boutique with a strong focus on African markets. Drawing on the strengths of our people and our strong ...
Compugeen is a premier value-added service company and technology solutions provider in Africa, Europe and North America with presence in Nigeria, Kenya, South ...
Pagatech was founded in early 2009 with a vision to enable a cashless society and bank the unbanked in Africa. Our first product offering, Paga, is a direct to ...
We’re a health insurance company that acts like a technology company. We’re using software, data science and telemedicine to make health insurance ...
At Zipnet Innovation & Technologies Ltd we are a Technology services and solution provider specialized in end to end IT services and solutions for Business and ...
Canonical - We deliver open source to the world faster, more securely and more cost effectively than any other company. We develop Ubuntu, the world's most ...
Software engineers create web applications, mobile apps, robots, operating systems, and network systems. They develop software solutions that meet their companies' needs and expectations. Note that the terms "software engineer" and "software developer" are used interchangeably in the industry, but these positions' responsibilities vary slightly. Software engineers design software solutions, while software developers build those solutions to make them ready for consumers. Depending on the type of company they work for, software engineers will create original code for software and applications. They also build reusable code for future use.
Collaborate with systems analysts, engineers, programmers, and others to design systems and gather information on project limitations, capabilities, performance requirements, and interfaces.
Alter existing software to resolve mistakes and errors, facilitate its adaptation to new hardware, and improve its overall performance.
Analyze user needs and software requirements to determine design feasibility within time and cost limitations.
Meet with customers to discuss software system design and maintenance.
Coordinate the installation of software systems and monitor related equipment to meet specifications.
Design, develop, and modify software systems — incorporating scientific analysis and mathematical models to predict and measure the outcome and consequences of those designs.
Develop and direct software system testing, validation procedures, programming, and documentation.
Analyze information to determine, recommend, and plan computer specifications and layouts, and peripheral equipment modifications.
Supervise the work of teams of programmers, technologists, and technicians, in addition to other engineering and scientific personnel.
Obtain and evaluate required reporting formats, related costs, and security needs to determine hardware configuration.
Determine system performance standards.
Train others to use new or modified equipment.
Store, retrieve, and manipulate data to analyze system capabilities and requirements.
Specify necessary power supply requirements and configurations.
Recommend environmental control equipment, including dust control, temperature, and humidity levels in system installation.
Data Structures: Programmers and software engineers use data structures and algorithms to build computer programs. Engineers' skills in data structures and algorithms help them create efficient and well-optimized code.
Software Testing: Software engineers test new programs and applications to evaluate and verify features and functionality. This improves performances and fixes defects. They must also know the software development lifecycle to plan, test, and deploy systems.
Programming Languages: Software engineers write code for computer programs and applications. Some popular languages include Python, C++, and Java.
Core Computer Science Knowledge: Software engineers need a strong understanding of computer science concepts like databases, operating systems, and computer networking. Professionals use database management systems like SQL and must know various operating systems, including Linux.
Java: This programming language produces software on multiple platforms without the need for recompilation. The code runs on nearly all operating systems including Mac OS or Windows. Java uses syntax from C and C++ programming. Browser-operated programs facilitate GUI and object interaction from users.
JavaScript: This scripting programming language allows users to perform complex tasks. Most web pages are written in Javascript. This language allows users to update content, animate images, operate multimedia, and store variables. JavaScript represents one of the web's three major technologies.
SQL: Also known as Structured Query Language, SQL queries, updates, modifies, deletes, and inserts data. To achieve this, SQL uses a set number of commands. This computer language is standard for data manipulation and relational database management. Professionals use SQL to manage structured data where relationships between variables and entities exist.
C++: Regarded as an object-oriented, general purpose programming language, C++ uses both low and high-level language. Since virtually all computers contain C++, software engineers must understand this language. C++ encompasses most C programs without switching the source code line. C++ primarily manipulates text, numbers, and other computer-capable tasks.
C#: Initially developed for Microsoft, this highly expressive program language is simpler than other languages, yet it includes components of C++ and Java. Generic types and methods provide additional safety and increased performance. C# also allows professionals to define iteration behavior while supporting encapsulation, polymorphism, and inheritance.
Python: This high-level programming language contains dynamic semantics, structures, typing, and binding that connect existing components; however, the Python syntax is easy to learn with no compilation stage involved, reducing program maintenance and enhancing productivity. Python also supports module and package use, which allows engineers to use the language for varying projects.