Calling all African techies - promote yourself this season!

My passions for the longest time have been the rise of innovation and technology, the future of Africa and my old time friend, media and marketing.

Merging the three ingredients together is an impactful mix and one that I urge everyone to ponder on in regards to their own progression as we end 2017 and head into the new year.

Innovation and technology

You may be a self taught coder or a intricate, detailed driven data scientist or a budding product manager, not yet in the role or company of your dreams. Not to worry, you are  already equipped with more than most since you have the creativity, a growing toolkit of skills and the technology at hand. Take time to perfect your craft even more in this season and get further ahead.

Firstly, you can simply keep up to date with latest happenings and changes across various industries and look for opportunities where you can challenge yourself. However, if you want to speed ahead, you may want to learn a new language, grab some open source data and work with that or improve your front end skills.

Don’t limit yourself to the classroom or the projects and homework that your professors set.  If you are a keen product manager in the making, start thinking about the product as a whole, not just the software. Start researching how to devise roadmaps and understand more about design thinking and how you can apply this to your future work. Try out something new and continually innovate by pushing your own skillset. It’s the one thing in your hands and it will only benefit you in the long run.

Media and marketing

Over the years, through the social media trenches has revealed viral gold. We have seen passion projects turn into full businesses or lead to the dream job of that person. We have seen collaborations occur real time on various social platforms, often culminating in the fruition of useful products and services.

I know for the majority of techies, the very sound of “self promotion” and “marketing” goes against the core ethos of many. Build and they will come is the mantra many are living by. I agree to some extent, but what about if they don’t come naturally? Then this is a prime opportunity to attract them and draw them nearer.

Also the proverbial “they” is not limited to only users either. They that can potentially draw nearer include influencers, people you admire, journalists, companies, investors and many more.

I would spur everyone to share what they are working on. It not only encourages and inspires but it may also benefit many.

What is the best way to go about it? There are the platforms such as Github that is commonplace, but think more creatively than that. Try sharing your entire thought process for something you built recently through a series of Instagram posts or publishing real time updates on Twitter. Write a medium post about the lessons you learnt and add the prototype link in a specific Facebook group or community. Whatever media outlet you use, be sure to share. It will add to your resume and you never know who will spot your awesome talent.

Future of Africa:

Finally the future of Africa depends on us. The more we build, create and share, the more the global industry will get used to seeing us as founders, innovators and changemakers. It’s not a easy task by no means but we must be the change we want to see.

I urge all of you during this seasonal period to reach out to others and use the power that we all have these days to self promote. It can only benefit.

If you have any projects you want to share, feel free to tweet me at @miss_tosin - I would love to see!

Tosin Adeniji is an expert creative marketer, passionate about media tech and impacting young people. She currently works as Senior Product Manager within the Verizon innovation team in New York City and holds a MBA from Cornell Tech. Prior to her Masters, she was in London where she worked within entertainment for companies such as EMI, Universal and LoveLive. Over the years she has worked and consulted for the likes of Spotify, Google and HP.

 

The importance of knowledge sharing and NoSQL Databases with AfricodeX

“So what does that do,” she asked

“You wouldn’t understand,” he said

“Try me” she replied wide-eyed with curiosity.

“ It’s a web service with a backend database” he replied with hostility and a God complexed tone to big for him

“ Whats a database and … “ she questioned still deeply curious with a less confidence and a hint of frustration.

“ See I told you, I need to finish this” he replied colder than ever shutting her down

“Okay” she answered and she walked away disappointed.

My conversations usually went in a similar fashion when I would try to show any curiosity towards learning from someone more versed with technology. I would feel like a pest and it would fill me with this strong sense of shame and this dark idea that maybe I just wasn’t smart enough or even worse some people were just born for technology and maybe I wasn’t. Although I feel there are some people born with amazing minds, these days I am a believer that you can be a master in anything with hard work and persistence.

