DEV Community

Cover image for 4 Tips I Wish I Knew 10 Years Ago

4 Tips I Wish I Knew 10 Years Ago

Anthony Viard 🥑 on March 03, 2022

Hey, fellow developers! What advice would you give to yourself if you could travel back in time? What if you could leverage your acquired experien...
Collapse
 
harryrf3 profile image
Harry Fahringer \|/

One issue I've ran into with contributing to OSS is not knowing where to begin.

I, and most likely others, would greatly benefit from knowing how the actual development process goes from start to finish when talking about larger projects.

Collapse
 
softmantk profile image
NIKHIL CM

I agree. I also find it difficult to start.

Collapse
 
avdev4j profile image
Anthony Viard 🥑

I think a good project is a project that helps beginners to onBoard. I understand it's hard to find where to start and, unless there are existing resources like that, it should be good to have a kind of listing of OSS projects where we can start.

Collapse
 
camco profile image
Camco

This is super helpful.

Regarding #2. I have for so long been wanting to contribute to a open source project, but I have absolutely no idea where to start!

I've been building web applications for the better part of 15 years. I leverage open source software every single day... and I'm kinda embarrassed to say I don't even know where to look to start?

Whenever I come across a repo that I feel is worth working, I often think if it's as simple as asking if the owner is open to pull requests and contribution. As simple as that sounds and it may be exactly what I should do, I thought about it often but never done it.

It'd be nice to hear your input on where to get started.

Great article thanks

Collapse
 
jamesthomson profile image
James Thomson

Posting this as you and others may find it helpful: opensource.guide

Collapse
 
avdev4j profile image
Anthony Viard 🥑

good resource overall, thank you James!

Collapse
 
avdev4j profile image
Anthony Viard 🥑

Thank you John,
I know it's hard to contribute to OSS since you need to find where you can help, and find a community where you feel well.

For several years, I try to break some stereotypes about OSS and try to help people onboard them by contributing (PR, docs, fixes, issues, contents).

If you already know where to contribute, it's good but I understand finding where to contribute could be hard.

It seems what @jamesthomson suggested could help to find projects.

Collapse
 
renanfranca profile image
Renan Franca

Thank you very much for sharing this!😃

Fot item #1

I would give the same advice as you. In addition to that, I would tell myself to focus on web development and don't get distracted with programming for native Windows Phone, Native Android and iOS.

For item #2

That was my biggest mistake ever, I started only last year! I tried to engage with the JHipster project as a contributor (I made one little pull request), but I don't have the time to code for the project. So I decided to engage with the JHipster project as enthusiastic by spreading the word and sharing my experience using it.

For item #3

That's a problem, especially if you depend on the toxic person's opinion to be recognized by other people because he is your superior.

For item #4

You are such a gentleman Anthony! I have been following your work and you were maybe the first person that interacts with me on the JHipster project ☺

I would tell me to start a blog

I would tell myself that there's no problem in talking about yourself and your success and failure. You are not showing off, you are letting the people know you to engage or invite you to work together or a job opportunity.
My last 3 posts here were annotations that I wrote down in case I forget how to do something or if I need a quick refreshing on a specific technology.

Collapse
 
avdev4j profile image
Anthony Viard 🥑 • Edited

Hey Renan
Thanks for your contribution.
For #1 and #2 an do agree with you and I'm glad to see people sharing their experience on JHipster and knowing how they are making their apps. We often forget that the first way to help people is just to share our daily work to let them understand how we can leverage from a tool or a framework. Also, it helps the maintainers to be connected with the community and understand the needs.
You can't imagine how many people I saw doing great things, for who sharing was not an option.
Not because they wanted to keep it for themselves but just because they didn't realize it's a good way to support others.
So please, keep going on this way.

  1. I think it takes time to figure out you can be your own captain and make your own decision, especially throwing away these people. Sometimes it's good to be selfish and first think about our well-being.

  2. I can't be happier to know from my little city in France I helped people across the world in Brazil. This is my main reward for being a contributor and content creator. I would like to help people like people who helped me start in this domain. Thanks for sharing it with us!

Last but not least, please continue to write blog posts and share your experience with us. It's a chance for us ;)

Collapse
 
renanfranca profile image
Renan Franca

Thank you for the insights and for supporting my goals! 💪

Collapse
 
stereoplegic profile image
Mike Bybee

Re: Blogging - I wish I'd given myself (and actually followed) the advice I give my students and junior dev mentees, to "learn in public" by blogging and/or posting on e.g. LinkedIn.

