Lesedi Ramahobo     About     Tags     Apps     Feed

Learning Object-oriented Programming and Java

#Engineering

I'm not a big fan of Java, I find it too verbose. However, it did give me a break-through in learning some core Object-oriented principles when I was in college.

It is the most taught and practiced programming language in schools and the workplace. The second is Python followed by JavaScript (my bae).

If you have a firm understanding of Object-oriented Programming and after a few years you feel comfortable with its concepts, learning other OOP languages should be a piece of cake. For instance, I have never worked with Apple's Objective-C but the learning curve wasn't too steep thanks to my previous experience with OOP.

So what is an object? The definition is the same in every OOP language. An object simply holds the information of your app and it can receive messages from other objects. The only difference is how each language has chosen to implement the syntax of working with objects

Learning OOP is good entry point towards a good career as a developer. Its not the only programming paradigm around. Another popular way of coding is Functional programming which I use on JavaScript apps.

So if you want to be an Android developer, the best way to start is by taking lessons on OPP and Java. The Android Training website assumes you already have some basic to intermediate knowledge in OOP and the Java API.

I don't have a troll-cave of Java resources but I would say old sensei-google is your most valued player. There is also a cool recent app called Javvy. Enjoy!

If you liked this post, you can share it with your followers or follow me on Twitter!

Read more

Programmers are like Software

#Engineering

If you are a programmer you have to treat yourself as you do your software. You need to constantly patch yourself with new updates of added skills to be able to accept more client requests.

Being super productive on a single skill is never bad but knowing a single language or proficient in a single tool will couple you to a single role. The result is you will catch less fish this way. (Its just a metaphor, I don't regard my clients as fish by the way :)

Some local recruiters in Botswana might frown upon a programmer who can juggle many things at once. They will joke and say: Jack of all trades, master of none. In the rest of the world, these programmers are known as Full-stack developers.

One day a client/employer will say '..great, how about mobile development?' and you will have to say NO given your only background resonates from desktop apps.

However, There’s no shame in saying “I’m not sure how to do that,” or “Let me research that a bit before I say yes.”

If you liked this post, you can share it with your followers or follow me on Twitter!

Read more

My Top Software Companies

#Engineering #Programming

If I had to pick, I would rate Facebook and Netflix as the top tech companies I want to work for someday.

code.facebook.com

Why Facebook? It's not simply because of its popularity and success but of another reason. For engineers, Its hard to not notice the many cool stuff coming out of Facebook these days. Since open source has become the norm in the age of the internet, Facebook has been one of the top contributors in the past 4 years. Instead of keeping it to themselves and being light years ahead of the competition, Facebook Open Source has given engineers really cool stuff to play with. Most noted are:

  • Reactjs - A modern JavaScript framework used to build client side applications.
  • React-Native - the sister to Reactjs, used to build iOS (and soon Android) native apps using JavaScript.
  • and recently, Relay - and ambitious project to replace RESTful APIs with Graph technology called GraphQL.

If you are a JavaScript engineer like myself, you should be freaking out right now.

techblog.netflix.com

And why Netflix? If I could go back in time and tell my 12-year old self that in the future he would be working in a movie tech company, he would absolutely freak out. Who doesn't love movies right! But Netflix behind the scenes is driven by interesting tech. They recently replaced their old Java-based site with a JavaScript stack running Node.js and React. +1

I don't even get Netflix in my country, so an endorsement coming from someone like me must weigh a lot :)

www.paypal-engineering.com

PayPal is another major online company embracing the fast paced world of JavaScript. They fully use Node.js on the backend to power their payment API used by thousands of websites everyday.

References

If you liked this post, you can share it with your followers or follow me on Twitter!

Read more

Find the greatest number - JavaScript style

#Javascript #Programming

For this bin exercise I'll show how you can find the largest number in an array using JavaScript's reduce function.

JS Bin on jsbin.com

This example runs well on natural numbers (step 1), but it will break if our array is made up negative numbers (step 2). It will simply print out zero is the highest number even though zero is not part of our input array.

To fix this (step 3), we pass in '-Infinity' to give our reduce function the lowest possible number to start with.

If you liked this post, you can share it with your followers or follow me on Twitter!