Your name (blog/twitter) and what do you do
I am currently a part-time Software Engineering student at NIIT, Lagos. I am also a co-founder at a startup called Krohx. We are in the final stages of deploying a job/hiring web platform that targets seekers of short-term jobs while also easing the process of getting service delivery for the hirers.
With my involvements with the burgeoning Python community in Nigeria, I recently got elected as secretary for the organization.
How did you learn about the training? (++ My Experience) I fail to recall
exactly how I learnt about the community now, but I remember joining the mailing list and going on from there. This was in fact my first time of joining a mailing list. Upon learning about the #dgplug IRC channel, I promptly enlisted the channel to my IRC client's favourites.
I was so enthusiastic about this, as I had no prior experience of an online tutoring session. The feeling was truly exhilarating.
Having come from a Java background, I was really interested in learning the Python programming language as soon as I caught on waves with. At the time, I had volunteered to write some scripts to help automate some of the manual processing of NIIT's annual scholarship exam records/documents at my school for that year. I accomplished that using Java, but in hind-sight, I feel I could have saved a lot of time if I had utilised Python in the situation.
This was a blog post I wrote as part of tasks given to us. I have failed to maintain that blog though. I now write here
How this training changed (if at all) your life? Python is surely the more
beginner-friendly language and it's making its rounds these days. Every programmer should have it in their arsenal. One of the things I love most about the language is it versatility in application.
No doubt, I have continued to improve with Python everyday, but more so in my programming journey. I have become more and more familiar with various mainstream concepts and tools. The idea of contributing to open-source can be overwhelming at first, but following the path laid out in this course, one would be surprised to learn how easy it could be.
I have volunteered to mentor attendees at a Django Girls workshop, which held in Lagos, Nigeria. I picked-up Django in a week prior to the event, because frankly, there wasn't much of a learning curve to it since I already used Flask, a different Python-based web development framework.
Flask was a framework I first got introduced to at the summer training, but I did not revisit it until months later. As a backend web-developer, I now do most of my work in Flask.
In my experience, there is no better or faster way to grow, than to collaborate; and that is what open source preaches. Note that growth here is not only about the project, but the growth applies to each contributing individual. Heck, even if you do not contribute, you will grow by reading good open-source code -- this I can attest to. And joining the dgplug community has surely made open-source a more approachable endeavour. # #
Have you contributed to any upstream project(s)? If yes, then details.
While (and a bit disappointingly) I have yet to contribute to an upstream project, I do have quite a number of them lined up. Most probably, the first would be to the official Slack Client written in Python. Having recently developed a bot, which was used in conducting the election of committee members of the Python Users Nigeria Group, I do have a number of changes I plan to push to the aforementioned API library.
Some other projects I'd like to contribute to include:
Any tips for the next batch of participants. (++Final words)
I am not sure I am in the best position to answer this. However, I would advise that you endeavour to remain focused through this; simply keep at it. Even if your experience at the summer camp doesn't go as you expect, you should definitely not count it loss. Instead, make it a reason to put in more effort and grow as you go.
Depending on your personal activity schedule, you might miss one/two classes. But that shouldn't deter you from continuing the program. The logs are available for covering such lapses. Also, you could consult the summer training docs to get a hang of the agenda, so you can anticipate classes beforehand and be better prepared.
While I participated in the training, there were times when there was no power supply, and I had to use my phone. Thankfully, there are IRC clients for mobile phones (I recommend AndChat).
The class sessions have a few rules, and the community would love it if you played by them. Not to worry, they are no stringent rules; just there to keep everyone behaving. For instance, the use of SMS-speak is discouraged.
You should keep notes beside you when attending the sessions. Writing is a good way to memorize things in my opinion. Also, although most clients would have this by default, you should ensure your IRC client is configured to log conversations. Going back over what you've learnt would do you great good as you mightn't be able to keep up with the speed of the class at times.
If you have some time before program begins, two things I'd advise you become familiar with are: - Your OS (Linux, preferably Fedora or Ubuntu) - An IRC client (I suggest HexChat)
I learned quite a lot from the summer training. I was really obsessed with attending whenever I could. Although coming from a different country, the timing wasn't favourable, often meeting me in the middle of the day's activities -- school especially. I made efforts to invite a few friends to join on -- one or two did, but the determination to keep on was obviously lacking, which reminds me of a statement I heard a while back that reads something like this:
"If 40 people begin a course like this together, only about 5 get to finish."
That in my experience is very often the case. Be aware that a lot of people are on this bandwagon. The question to ask yourself, is "Do I want to be among the surviving commutants at the end of this journey?" Unless you plan to experiment with this experience, if your answer is yes, then I congratulate you as you begin the journey that could potentially kick-start your software engineering career/journey.
Know this, free and open source software is for the good of all. The open source community is wide and continues to grow. It welcomes all and sundry, but it poses a few hurdles to sieve the wheat from the chaff. In the end, the gains are worth it.