Posts

Remote, hybrid and onsite jobs for software engineers

https://remote.co/ https://remoteok.com/ https://www.safaricom.co.ke/careers https://www.workingnomads.com/jobs https://www.virtualvocations.com/ https://jobspresso.co/ https://pangian.com/ https://www.outsourcely.com/ https://remotive.com/ https://jsremotely.com/ https://tryremotely.com/ https:/justremote.co/ https://wellfound.com/

Useful learning resources

Am sharing  free and useful resources to learn software engineering and Machine learning: UDEMY To get free paid courses from Udemy that you will gain certificate of completion at end, below is a list of sites that daily update those courses 100% FREE  COUPON CODE. https://www.real.discount/udemy-coupon-code/ 999coursesale https://www.onlinecourses.ooo/ https://dailycoursereviews.com/ My favourite is real.discount site for personal reasons The advantage with this courses is that they are well structured unlike YouTube videos and you don't have to jump from one video to another or guessing next topic to learn.They are systematically arranged.You also get access to life time course update and learning at your own pace. SYSTEM DESIGN Being a software engineer it is obvious that you need to be able to design and develop large scale systems A well designed system ensures that its application meets its requirements: It is scalable, maintainable and performs efficiently resources: system-

Django Signals and Receivers

 In my recent application with Django, I have happened to work with Django signals and receivers. When developing software applications using object oriented programming architecture it is always a goal to develop loosely coupled, Maintainable, Testable and Extensible software Have you ever asked yourself the best and easy way to archive loosely coupling in Django Python. Django signals is an optimal way to archive this. Django includes a "signal dispatcher" which helps decoupled application get notified when action occur elsewhere in framework. Signals allows certain sender to notify a set of receivers that action has taken place. In this case am using sample codes of my Django application. I used Django signals to continuously update another data model and perform some maths behind the scenes To get Started with signals Create signals.py file . from django.db import models from django.db.models.signals import post_save from django.dispatch import receiver from .models impor

Tips on accelerating your software engineering career

Being a software engineer is a progress, I would love to share tips on how to accelerate your career towards quick mature. 1)learn at least four programming languages that are not closely related and master them, example JavaScript, Python, Java and C++.This opens your mind towards learning future programming languages with ease and solving data structures and algorithm problems with ease. 2)Be comprehensively familiar with basics of computer science like : Object Oriented Programming, Developing API's using various frameworks, Software Design patterns and Multithreading 3)Master data structures and algorithms. Make sure you have solid understanding of every detail in data structures and various algorithms. Know how to implement them from scratch. 4)Start solving question problems on data structures and algorithms from various platforms. The most recommended one is 'https://leetcode.com/' then 'https://hackerrank.com'.Make sure you always optimize your problems effe

php magic methods - oop

I will love to discuss into details about an interesting topic of PHP magic methods: ************************************************************************ ----------------------     PHP MAGIC METHODS----------------------------------------------------- *************************************************************************** -It is a special method in a class. -It overrides the default action when the object performs the action. -The names of magic method starts with a double underscore(__) Some of examples are constructor __construct() and destructor __destruct() which are invoked when an object is created or deleted respectively. Other examples : __call()                        triggered when invoking an inaccessible instance method. __callStatic               triggered when invoking an inaccessible  static method. __get()                         Invoked when reading a value from a non existing or non accessible property __set()                         Invoked when writing a val

CURRYING

  Currying   is an advanced technique of working with functions. It’s used not only in JavaScript, but in other languages as well. Currying is a transformation of functions that translates a function from callable as  f(a, b, c)  into callable as  f(a)(b)(c) . Currying doesn’t call a function. It just transforms it. Let’s see an example first, to better understand what we’re talking about, and then practical applications. We’ll create a helper function  curry(f)  that performs currying for a two-argument  f . In other words,  curry(f)  for two-argument  f(a, b)  translates it into a function that runs as  f(a)(b) : func function curry ( f ) { // curry(f) does the currying transform return function ( a ) { return function ( b ) { return f ( a , b ) ; } ; } ; } tion curry ( f ) { // curry(f) does the currying transform return function ( a ) { return function ( b ) { return f ( a , b ) ; } ; } ; } // usage function sum ( a