Top 3 Things That I've learned in my journey as a Software Developer.
Tags: productivity, career, beginners, learning
Published: 2018-11-11 01:38:16

---
title: Top 3 Things That I've learned in my journey as a Software Developer.
published: true
description: After nearly 4 years as a Software Developer, I have learned some non-technical stuff that I would have loved to learn them before.
tags: productivity,career,beginner,learning
cover_image: https://images.pexels.com/photos/590493/pexels-photo-590493.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940
---



Everybody has a list of things that they know and would have loved to learn them before they actually did it. This list has some of mine, and it will be a pleasure for me to share it with you guys.

#1.What to learn and How to learn it.#

One of the most critical pieces of knowledge that I could have obtained through my career as Software Developer has been “What to learn and how to Actually do it.” Before going deeper into this idea, I believe it is essential to know why this skill is so important. 

We live in an era usually named as “The Information Age” and as you can guess information represents an important asset. But with all this information available there are some pitfalls you can fall into. For example: because of the information is highly accessible and there are almost an infinite amount of resources available to obtain it, the value of the knowledge has significantly decreased and the value of “skills” is going through the roof (People are paying people for what they can DO not for what they KNOW), if we don't know this, we could be wasting our time without even realizing it.

These are some of the reason why is essential to learn how to filter information effectively, learn what to learn and learn how actually to do it depending on what our goals are.

## Okay, Okay, but... How can we do that?##


First things, first. We have to learn what types of knowledge are out there and which of them we need to achieve our goals.

For this topic, I will use the Pluralsight course [“Learning technology in the information age”](https://app.pluralsight.com/library/courses/learning-technology-information-age/table-of-contents) as a guide. I entirely recommend to go and take it.

Dan Appleman says in his course that there are four types of knowledge:

###Fundamentals###

As you can guess “Fundamentals” refers to the essential knowledge of a field, the roots or whatever fit best for you. For example, in Software Engineering you will need to learn Data structures, POO principles, etc.

**Pros:** Fundamentals usually maintain its value through time.
**Cons:** Fundamentals are not so easy to learn.

###Information###


The information’s refers to the specific knowledge about some technology or tool, for example, the syntax of Kotlin or how to implement X specifically on the Android Framework.

**Pros:** Information is more easy to obtain and is usually more profitable. 
**Cons:** Information is less durable through time.

###Skills###
*“Enter the Skills”* Maybe the most important of the four types, the skills are the ability of actually DO things, I mean, the way in that you take the fundamentals and the information to solve a problem or build something. As I mentioned before in the introduction; in a world where the value of information and knowledge has significantly decreased because everybody has access to almost all the information needed to do something, the value of skills (how you actually do things) has increased a lot.

**Pros:** Really valuable, more skills = more profits.
**Cons:** Difficult to obtain.

###Innovation###
Innovation!? Yes, when you get to a certain level on the other previous types of knowledge respecting to a specific domain, you will unlock the ability to see what is need it in your field of expertise and then you can use this ability to create new knowledge or tools. Basically, if you are on top of an area regarding knowledge, you will have an idea about where that field should or may go.

##But, why so much effort?##

Because the real cost of learning is not the monetary value of the course or book that you are consuming, the actual cost is the time you invest in it. As you may know, time is your most valuable resource.

So, let me tell you something, If you want to be efficient, be the best that you can be and put yourself in a position to be successful; You must define what you want to be, what type of knowledge you do need the most, and after that, you have to strategize and organize which piece of this knowledge are you going to learn first.

##Making the Strategy.##

After you have the list of things that you need to learn to reach your goals, you will have to define the Strategy ( How you are going to do it ). You can do this whichever is the way that fit the most for you, but I will give you a recommendation based on what has worked for me. 


First thing is to prioritize quality, you will have to find the most valuable resources. We should do it in the same way that we look for a new smartphone or gadget. I mean, You have to compare the resources that you will study using the number of reviews, stars, recommendations or any system that the platform uses to rate the content. 

After defining a list of “What" I recommend you to distribute your study sections in small chunks above big ones. The reason for telling you this is because is way better to be consistent through time than euphoric one day. You have to prioritize Quality above quantity, is better to study for one hour every day than seven hours one day of the week. Why? Because each time you study a material your brain has to make “the connections” so that you can access this knowledge the next time you need it. In other words, for this task is more efficient an everyday joggle than a one-day marathon.


#2. Build Something.#

Yes, build something. Simple, isn’t it?

One of the many mistakes that I have made through my software career is to get trap in the called “Tutorial Purgatory.” 

I remember when I began to work as a software developer; I was so focused on getting to the next level that I was consuming a ridiculous amount of blog posts, courses, tutorials (Information) without any practice (Skills Development). All this effort as you can deduce this results in me forgetting a lot of what I “learn” in less than you can imagine.

So, If you feel you are trapped in the tutorial purgatory, you need to escape from there, that doesn’t mean that you will go and start building things like crazy without documenting yourself, that could be a waste of time too.

###So, How can we do it!?###

You “Just” have to practice, you have to find a way to apply those new shining things that you are learning and create something, Why? for two main reasons:

If you don’t practice, you’ll forget about it.
If you don’t do something, you will have nothing to show.


###What can we do to improve regarding these points?###


- Create a side project to translate that information that you recently got into skills.
- Do the exercises of the courses that you watch.
- Explain what you have learned to others.


#3.Personal Image#

>“The ability to express an idea is as important as the idea itself.” - Bernard Baruch.

In this context, the ability to express what you know is as important as your knowledge itself. Why? Because “Perception is reality.”

This was something that I wasn’t too into not so long ago. But through experience, I have learned that If nobody knows about you, you will miss out a lot of opportunities because you will always have to prove yourself to get what you want, and the chance of showing what you know is not always on the table.

Is important to say, that some Developers are not usually interested about their image or about selling themselves to get what they want, they typically think that just with the technical knowledge should be enough, and I respect that (I was one of them). But my perception changed after I got to work into some new exciting projects and increase my income significantly, just by investing some time in my online presence and getting people to know what my skills are. 

Nowadays some of the most significant professional opportunities get to people by referrals and not necessarily by applying to a public job offer. For example, two of my three currents jobs/projects get to me by a referral, and the third one got to me through LinkedIn.

But don’t get me wrong even that the perception of others is significant because can affect your life for good or for bad; there is one thing that is even more important and always will be more critical, Your self-image perception because your own opinion can hold you back and block you to achieve the things you could accomplish.

>"Whether you think you can or think you can't, you're right." Henry Ford.

Sometimes we are that person that discourage us from excel or to be whatever you want to be. So before you care about other people perception, remember that you have to trust in your abilities so that the other people can trust them too.

 
###What we can we do to improve this!?###

Well, even when I’m still working on this, I can mention some things that have worked for me until now.

- Create a portfolio where you will put all the projects that you think give a good sense of what you have done, the professional experience that you have and the recommendations that people have made about you.
- Maintain your relevant profiles up to date, Linkedin and GitHub are good examples.
- Invest in your interpersonal communication skills.

I hope these things can be useful for some of you or at least that this post awakens in you the curiosity to search more about these topics.

Until the next time!✌