Not to say I am a master at the moment but I have come a long way from that young girl terrified of anything besides a for loop and an if statement. To that girl bold enough to write a tech blog.

And that was because I was that girl who just couldn’t shake that little voice in her head that needed to know how something worked, what are the building blocks in this thing I would ask myself, what does the internet really do? And I would spend nights watching videos online trying to figure out how it all worked. Sometimes I would just get it but sometimes it will take longer and even though there are still some things I don’t understand, I keep pushing.

Although I feel I got to this place mostly on my own and I know most tech people argue that tech is just something you have to learn by yourself, I really don’t know where I would be without those people who would give me words of encouragement like “if this is where you want to be, go for it after all people Marie Curie had, even more, obstacles and look at what she achieved”

Those little voices gave me the courage to not give up and I hope to be that little voice to people, because I am a strong believer that in the world we live today, tech is an integral part of our everyday lives and it would be a shame if we loose able minds in any generation because of this hostility to new learners.

That was why I was so happy to give a tutorial with Africode (check out their website here), A great community to inspire and knowledge share. They also provide a platform call AfricodeX where they provide African kids with monthly webinar series. Giving a webinar was a great experience even though I was really nervous, as I always feel I have so much more to learn.

Anyway, I taught on NoSQL databases and decided to share the video on here and I hope you get something out of it and if you an expert in your field I hope it makes you want to go out there and teach more

 

I know today’s post has been kind of emotional and different from the usual; let me know what you think of this post. Do you want more post like this? And don’t forget to follow just a tad bit random on Twitter and Instagram.

- Bunmi Aworanti is a software developer with interests in disciplines as varied as theatre, engineering, and design. She blogs bi-monthly at https://justatadbitrandom.com

Why Microsoft's Cloud in Africa is Important

Microsoft just announced that it is bringing the cloud to datacenters in Africa. This is HUGE for Africans, but I don't think people realize it. In this short blog, I will try to explain why this is a big deal. Before I start, for those of you that still do not know what the cloud is, please check out my blog here.

Why is it important that Microsoft is expanding it’s datacenter regions to include Africa? Latency. Latency is the delay before a transfer of data begins following an instruction for its transfer. Currently, most developers in Africa host their website in datacenters located in the UK. Imagine trying to access a website that streams movies (think Netflix) hosted in UK datacenters from Africa. It can take a few seconds to load up the website and then a few more minutes to load up the entire movie you want to watch on the website. With Microsoft bringing datacenters to Africa, the website can be hosted in Africa and hence, you might not need to wait as long for your website to load up since the datacenter is not closer to you

Secondly, with datacenters in Africa, companies around the world can now begin to think about targeting Africans as customers. Companies, like Netflix for instance, might now think of targeting Africans because they can now more easily deploy their web application to the African datacenters. Netflix might even then think of bringing operations to Africa, which we can argue, will create jobs for Africans. Obviously, this inevitably calls for competition with African small businesses (Companies like IrokoTV and DSTV come to mind)  that might not have the same resources that a company like Netflix does.   

Moreover, as an African in Tech, one of the things I have noticed is that people generally do not think of Africa and the issues Africans face when they are creating products. However, as more companies start targeting Africa because of reduced latency and assuming they see a market in Africa, they will begin to actively take African issues into consideration as they build products. Companies will start coding for Africa. This is HUGE. This CAN put Africa on the Map.

As Africans, we can also more easily start creating solutions to our own problems using technology. The Microsoft cloud is more than just datacenters or virtual machines. Check out my introduction to Microsoft's Cloud here. We can now readily access recourses that the Microsoft's cloud offers like -  Internet of Things (IOT) and Machine Learning - to build powerful products. Think of leveraging IOT to power the oil and gas industry in Nigeria. We can now easily monitor all our machinery and get useful insights to make products better. Think of farmers using IOT and Machine learning to produce more and better crops. #Winning

