A Few Notes From a Year of Freelancing

Recently I wrote an article about how I prepared to join the world of freelancing. Now that I’m over a year into freelancing and loving life, I thought it would be beneficial to share with you what I’ve learned so far. 

1. Set Your Rate

Time is money, and as a freelancer, you have to be very specific as to what exactly an hour of your time is worth. This varies depending on the type of software you write and the amount of experience you have. I suggest that you research your direct competitors in the area and find out how much they charge. Initially, you probably want to charge a bit less until you have a considerable amount of projects under your belt and numerous references from happy customers. 

Road to Great Code, Challenge #1 — Shuffle Playlist

Hone your craft with this Java coding challenge!

No matter what your profession is, it’s important to hone your craft. Uncle Bob (Rob Martin) in his book titled The Clean Coder suggests that us programmers should regularly practice writing code and solve common problems. Once we get good at solving them, he goes as far as recommending that we program to the rhythm of the music. Not to mention that we shouldn’t only stick to one programming language that we’ve mastered. We should constantly expose ourselves to different languages to get a better understanding of the programming universe.

You may also like: Clean Code Principles

Vue Tutorial 7 – Components

Granny is delighted! Your latest update of her web app really impressed her. She can now comfortably manage guests for her upcoming birthday party, knowing that she will not accidentally submit invalid data to the table, thanks to our frontend validation. However, she also mentioned something about reviewing your code and asked about the reusability of components within the app. This sent a chill down your spine. It’s time to learn about reusable Vue Components…

Vue Components

The more you program in Vue, the more thankful you will be for the Vue component system. Components are not very useful in small applications that we covered in this series of tutorials up to now. It is really important to understand how they work and what they are as they become very useful when building large applications, which you will inevitably face in your programming career.

Vue Tutorial 8 — Component Events

In our pursuit of being able to handle large, scalable, maintainable web apps we became familiar with and learned about Vue Components. We learned how to:

  • Define a component.
  • Instantiate a component.
  • Pass data to a component using props.

In this tutorial, we’ll learn how to trigger events in the app based on some user action registered by our “child” component. 

Vue Tutorial 6 – Form Validation

In the previous article, we have implemented a quite impressive Guest Management App with Vue.  V-model was the latest Vue directive we learned, and if you recall, it allowed us to effortlessly bind form input to the app data. 

Granny’s party is just around the corner, and she loves our new app. However, she found an issue. It turns out that even if she doesn’t enter any data into the form, she can still submit it. This then results in an empty row being added to her list of guests. She was deeply disappointed with this discovery. After all, her grandchild is to be a Principal Software Engineer and slip-ups like this are unacceptable. 

Vue Tutorial 5 — Form Data Binding

Granny now wants us to help her make a list of all the guests attending the party. She could use pen and paper, but her grandson is a programmer and she wants a Vue app. 

In this tutorial, we’ll accept user input (information about a guest) and display it in the list, similar to when we displayed the list of groceries. However, today we’ll use the  v-model directive to create two-way data bindings on the form input. 

Vue Tutorial 4 – Managing a List

Granny is ready to send us grocery shopping again. The last time we went shopping for granny, she only added a few things to her typical (static) list. That was fine because we were easily able to program the “Add to the list” functionality in our Vue app. 

This time, she is throwing a dinner party for all of her relatives, including the distant cousins you’ve never met before. We’re in trouble! Our Vue app doesn’t allow us to remove items from the list so we have to get programming.  

Vue Tutorial 3 – Handling User Input

In the previous tutorial, we peeked behind the curtain to learn a few Vue.js directives.

We used v-if to check if a component should be visible or not. We deployed v-click to toggle a state of a variable. We adopted v-for to display a list of groceries our granny wanted us to get for her.  

Vue.js Tutorial 1 — Hello Vue

Get started with Vue

With the age of SPAs (Single Page Applications) at its rise, JavaScript appears to be in it’s prime. A programming language that wouldn’t be considered a real programming language only a decade ago is now one of the most used on this planet. 

Naturally, it’s not just JavaScript in its pure form that is at the forefront of the revolution. We have a number of frameworks built on top of JavaScript that bring some order to the chaos. The most popular are, of course:  

Want to Be a Freelance Developer? Read This First

It’s been almost a year since I quit my last full-time job and got into freelance development. Since we live in the era of the internet, becoming your own boss has never been easier. Notice that I said easier... not easy. 

I feel like a lot of people are getting into freelancing or are considering quitting their full-time jobs and jumping into the world of self-employment. I was inspired to write this article because an old friend of mine reached out to me a couple of days ago. Her friend wants to become a freelance web designer and is looking for some advice. 

Laravel 6 — What’s New?

This month we have witnessed a major release of our favorite PHP framework. Laravel is turning eight this year, and the older it gets, the more we like it. Just like a kid… Not to say we didn’t like it before! 

In this article, I’ll give you a quick run through on the most important changes with this major release. 

Introduction to Android App Development With Kotlin: RecyclerView Widget (Part 11)

Most of the apps you have on your smartphone have a list of things displayed on the screen. Instagram consists of an infinite list of pictures that our friends post. Facebook is a never-ending list of updates from our family and “friends.” Lists are everywhere.

Android allows us to implement such lists using a widget named RecyclerView, and that’s what this tutorial is all about. In the previous part, we have fetched the list of movies from the database, and now, we will display each one of the items in a nice list. Our users will be able to scroll up and down the list as many times as they like to review their list of movies.

Why and How to Diversify Your Data Storage

Why Use Online Storage Rather Than Your Production Server?

No matter what you do in life, it’s important to diversify. Just ask Warren Buffet. You should diversify your investment portfolio, income streams, and your online storage, too. Diversification reduces stress.

Imagine having four streams of income on top of having your regular nine-to-five. You wouldn’t be as stressed out if you lost your job compared to having only one stream of revenue.

6 Steps for a More Accessible Web

Introduction

Imagine a brand new public access library is being built in your city. Everyone is invited to the opening day ceremony and there is a great atmosphere.

Everyone is cheering as the building opens to the public for the first time. Then you notice that there’s a set of a few steps you must climb up to get inside the building. Normally it wouldn’t be such a big deal but you happen to have broken your foot last week while playing a soccer match and you’re still in a cast.