Collapse
 
avdev4j profile image
Anthony Viard 🥑

I agree, sharing is a good way to learn and verify if you really understand the concepts you are using. And it helps others.

Collapse
 
techmaniacc profile image
Joseph Mania

Helpfull

Collapse
 
avdev4j profile image
Anthony Viard 🥑

you're welcome

Collapse
 
stereoplegic profile image
Mike Bybee

If I could go back in time, I'd tell myself not to waste years and tens of thousands of dollars on IT and CS degrees, instead devoting that time (and saving that money) on the self-teaching I always ended up doing anyway.

Collapse
 
avdev4j profile image
Anthony Viard 🥑

Interesting because I've often wondered if I should spend money on passing degrees or just learning by myself. Finally, no courses or degrees here but maybe it is worth sometimes following one or two of them.
However, maybe having too much is not a good solution since we can also leverage our own experience to enforce our knowledge and improve our skills.
Interesting because I've often wondered if I should spend money on passing degrees or just learning by myself. Finally, no courses or degrees here but maybe it is worth sometimes following one or two of them.
However, maybe having too much is not a good solution since we can also leverage our own experience to enforce our knowledge and improve our skills.

Collapse
 
waqar profile image
Waqar Ahmed

Great article. I need to look for design patterns and open source contributions.

Identify toxic people. Follow the advice of don't react, don't explain and don't engage. It is best to go no contact or low contact if you must.

Collapse
 
avdev4j profile image
Anthony Viard 🥑

I totally agree with you.

Collapse
 
omogidi profile image
omogidi

Many thanks for this post.

On contributing to Open source. Im new to AWS, although I have been training for 3months straight. For a beginner, quote me when I say its quite hard to do when you practically have no idea what to do. I checked out open source projects on Github, however, im at loss at where to begin. Another thing I have observed is that these open source projects are not optimized for beginners like myself

Any tips and hacks on how to do this as a beginner

Collapse
 
avdev4j profile image
Anthony Viard 🥑

I agree with you:

  • Projects are not always optimized for beginners
  • It's hard to know how to start

I would say the best way to start is to contribute to the software you are using daily. Because, you have the opportunity to understand what happened, and as a user, you have the best role to help the project to be still relevant.

@jamesthomson shared that website with us previously, you should have a look: opensource.guide/how-to-contribute...

Collapse
 
sohinip profile image
Sohini Pattanayak

So well defined. Thank you for sharing your ideas. One must surely be helped by these :-)

Collapse
 
avdev4j profile image
Anthony Viard 🥑

Thank you!! I hope it help people to be confortable in this IT world

Collapse
 
edgaarcruz profile image
Edgar Cruz

thanks, i need to put on practice your tips!

Collapse
 
avdev4j profile image
Anthony Viard 🥑 • Edited

Feel free to let you know how it's going, on Discord (discord.gg/yrZfhEeUSY) or on Twitter ;)

Collapse
 
aquadrehz profile image
AquaDrehz

Agree.

Collapse
 
kazi94 profile image
__KaziWhiteSalafiDev

Thanks for sharing !

Collapse
 
nenad_cvet profile image
Nenad Cvetković • Edited
  1. is to me the most important. Going deep and more deep is extremely important for understanding why something works or doesn't work. So crucial for planning architecture of systems.
Collapse
 
avdev4j profile image
Anthony Viard 🥑

One thing I would to add (and I forgot) is to learn to debug software. It helps to dive into the code details and understand what is going on when you are struggling with a task.
I saw so many beginners that were not able to debug or did it in the wrong way.
Maybe we don't learn it enough at school but I feel it's a really important skill to have and it helps to go deep as you said.

Collapse
 
booboboston profile image
Bobo Brussels

Good article, thank you.

Collapse
 
chacalonchacaloso profile image
Paul Cortes

"What happens if you fail? You realize that making mistakes is the best way to learn.". I think that it's the better phrase. thanks so much, this article helpme so much for reflexion

Collapse
 
avdev4j profile image
Anthony Viard 🥑

Thank you @chacalonchacaloso
every time, everywhere I'm trying to follow this idea. I'm trying to explain to my children that failing is the normal process of learning.
Failing is not something we want to do, of course, but when it happens we should always try to figure out what we can extract from that experience.

So don't be afraid to fail, it's just normal, when it happens analyze what you've learn from that, then try again ;)