There are more advantages of having datacenters in Africa. Companies and the Government that need more data isolation especially for regulation reasons ( some companies cannot allow data to reside in other countries) can leverage the Microsoft Cloud. The Microsoft Cloud can also provide job opportunities for Africans because people need to work at these datacenters to secure an maintain them.  Lastly, the Microsoft's brand in Africa becomes more respected. Africans tie the Microsoft brand name mostly to only Microsoft word or personal computers. Now, people can begin to see Microsoft as a Tech giant that it truly is.

The Dream Engineer

So the most flattering thing happened to me last week. Someone tweeted at me to ask for advice. For a sec, I was shook. Thought they had the wrong dude. Anyways, I got the question and it is interesting and common enough that I thought it was worth blogging about. In summary, the generalized format of the question is:

I have an idea/dream/need that I feel can be satisfied by building a software product but I don’t have a Computer Science/Software Engineering background. Is it worth my while to pursue an undergraduate education in these fields to realize my dream?

This is not an uncommon question at all and in fact, for many of us is a big part of the reason we went into the industry. However, in this case, and in most cases where this question is asked of me these days, I feel this is not necessarily the right question.

We talk a lot about how technology can/will/is changing the world and while this is not false, it is really an oversimplification of the facts. Actually, people’s applications of technology to solve problems are changing the world. The technology is simply a tool. An extremely powerful tool, but a tool nonetheless. As such, whenever I encounter a problem that I feel is important enough to take on and can be solved with the aid of technology, it is always important to remember to focus on the problem, and more importantly, the solution and not the technology. In fact, in general, I would approach this by simply assuming the technology exists and worrying about other more import aspects of the overall problem such as:

  • What do I need to do to achieve my dream?
  • What is the problem I am trying to solve and who actually has this problem and needs this solution?
  • How has this problem been handled in the past and what are the limitations of those existing solutions?
  • Is this a local or a global problem? If local, why is it a problem here and not elsewhere? Are there implementations of solutions to this that have worked in a different context(location, industry, etc) that I might be able to leverage/replicate?
  • What knowledge and technology already exist in this space that can be leveraged to solve my problem?
  • etc…

Finding answers to these questions are much more likely to bring you clarity on what you need to do to achieve your goal than the decision of whether or not to pursue an engineering degree. There are many, varied and nuanced reasons for this approach but in the interest of time, I’ll just talk about 3.

  1. You might not need to build something new: For most problems we encounter that we think we can solve with technology, the technology to bring that solution to life usually already exists. All that is needed, as stated earlier, is for someone to creatively apply those existing technologies in a specific combination in order to tackle the problem before them. As a result, studying software engineering is often tangential to the actual problem being solved as the problem itself doesn’t require the engineering of new software but simply the combination of multiple services and pieces of software to create the solution we need. It is probably a much more worthwhile endeavor to first seek out existing off-the-shelf software that achieves each of the various parts (or maybe even all the parts) of what you are trying to do and try and use that to tackle your problem rather than attempting to reinvent the wheel.
  2. CS degrees tend to teach you to build software and not products: The difference here is very important. Software is just the instructions that a computer executes. In my undergraduate education I was taught the basic principles of how those instructions work: What they are, how they are processed and how they can/should be put together to get the computer to do what I want. This is a completely different skillset from identifying problems and creating holistic solutions. While it is an essential part of the process of creating solutions, it is by no means the biggest part. There is so much more to building a software-based product/business than that and unless you consciously and actively seek those aspects out, your CS undergraduate degree will not provide them to you. This is like the difference between knowing how to design an engine and building & selling a car. The engine is a critical piece of the car but if all you have is an engine, you’re not driving anywhere. Also, if you know the engine you want in your car, you can always buy it (see previous point) or partner with someone who has engine-building expertise.
  3. Ride your prevailing tailwinds: When you take on anything big and worthwhile such as this idea you have to change the world, you are going to run into so many roadblocks and challenges along the way. Many of these you cannot yet even conceive of. As such, you want to give yourself as much of a fighting chance as possible and one way you do this is by approaching the problem first from your place of strength. What unique skill, experience or expertise do you have that makes you suited to take on this challenge? Lean into that. More importantly,Invariably, as yougo through the process of fleshing out and implementing your idea, you will find that you will necessarily pick up the knowledge, skills and relationships required to move forward. And if it turns out that you absolutely need an engineering degree to take on the problem and that becomes a complete blocker to your progress (extremely unlikely) you will know and at that point, the question will answer itself.

