I've been coding professionally since 2012, with 7 years of experience.
Started out developing sites with Django and been doing it ever since. I handle both front and backend development and that includes the site's server.
This is Django, this is Python, this is Linux; that's how I run things.
It works best when you get a clean linux server and install & setup everything. This is how I setup every site I design.
Some people do ask: Do you use Python 2 or 3? truth is, it doesn't matter. The syntax is mainly the same to the point I can only say apart from the neat features only supported in python 3 the one main difference is how to use the print
in the two version. that's likely the main porting issue you'll get porting your code to 3.x. But still at this point there's no need to use Python 2, practically all new packages support 3 by default and some even have only neat and new features available in Python 3.
I'm going where few web developers go...
Diversity is our stength: something you'll hear organisations and some countries say, for me it means taking advantage of the ecosystem that knowing Python really well has opened up, an opportunity I plan to explore fully starting with Data Science also known as Machine Learning.
As for javascript, it lead me to discover NodeJS ( a web framework in Javascript, the backend is in C ) with a neat package Electron which allows you to design native cross-platform applications using javascript, css and html.
Position: Web Developer
Designing Internal Web Based Software that handles the day to day business info of the company and generates, reports, charts, invoices, and other automated features.
This helps increase speed and efficiency and reduce errors when they need to provide information in a timely manner.
Included generated invoice as pdf's, user login, segmented data by organisation so a new user creates a new organisation and users inside the organisation with segmented rights taken directly from django's user permission models to determine the user's rights.
Start Date: Aug. 19, 2019
End Date: Oct. 21, 2019
Position: Web Developer
Designed the site with an emphasis on having as close to the true experience of how it will feel like staying at the Chalets.
The booking info is integrated with the pre-existing booking system from popular services offering this so the calendar shows booked dates.
There's a variety of differently styled pages with varying content that each feels new and still easy to find through the navigation content.
The style is simple layout only using what's needed to make the content stand out and blend into surrounding content.
Start Date: May 2, 2019
End Date: To Date
Position: Web Developer
At first, this started by reimplementing the old site in Wordpress with Django, but during development, some additional improvements were added along to make it as easy on the eye on desktop and on mobile.
Since it's launch I've been adding some features to existing pages including new ones as new ideas come along and new ways to make the user learn the information shared on the site but still guided by their interest find sufficient information to make an informed decision.
Start Date: Oct. 1, 2018
End Date: Aug. 1, 2019
Position: Developer
Using Quvidi a system that processes info from the camera and returns relevant information like the number of people, age, sex, concentrating on the screen, mood, with/without glasses etc. Built a python API to read from it’s system output.
Linked the output to a Django site that based on this feedback would choose which ad to show.
Start Date: July 10, 2017
End Date: Sept. 22, 2017
Position: Web Developer
Create job listing site
Implement Oath login for Google, Twitter, Facebook and LinkedIn
All post requests used ajax with csrf token making it hard for bots to make fake post requests.
Update the page content with ajax requests returning html and then bind actions with jQuery.
Start Date: April 19, 2017
End Date: Oct. 4, 2017
Position: Web Developer
Developed internal movie & event ticketing platform using reportlab including designing the layout, js and seat selection
Deployed mobile version of the site that serves a different template for mobile devices
Implemented javascript based caching of results for booking movie tickets that would give saved results for a selection and at the same time query for new data allowing for a tailor made offline first experience. It would thereafter update the dict giving a fast user experience
After the server at time would become unresponsive and needed to be restarted, implemented a cronjob that would listen and check if gunicorn was running and the site itself. If so logs "no action taken" otherwise restarts gunicorn and note of the two which were also down. This made life easier and better way to track the source of the problem.
Setup Combo offers like couple tickets.
Where needed updated the code, and django itself from 1.5 to 1.8 compliant
Integrate with payment gateway JamboPay and Bardo
Trained Intern on how to work with Django in deployment
Start Date: March 13, 2015
End Date: March 13, 2017
Position: Junior Developer
With little experience using Django on actual projects and more so using CSS and JS I worked on a few simpler projects getting used to developing, styling a site, adding features with jQuery and deploying it to the server.
With time I got comfortable dealing with most of the development cycle including debugging and fixing issues.
Start Date: Dec. 5, 2012
End Date: Dec. 5, 2014
Digital marketing is the marketing of products or services using digital technologies, mainly on the Internet, but also including mobile phones, display advertising, and any other digital medium.
Time Frame: 3 months, 3 weeks
Rating:
GIMP is a free and open-source raster graphics editor used for image retouching and editing, free-form drawing, converting between different image formats, and more specialized tasks.
Time Frame: 4 months, 4 weeks
Rating:
Blender is a free and open-source 3D computer graphics software toolset used for creating animated films, visual effects, art, 3D printed models, interactive 3D applications and video games.
Time Frame: 4 months, 4 weeks
Rating:
Android software development is the process by which new applications are created for devices running the Android operating system.
Time Frame: 6 months, 2 weeks
Rating:
Video Editors are generally responsible for editing and assembling recorded raw material into a suitable, finished product ready for broadcasting. The material may include camera footage, dialogue, sound effects, graphics and special effects.
Time Frame: 9 months, 1 week
Rating:
PyTorch is an open-source machine learning library for Python, based on Torch, used for applications such as natural language processing. PyTorch provides two high-level features: Tensor computation (like NumPy) with strong GPU acceleration.
Time Frame: 1 year, 1 month
Rating:
Electron is a framework for creating native applications with web technologies like JavaScript, HTML, and CSS. It takes care of the hard parts so you can focus on the core of your application.
Time Frame: 1 year, 5 months
Rating:
Node.js is an open-source, cross-platform JavaScript run-time environment that executes JavaScript code outside of a browser.
Time Frame: 1 year, 6 months
Rating:
In computing, React (also known as React.js or ReactJS) is a JavaScript library for building user interfaces. It is maintained by Facebook and a community of individual developers and companies. React can be used as a base in the development of single-page or mobile applications.
Time Frame: 1 year, 8 months
Rating:
Keras is a high-level neural networks API, written in Python and capable of running on top of TensorFlow, CNTK, or Theano. It was developed with a focus on enabling fast experimentation.
Time Frame: 1 year, 8 months
Rating:
TensorFlow is a Python library for fast numerical computing created and released by Google. It is a foundation library that can be used to create Deep Learning models directly or by using wrapper libraries that simplify the process built on top of TensorFlow.
Time Frame: 1 year, 8 months
Rating:
Machine Learning in Python. Simple and efficient tools for data mining and data analysis; Accessible to everybody, and reusable in various contexts
Time Frame: 1 year, 8 months
Rating:
is an open-source JavaScript framework for building user interfaces and single-page applications.
Time Frame: 1 year, 9 months
Rating:
pandas is a software library written for the Python programming language for data manipulation and analysis. In particular, it offers data structures and operations for manipulating numerical tables and time series.
Time Frame: 1 year, 9 months
Rating:
jQuery is a concise and fast JavaScript library that can be used to simplify event handling, HTML document traversing, Ajax interactions and animation for speedy website development. jQuery simplifies the HTML's client-side scripting, thus simplifying Web 2.0 applications development.
Time Frame: 6 years, 7 months
Rating:
The only programming language that runs on your browser, where CSS makes it pretty, JS makes it alive.
Time Frame: 7 years, 4 months
Rating:
Python Web Framework: The Web framework for perfectionists with deadlines
Time Frame: 7 years, 6 months
Rating:
This is make-up for websites, without it, it would look like you when you wake up in the morning.
Time Frame: 7 years, 7 months
Rating:
Python is an interpreted, high-level, general-purpose programming language. Created by Guido van Rossum and first released in 1991, Python has a design philosophy that emphasizes code readability, notably using significant whitespace. It provides constructs that enable clear programming on both small and large scales.
Time Frame: 7 years, 10 months
Rating:
This is the the xml of websites; the backbone of the web-pages that pulls CSS, JS and the content of the page and present it to you, the curious wanderer, wondering if this is another click-bait site. Though HTML5 did bring new cards to the table, the poker game still has the same rules.
Time Frame: 8 years
Rating:
School: Google
Digital marketing is the marketing of products or services using digital technologies, mainly on the Internet, but also including mobile phones, display advertising, and any other digital medium.
Start Date: July 29, 2019
End Date: Aug. 16, 2019
School: Udemy
A Beginner Course in Data Science, Machine Learning, Regression, Classification and Clustering (THEORY ONLY)
Start Date: July 27, 2019
End Date: July 27, 2019
School: PluralSight
Making use of keyboard inputs is fundamental to providing an excellent user experience. You’ll learn how to use Android with keyboard inputs, keyboard method actions, autocomplete suggestions, soft keyboards, and support hardware keyboards.
Start Date: July 21, 2019
End Date: July 21, 2019
School: PluralSight
Learn how to create layouts with Android Studio’s Layout Editor and ConstraintLayout. This course will teach the basics of using ConstraintLayout, such as Constraints, Guidelines, Barriers, Bias, and Chains.
Start Date: July 21, 2019
End Date: July 21, 2019
School: PluralSight
This course introduces Android developers to Augmented Reality concepts and applications.
Start Date: July 21, 2019
End Date: July 21, 2019
School: PluralSight
This course introduces the Navigation Architecture Component, a new component from the Jetpack library family, that facilitates navigation within the different screens of an Android application.
Start Date: July 17, 2019
End Date: July 17, 2019
School: PluralSight
This course focuses on navigation with Android. By the end of the course you’ll understand how to implement effective navigation using activities, fragments, alert dialogs, bottom navigation views, navigation drawers, and tabs.
Start Date: July 15, 2019
End Date: July 16, 2019
School: PluralSight
This course teaches you how to investigate, evaluate, and improve common performance hazards related to memory, UI rendering, and more using the latest analysis and profiling tools.
Start Date: July 3, 2019
End Date: July 3, 2019
School: PluralSight
Android allows apps to extend beyond reach of their traditional boundaries. In this course, you'll learn how to capitalize on these capabilities through the use of Content Providers, notifications, and PendingIntents.
Start Date: July 1, 2019
End Date: July 1, 2019
School: PluralSight
This course will teach you to utilize the ARCH components libraries and master building Android apps.
Start Date: June 30, 2019
End Date: June 30, 2019
School: PluralSight
This course will teach you how to use Firebase within your app so that you can build great full-stack apps quickly and follow best practices.
Start Date: June 29, 2019
End Date: June 29, 2019
School: PluralSight
Dive into the language set to replace Java while building Android applications. This course will give you a foundation of both Kotlin and Android skills to allow you to build apps faster and cleaner than ever before.
Start Date: June 28, 2019
End Date: June 28, 2019
School: PluralSight
This course will teach you how to make your Android app connect to a web service and retrieve JSON data from the web, show it with a RecyclerView and persist data with SharedPreferences. You'll also create menus dynamically and use data binding.
Start Date: June 24, 2019
End Date: June 26, 2019
School: PluralSight
Learn the skills necessary to create Android apps that provide the kind of rich, high-quality, and engaging experience users expect.
Start Date: June 17, 2019
End Date: June 23, 2019
School: PluralSight
This course covers the skills necessary to work efficiently as an Android app developer, and assure quality software through testing by learning to effectively utilize the single most important tool for Android developers, Android Studio.
Start Date: June 7, 2019
End Date: June 15, 2019
School: PluralSight
Start learning the skills necessary to become a successful Android developer by developing your understanding of Android application development and the creation of interactive user experiences with Android Activities.
Start Date: May 8, 2019
End Date: May 26, 2019
School: PluralSight
Learn everything you need to know to produce production quality web applications and web page features with this foundational course on JavaScript.
Start Date: Feb. 5, 2019
End Date: Feb. 7, 2019
School: PluralSight
JavaScript is the popular programming language which powers web pages and web applications. If you are new to programming or just new to the language, this course will get you started coding in JavaScript.
Start Date: Dec. 12, 2018
End Date: Dec. 14, 2018
School: PluralSight
The course is about what HTML, CSS, and JavaScript are and how they interact to bring content to your browser.
Start Date: Dec. 10, 2018
End Date: Dec. 12, 2018
School: Udacity
Covers the basics of web development.
Start Date: May 7, 2018
End Date: Aug. 16, 2018
School: Udacity
Process of working on releasing a viable software product cycle.
Start Date: Feb. 12, 2018
End Date: March 21, 2018
School: SitePoint
Using Microsoft Bot framework Azure to design automated tasks including a simple chatbot.
Start Date: Feb. 3, 2018
End Date: Feb. 17, 2018
School: Udacity
This covers some core concepts of Machine Learning and how to use some open source packages to make predicting models.
Other Online Machine Learning related Courses taken thereafter
● Udacity: Statistics
● MIT 6.S094 OpenCourseWare: Deep Learning for Self Driving Cars
● Udacity: Introduction to Computer Vision
● MIT 6.858 OpenCourseware: Computer Systems Security
Start Date: Nov. 9, 2017
End Date: Feb. 14, 2018
School: Udacity
You get to build a mock search engine getting a good idea on how search engines are built, how to build a site including styling the site's pages.
Start Date: Jan. 16, 2012
End Date: April 6, 2012
School: Kenyatta University
Not Completed. Reasons: (discontinued) I found it lacking.
The course was intended to equip the student with the skills for becoming an I.T. specialist.
Start Date: July 12, 2011
End Date: July 12, 2012