Why you don’t have to learn everything in a programming language
By: Techalb Team
Tags: Learn Programming, Programming Languages, Problem Solving, Software Development, Proggraming

Hello to everyone, first of all thank you for start reading our story and let us make an introduce. We are TechAlb (abbreviation of Technology Of Albania), a small Software Company located in Durrës, Albania. This is our first post in Medium (in English language) and in this story we want to show why it’s not important to learn everything in a programming language (and for sure we appreciate discussions based on different opinions).

As we said above, a small company have to learn a lot of stuff needed to meet the client requirements. Based on the client as a company (or as a person), there can be various needs and ideas. And to complete them all, a company has employees for every technology, programming language and/or framework; and to be honest that’s great! It’s the best for all inside the team (from the PM, to the developer), because in this way everyone is doing a small task, or a specific task in a specific language and/or framework. Great for the company, but what about a client as a person or as a small company or a store (or whatever)? Of course this will be too expensive, because you know now how people are gonna work for you, and sure they all wants their salary at the end of the months. But whatever, we are here to discuss another thing.

Let’s return to our issue: “Why you don’t have to learn everything in a programming language”. That is as simple as we can answer in one sentence:

Because problem solving is to think in terms of how you would break the problem down, the parts you’re going to need and the potentials issues you’re going to run into.

That said, you don’t have to learn everything in a language, specifically every little detail, you can learn concepts and then based on the projects needs you can always look them up.

As said before we are a small experienced team, some of us are working part-time because they have other work beside us to get more profits at the end; and we work mostly with the great .Net, Java and Javascript (& React framework). But one day we got a client that wants a small personalized project, to run in their servers powered by Apache. Yes yes, we know, we can create it using .Net Core that works everywhere and the problem is solved. But the client wants it to be in a folder in their Wordpress site and to build it in PHP specifically. Oh Damn… but we don’t have experienced guys in PHP!! Ok, we thought won’t be a problem because if we use a framework, it would be the same as ASP .Net for example.

And in fact it was so easier to make it work. What we did is that we searched for concepts in that framework (Laravel), we did read the documentation about DI, routers, models, controllers, views etc and was too easy to get the job done. The same was for a project in React Native, we had the concepts of react and the documentation seems to be so much easier when you know the terms and concepts for a programing language or a framework.

We don’t learn things in depth, we learn based on needs and we get the job done.

It’s important to understand, not to learn everything in details and after a while you will forget them all.

So in our mind, we don’t forget one thing: Work Smart, Not Hard!

Just learn as you go, pick up things as you build your programs. Learn what classes and functions are, if statements, while loops, variables, and that is all you need to make a start.

We hope, we helped someone who was in doubt on learning everything or being smart 😊.

Thank you! With ❤ by #techalbteam!