A terminal friendly, afrontend-type backend programmer.

>>> Resume

After DjangoGirls, What Next?

Fri 08 April 2016 | tags: python, django, django-girls, lagos, python nigeria, mailing list, nigeria, workshop, planet, -- (permalink)

These are my thoughts to the "girls" who stormed Lagos for Django. But I'd recommend same to any attendee of a DjangoGirls workshop anywhere.

My recent foray into the social circle of techies has proven to me that growth is often driven by community. Hence, the first advice I'll offer is that you take DjangoGirls back to your city.

The organizer of DjangoGirls Lagos, Aisha Bello herself only attended this event for the first time about a year ago. Isn't it wonderful that she's been able to put up two of such events within this period? Even though not everyone of you might be able to replicate what she has done, I encourage the few ones among you who can, to endeavour to.

Also endeavour to join communities; create them if they don't exist. For starters, the Nigeria Python Users Group has a mailing list where you can get updates on the Python community in Nigeria as well as a Slack community where you can interact with other programmers.

Did you get the contacts of your mentors? If you didn't, head over to the DjangoGirls Lagos page and get their Twitter handles. Bug them! Well, don't annoy them, but do not hesitate to ask them questions when you're stuck. They'd be glad to help, I'm sure.

And really, the learning goes both ways. Post-workshop, one of the participants of the workshop showed me an error she had encountered, and I was glad to learn that by tinkering with it, she found her way out of the maze. But that's not all. From seeing her approach, I picked up new knowledge from it too.

This post is meant to give you a quasi-roadmap, which you don't have to follow religiously but keep close enough to consult when you're lost.

So you learnt Python alongside its arguably most popular web-development framework: Django; and now you can code the next Facebook (Oh, were you told you could only build blogs with that new super power you picked up?) Now, I think the world has more blogging apps than we can keep track of, don't you think so?

So get creative; I assure you you've gotten past the first and most basic hurdle to creating just about any kind of web app: a social network or an e-commerce platform or something else that's interesting. Think of how important this is in an age when everything is moving to the web. You've definitely gotten a head start!

But you'd need to be prepared to learn new stuff as you go. Don't let that put you off, as those things would be equally exciting. And you don't have to know it all before you begin; you can learn on-the-job.

Speaking of what you learnt at the workshop, I'm sure you know you were merely introduced to the technologies, not taught comprehensively. In my opinion, you may need to go over the whole tutorial again; then try to build something different -- like a ToDo application -- from the example shown. Afterwards, for some more comprehensive Python tutorial that is hands-on, try codecademy. It'll be fun, trust me.

There are several tutorials available as MOOCs or video tutorials on web platforms like Youtube, Edx, Udemy, Coursera, and Udacity among others. Who knows, you could build the next e-school for Africa. Pick any of these courses, and try to follow along. You don't have to be in a hurry, although you may find yourself skipping stuff you have already learnt.

I'll advise you pick up some Javascript as you go. I assure you that a mix of skills in these two languages will empower you so well.

I also recommend you put up blog posts as you learn new stuff as if to teach same to others (teaching is a proven way to better learn anything). Medium would be a good place to start, but there are several alternatives. You should also read blogs often. Let me mention that Django Girls has a blog you might be interested in checking out and so does PyLadies. See more interesting Python blogs here

During the workshop, I told my mentees that Python is a suitable language for such a workshop for three reasons:

  1. It's easy to learn.
  2. It's platform-independent.
  3. It has a lot of application domains.

Take caution not to misinterpret reason-1 to mean "easy to master" (See answer to "Is Python easy to master?"), especially because of reason-3: "Python has a lot of application domains". Be it scientific, systems administration, machine learning/artificial intelligence, statistical data analysis, game development or scripting, web scraping, and web development. For those with IoT in mind, especially with Raspberry Pi and or Arduino, Python is readily applicable to those platforms.

So you see there's quite a long way to go, yet with what little knowledge you've gained, you're able to achieve something worthwhile.

Moving on, you can share your work with others, and work collaboratively. You were introduced to version-controlling using Git and Github, which are well worth some learning time. You can learn Git through this course. Don't worry if you don't get it all at once, I struggled through this too at first. This video by Git evangelist, Scott Chacon also deals a good deal on the subject.

How much time it'd take to become quite comfortable with all of this would depend on three things:

  1. Your interest
  2. Your consistency
  3. Your learning aptitude

However, I'd say 6 months should be fine. Within this time you would have learnt enough to kick-start an exciting project. In fact, some people might have gotten halfway with some project in this time.

Good luck in your programming journey!

comments powered by Disqus