Prince Osinachi Nchiba – Tech | Business | Economy https://techeconomy.ng Tech | Business | Economy Wed, 01 Feb 2023 14:39:31 +0000 en-GB hourly 1 https://wordpress.org/?v=7.0 https://techeconomy.ng/wp-content/uploads/2025/06/cropped-256Px-32x32.png Prince Osinachi Nchiba – Tech | Business | Economy https://techeconomy.ng 32 32 How to Set Up Software Development for a Scaling Tech Startup? https://techeconomy.ng/how-to-set-up-software-development-for-a-scaling-tech-startup/ https://techeconomy.ng/how-to-set-up-software-development-for-a-scaling-tech-startup/#respond Thu, 04 Nov 2021 12:00:45 +0000 https://techeconomy.ng/?p=94695 Article By: Prince Osinachi Nchiba

====

I remember having to play an expert role in auditing a particular unicorn startup based out of South Africa. The co-founder of the business was telling me about some of the challenges they were facing within their engineering team. I realised the following:

  1. There was no technical product roadmap guiding the software development cycle.
  2. There was no clear validation as to why the technologies being deployed to solve users’ problems were the right fit.
  3. There was no clear definition of the technical resources for the startup to scale.
  4. There was no strategy around resolving technical debt when growth comes.

I diagnosed and detected that the root cause of the challenges this startup faced emanated from the pointer highlighted above. I was able to guide and help resolve these issues.

However, I noticed that these issues are prevalent among many tech  startups within the digital technology space in Africa. Hence, why I have decided to put this article together.

A second story…

A second piece of evidence that proves that this challenge exists among scaling startups is “Evernote”.

Before the company became a unicorn in 2012, it had issues with scaling its software solution as a result of the way it was set up initially.

There were issues with latency, downtimes, and technical debt, meanwhile, the numbers for user growth grew by leaps and bounds, and it was hard to keep up.

Evernote finally shut down in 2015. The cost of not setting up software development properly can be very steep, for any type of startup.

That brings us to two junctures:

  1. How do we set up software development properly (when it had not been set up at all)?
  2. How do we fix software development properly when it has been wrongly set up?

How do we set up software development properly (when it had not been set up at all)?

The answer to this is by ensuring the following are done:

  1. Hire quality software developers and solution architects: There are a lot of decisions engineers make at the nascent stage of a product. These decisions can make or mar the startup in future. It is important to hire properly. Hiring engineers with more experience and more commitment to work will save the startup a lot of engineering costs. If you are a non-technical co-founder, it is advisable to get someone who is very experienced with tech that can advise you while you are mustering up your first team.
  2. Keep proper documentation: Keeping proper documentation is another step that is important during the setup stage. A product manager can be hired to take this up. Important documents like user stories, user research, product requirement documents, user flows, etc. are very important documentation the startup needs at the early stages.
  3. Forecast growth and position for scale: Having a prognostic and descriptive perspective in software development is crucial. It is important we factor in traffic volumes and data accruement while designing the software architect and developing the same. It is a thing to know how to drive growth, it is another to know how to manage growth. The software team needs to be aware of this and plan for this.

How do we fix software development properly when it has been wrongly set up?

  1. Isolate the issues on the flawed platform while working on a new fix: At this point, the best thing is to identify the flaws within the system and map out a new fix. This might mean creating a new test environment or sandbox. The new changes can then be pushed to this new environment and then merged to production after it has been successfully tested. It is important to consult with a DevOps professional or Solutions Architect if the issues are based on the system’s framework.
  2. Hire specialists to assess the risks of change: While working on setting up properly, it is important to conduct a risk assessment of the before state and after state of the changes intended. This anticipation of the risks helps in creating pathways that can help avert these risks e.g this could mean creating a backup on the database, firewall protection, etc.
  3. Plan for user migration: If the changes required mean a new platform needs to be instituted, a proper migration plan needs to be created.
  4. Ensure good customer support is in place: While changes are being made to the system, it is crucial to make sure the user experience is not impacted negatively. There needs to be a strategic plan to use customer support to cover up for the gaps the new implementation might create.

To contextualize it better, here is an expectation of the technical infrastructure needed based on the business stages of the startup.

Infrastructure Readiness Chart Based on Startup Stages:

Infrastructure readiness based on startup stages

To further help, I have prepared a worksheet called the “Scalability matrix”. This free resource will help in guiding you on the status and readiness of your startup’s software development process.

Here is a filled sample below:

Infrastructure readiness based on startup stages

