DEV Community

Cover image for Top 3 Things That I've learned in my journey as a Software Developer.
Wilson Reyes Collado
Wilson Reyes Collado

Posted on • Updated on

Top 3 Things That I've learned in my journey as a Software Developer.

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” as a guide. I entirely recommend to go and take it.

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


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.


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.


“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!? 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!✌

Top comments (18)

bosepchuk profile image
Blaine Osepchuk • Edited

Very good post, Wilson.

I really like how you broke things down and emphasized the importance of actually practicing or using new knowledge. Reading a book or a tutorial is easy. Integrating it into your life is the hard part.

wilsonrc profile image
Wilson Reyes Collado

I really agree with you; sometimes we spend our time just reading and watching courses as if it were only to fill a checklist and sometimes this action almost give us a useless sense of satisfaction because we think we complete the most challenging part. But as you mentioned, what is complicated is to apply all that valuable knowledge to our daily lives. I believe that is what all of us should try to be doing.

Thank you for the comment, Blaine. I'm glad you liked it :)

kayis profile image

Haha, a few months ago I read a tweet from some guy who just interviewed a dev for a job. The dev said he didn't want the job, because it doesn't fit his brand.

bosepchuk profile image
Blaine Osepchuk

+1 for honesty
+1 for knowing what he or she wants

Or do you see it differently?

kayis profile image

I just found the phrasing funny.

Thread Thread
napoleon039 profile image
Nihar Raote

Usually, someone would say the job doesn't fit with their standards.

dionarodrigues profile image
Diona Rodrigues

Great article! It's one of that article we need to save to read some times.

There are so many things happening in the world of development that if we don't have a plan we will never stop watching video tutorials on YouTube, listening to podcasts or taking more and more courses. Of course all of those things are great and necessary to improve our skills, but sometimes we just need to stop and apply the knowledge in some practical project. One thing that I'm trying to do is build some small projects every week in order to use some new knowledge.

I totally agree that we need to spend some time on our personal image. It's very important to gain networking, better jobs...

As you wrote this article almost 2 years ago, is there something you would change in this list?

wilsonrc profile image
Wilson Reyes Collado

Hey Diogo, thank you very much for your comment.

Building some small projects once in a while is definitively a great way to apply all the knowledge that you have recently acquired.

Regarding if I would change something in the list after two years, maybe if I think hard enough, I could find something that can be as important. However, I think these have been the foundation of all the other things that I have acquired over time.

Knowing what to learn and how to learn it, transform that into a skill that can provide you the ability to build something, and then show it to the world in the most effective way possible. At least in the professional aspect, continue to be the most important things or are least the ones that I think somebody can take out the most from it.

emanuele83 profile image
Emanuele Sabbadini

well done Wilson, very good post.

the practice and the online presence are surely very important but I definitely subscribe the importance of knowing what to learn and how to! this maybe is a challenge that a developer has to face constantly: looking for a new job or new opportunities... new passions growing with the experience...

"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."
+1000000 for this, something to keep always in mind.

I would add just one point I've learnt: share and compare ideas and knowledge with other developers. I've grown the most when working with others, especially with skilled developers.

ronaldoperes profile image
Ronaldo Peres

Very good sir, a good article to read every week.

shinyuy profile image
Shinyuy Marcel

Thank you for the post and for sharing your experience. It helps me a lot to know how the people ahead me got to where they are. I liked the part "prioritize Quality above quantity".

jfmartinelli profile image
João Martinelli

Awesome article Wilson! I created my account here just to let you know how good it is. I got here from your other post related to working remotely. Keep up the good work :)

wilsonrc profile image
Wilson Reyes Collado

Thank you very much, João. I appreciate your comment, and I'm happy that you found the article useful.🙌

rifaimartin profile image
Rifai Martin • Edited

I am still in high school, I am very fortunate to be able to read this article. I began to understand the importance of learning from other people's experiences

helderberto profile image
Helder Burato Berto

Great post!

I agree with you about "tutorial purgatory" and we need to put our knowledge in practice them we stop just watching or reading more and more resources.

Thanks for this share. 👏🏼

ronaldoperes profile image
Ronaldo Peres

Very good sir, a good article to read every week.

wilsonrc profile image
Wilson Reyes Collado

Thanks, Ronaldo. I'm glad to read this. :)

david_j_eddy profile image
David J Eddy

Nice post Wilson. Worth the read for sure. Thanks.