I’ve been meaning to write about my freelancing experience for a while now. I remember wanting to work as a freelancer, long time ago. Name itself brings good thoughts to my mind as word “free” is something many people want in their life. I assure you, having some freelancing experience it’s not necessarily true that you have vast amounts of freedom, but it’s certainly an amazing way to work and collaborate with people. I wanted to share quickly what I’ve learned while working on projects with my clients.

what have I learned?

Two key lessons I’ve learned from building projects with WordPress were:

1. Building website is one thing, but knowing what to build and having crystal clear vision for the product is another.

  • It certainly requires a good amount of listening and processing what your client expresses. What his vision for the product is? What he would really like to see as an end product and how should it be displayed. It’s not true that your client will always know exactly what he wants. In fact, the opposite is more likely, that he won’t. Precisely here comes your listening and processing skill.
  • It is not an easy thing to do and many times you won’t catch your clients ideas straight away. The best thing you can do to make yourself most ready is to put yourself into calm, focused state and keep non-judgemental frame, where you don’t impose patterns you already know, but listen without conceptually trying to label everything you hear. It can sound counterproductive but that is the essence when it comes to real listening.

2. That it’s critically crucial to make the first point right.

  • If first point isn’t done right or at least close to right. Next phases of development can be affected and delivery or build times expand much further than the original estimates. This brings costs up and timely delivery out of horizon very fast.
  • This point is extremely crucial for production that involves a rigid or at least not very flexible WordPress technology. It’s amazing if you know what you want and you choose right theme, builder and plugins. Challenges occur well after the build when client starts to see his vision isn’t ideally implemented (the misunderstandings) or he comes with something small to change, but in order to make it work you’d need to change quite a lot.

Having above experience brings me to question as it connects perfectly when it comes to learning how to build backend projects.

This question is:

“How can I design, structure and plan my application production in order to create robust and unbreakable programs while maintaining good average speed and efficiency while coding?”

This is pretty much where I am at these days. This question was main subject for monthly meeting with my mentor. I am currently at a point where I understand how to code and I can create an application. The challenge I have is that I want to create it in a way that it’s readable, clean, properly structured and well thought. The solution for now is to learn Java framework - Spring. This creates a good structure itself and gives access to advanced Java programming. So I am on a mission to understand this framework first. I am sure I will write about it soon.