Feel free to access this free worksheet HERE.

With the above, I believe setting up software development for your startup will no longer be a chore.

]]>
https://techeconomy.ng/how-to-set-up-software-development-for-a-scaling-tech-startup/feed/ 0
8 Career Paths for Software Engineers https://techeconomy.ng/8-career-paths-for-software-engineers/ https://techeconomy.ng/8-career-paths-for-software-engineers/#respond Tue, 14 Apr 2020 14:31:12 +0000 https://techeconomy.ng/?p=94702 Article By: Prince Osinachi Nchiba

====

I conducted a survey. They were made up of people between the ages of 18 and 32 years, working within tech or starting out, living within Africa.

Out of the 100 people I spoke to, I found out the following:

  • 87% did not understand the growth potentials that exist in the software engineering field.
  • 76% do not know the next thing for them in their career.
  • 70% were unsure of the next steps

Aside from the fact that the technology industry has evolved in the past decade, we have had a lot of people transition into tech because of the noise and fad, without really understanding the opportunities that are available.

Most people have confessed to saying they only joined tech because of the “fat salaries” they heard software engineers earned. Because of this, I have decided to put together a proper article that addresses these misconceptions and directs people on the way to go on their software journey.

Career Paths in Software development

We are going to dimension the career paths into two:

  • Niche path: The niche path covers the aspects that have to do with the tech tracks (e.g Frontend Engineer, Backend Engineer, etc.)
  • Growth path: This path deals more upwards career growth. It requires the person to acquire managerial, leadership and administrative skills (e.g Chief Technology Officer, Tech Lead, etc.)

Description of Niche Roles

Frontend Engineer: A front-end engineer, also known as a front-end web developer or designer, selects, instals, and tests the user interface elements of a website. The front-end developer focuses on the look and feel of the site, along with its functionality.

Backend Engineer: A backend engineer is the type of engineer responsible for creating the skeleton of a software application. Backend engineering is also known as server-side engineering because backend engineers deal with everything that happens on the server.

Mobile App Developer: A mobile application developer is someone who produces programs for particular mobile hardware or software technologies. Often, these developers specialize in a particular operating system, such as iOS or Android.

DevOps Engineer: A DevOps engineer introduces processes, tools, and methodologies to balance needs throughout the software development life cycle, from coding and deployment to maintenance and updates.

Data Engineer: Data engineers work in a variety of settings to build systems that collect, manage, and convert raw data into usable information for data scientists and business analysts to interpret.

Security Engineer: Security engineering is the process of incorporating security controls into an information system so that the controls become an integral part of the system’s operational capabilities.

Description of Growth Roles

Junior Software Engineer: Junior Software Developers are entry-level software developers that assist the development team with all aspects of software design and coding. Their primary role is to learn the codebase, attend design meetings, write basic code, fix bugs, and assist the Development Manager in all design-related tasks.

Senior Software Engineer: Senior software engineers develop software solutions by studying systems flow and work processes, conferring with users, and following the software development lifecycle.

Team Leader: The team manager is the leader of a group of employees, overseeing the daily operations of one section within a company.

Chief Technology Officer: A chief technology officer (CTO) is the executive in charge of an organization’s technological needs as well as its research and development (R&D). Also known as a chief technical officer, this individual examines the short- and long-term needs of an organization and utilizes capital to make investments designed to help the organization reach its objectives.

The moment you get on the growth career track (through a promotion or after working for a period of time), you will require a deeper level of technical knowledge and concise understanding of how to lead people and manage stakeholders.

How To Grow In Your Career Path…

Now, the important question is, how do you move from a niche path to a growth path?

Half of the reason why some people experience career stagnation is that they do not know what to do next. Below are some of the tips that can help anyone move up the ladders in their careers:

  • Take leadership courses
  • Take voluntary leads on projects (have an ownership mindset)
  • Learn about product thinking and evaluation
  • Learn how to work with people (emotional intelligence)
  • Notify your HR about your advancements
  • Apply for more senior roles (do not be scared of the job titles
  • Gather more qualifications and certifications
  • Get mentors and associate more with top managers.

Finally, I became a global authority in software engineering not just because I have great technical knowledge but because I have been able to demonstrate global leadership while also growing in my career journey from an amateur to a lead software engineer. I would encourage anyone reading this to take these career tips seriously.

With this article, it is easier to know what to do to progress to the next stage of your career. If you need help you can write to me here.

Thanks for reading.

]]>
https://techeconomy.ng/8-career-paths-for-software-engineers/feed/ 0