So in summary, do you need an engineering degree to implement your idea? If you have to ask, probably not (yet).

-Dunni

Source :  http://www.dunniis.me/the-dream-engineer/

Our Technology Stack for AfricodeX Live Tutorials

AfricodeX is a platform for members of the Africode network to share cool technology, ideas, projects, and new knowledge with other members of the Africode community, as well as the general public.

Once a month, we host an AfricodeX live tutorial centered around a different technology. During the tutorial, we introduce one or more new ideas, projects and discussions connected to the topic of tech in Africa. The audience can also ask any questions and implement the lesson on their own computer. See the events calendar for a list of upcoming live tutorials.

Although AfricodeX tutorials are open to anyone and everyone, regardless of technical background and expertise, we still recommend you install a few tools/applications that will enable you complete the tutorials with ease. Here, we discuss those tools (our stack) and how to install them on your computer prior to attending a tutorial. 

Atom Text Editor

  Image Credit:  Linux.com

Image Credit: Linux.com

Atom is a free text editor, created by Github, that has quickly become the go to text editor for software developers. It has a large user base and therefore has many useful features and support for the platform such as documentation, blogs, themes, packages, etc.

During AfricodeX tutorials we'll be using Atom write code and to modify any source files that the tutorial host shares. Although, you will be able to use any other text editor, we suggest that you download and install Atom if you don't already have a reliable text editor on your computer.

Installing Atom:

  1. Go to https://atom.io/ and click on the download button.
  2. Watch one of these short installation videos and follow the instructions, depending on which type of machine you have:

Read this post, for tips on how to make the most of the your Atom installation and development environment.

Git and Github

  Image Credit:  Vcoprogramming

Image Credit: Vcoprogramming

Git is a version control system used for software development projects. It enables multiple people contribute to the code that is ultimately released as the software package. In git terminology, a repository is the home for your project files and allows multiple people to contribute. With git, you can create, clone or download a repository. AfricodeX tutorial hosts typically create public git repositories that the audience can download or clone in order to follow the tutorial. 

Github is the web-based version of git that allows users to create an account, create a git repository or become contributors to git repositories owned by other Github user. Github accounts can either be private or public. Public project accounts are free, however, to make your projects private, you either have to have a paid private account or be signed on to the free GitHub Student Developer pack. If you are currently a student, we suggest that you sign up for the free student pack, which offers many additional perks like discounted access to Amazon Web Services (AWS).

Sign up for a public Github Account here or a Student Developer account here.

Installing Git: 

To install and use git you will also have to use the terminal (command line) on your computer. The terminal is a simple text interface to your computer underlying Operating System (OS). The installation process is varies depending on whether you are running on a Mac, Windows or Linux OS.

Follow the instructions here for a detailed explanation of how to install git, and be sure to scroll to the section that is specific to your OS.

 

Github Desktop [optional]

Screen Shot 2017-02-14 at 2.41.49 AM.png

GitHub desktop is an application that provides a simple and user friendly way to manage the files in your git projects. The core benefit is that with GitHub desktop, you no longer have to manage git project files from the command line. However, Github desktop is only available for installation on Windows and Mac OS systems.

Follow the instructions below to install depending on your machine:

Mac - instructions here

Windows - instructions here

Once installed, you can sign in with the GitHub account credentials you created previously. You will then be able to see and manage all your git projects at a glance.

If you have any difficulty following the installation instructions, please comment below or write us at info.africode@gmail.com