Hackernoon logoI Asked #DevTwitter for Advice for Junior Developers; got 50+ Responses by@mcsee

I Asked #DevTwitter for Advice for Junior Developers; got 50+ Responses

image
Maximiliano Contieri Hacker Noon profile picture

@mcseeMaximiliano Contieri

I’m senior software engineer specialized in declarative designs and S.O.L.I.D. and Agile lover.

Today I wrote a tweet asking for recommendations to junior developers.

I got a lot of very interesting answers. I will group them down here.

Tweets are textual, I chose the more representative, corrected some typos and abbreviations and added some references.

I Agree with

I’m not a Jr Dev, yet. But if I had the experience, my advice to a Jr. Dev and to my future self is; be a student for the rest of your career. Listen to every dev no matter the age and experience. Stay humble, that will make people relied on you and reliable means stable job.

twitter.com/jwmarino

  1. Learn your tools deeply.
  2. Delete everything and start again after you've gone through the tutorials. If you can't, you won't trust yourself when things stop working (eventually they will).
  3. Learn TDD; it makes for better code. Senior devs will want to help you more.

twitter.com/allain

Learn to listen and watch what the others do. Then combine what you learned into your own personal framework. 😊

twitter.com/oliverjumpertz

Try to find a solution by your own first before asking a question

twitter.com/muh_rahmatullah

Take the code as waste. Don't get sentimental about it, and always strive to trash it away.

twitter.comJovche Mitrejchevski

If you focus on solving customer requests and business problems, the frameworks and patterns can help you. If you focus on using frameworks and patterns, they will actually get in the way of solving business problems.

twitter.com/ninjasavant

Know your stack, sure, but it's equally important to develop your habits and approach.

twitter.com/tottinge

Be confidant. Your first thought about a project should be, "We can do this." NOT "Maybe we can 'lift it and shift it' to the cloud?"

twitter.com/Write_again

Do not follow twitter roadmaps or "how to become a xxx developer". Often, they are misleading, extremely simplified and wrong.

twitter.com/IvanVHIS

keep your head cold when debugging ..and know that every error you'll face is caused by some kind of typo or wrong reference path ..remember to take a day off every week

twitter.com/y86xlife

Learn and practice, practice, practice TDD

twitter.com/emystein

Never think of yourself as a “junior”. Do what you care about and do it well. Don’t go after “promotions”. If you do what you care about well they will come.

twitter.com/rbieber

Build things. Write something everyday, even its its one line.

twitter.com/ShenandoahJerol

You’ll never stop being a jr dev, even when you are a sr dev. You should always have in mind you need to keep learning all the time

twitter.com24601

  • Don’t be afraid to ask questions
  • Don’t stop learning

twitter.com/RyanLKara

Enjoy the experience and strive to a little get better every day.

twitter.com/john_yeung

Empathy and communication are the two most important developer skills.

twitter.com/benwerd

Work diligently to minimize the imperative shell.

twitter.com/alexbunardzic

Don't seek perfection, seek progress.

twitter.com/pcguy

Be persistent. Always take some walk when you feel exhausted.

twitter.com/BEARD__ED

Persistence trumps all. I would add to that, in order to have persistence you have to enjoy the process. You have to love that feeling of satisfaction you get from solving a difficult problem, or when you get your "aha!" moments.

twitter.com/ImRussell_

There is no such thing as a silly question. Ask. Don’t ever stop asking. Don’t ever stop learning. You will do great things.

twitter.com/nicklewis

Contribute to open source

twitter.com/AmirAhmic

Consistency applied over time wins...consistently coding (even if just a short amount) over time will build the experience you need. Bonus if you keep up on the latest trends in languages.

twitter.com/Luke4OSS

Stop labeling yourself

twitter.com/mohsen_esm

You need to be motivated and have a drive! The BEST dev's I have had the pleasure of working with are constantly learning new ideas and technologies. They are builders. They enjoy building new things. They do these things bc they love it! Not bc their job asked them to do it.

twitter.com/ninan_phillip

It’s oka to sleep sometimes.

twitter.com/Feadds

you shouldn't be afraid to ask about everything

twitter.com/uamedwed

Always be Building Something.

twitter.com/pcguy

Follow your interests and never stop learning.

twitter.com/pinutz23

It’s a going to be one hell of a journey.

twitter.com/chidiemeh184

Every good thing takes time, don't let anyone sell you an overnight success

twitter.com/followMrTom

I’m not in a position to give advice but Maybe Take all the time you need don't rush it or u gonna lose it all in a sec

twitter.com/b_xx007

Don’t give a fuck about the negatives you will get in interviews. Don’t give up, you just need to be accepted by one company.

twitter.com/JSoufer

AVOID INHERITANCE!

twitter.com/lucaguada

Yep composition over inheritance as the default approach to follow

twitter.com/geeksusma

Focus on communication skills (listening, assertiveness, moderating, asking questions... ) the rest will follow.

twitter.com/FelipePlets

Always be curious

twitter.com/joshbedo1

Always use interfaces.

twitter.com/SelfXdsd

Don't give up and if you want to then find a senior developer

twitter.com/niraj_motiani

Don't code anything that you don't understand why is needed and how it works

twitter.com/_rodrigomd

Embrace knowing nothing. Everyone feels it, the sooner you just accept that you're going to ask silly questions, the better because silly questions stop silly mistakes and are how we all learn. Ask your seniors questions and find a mentor to bounce questions off of if you can.

twitter.com/dotEthan

Provide motivation to have a high curiosity and love of programming. So that they can be comfortable at the beginning and easy to upgrade skills to grow and adapt

twitter.com/Rietts_Ruff

  1. Compete with yourself
  2. It's ok to do mistakes
  3. Don't repeat your mistakes
  4. Ask questions if you don't understand

twitter.com/pp64ce

Learn how to unit test and refactor

twitter.com/makolyte

Go easy on the tutorials, go hard on the projects. Doing > reading about doing, majority of times.

twitter.com/Phil_Billingsby

Find a seasoned mentor.

twitter.com/JSpikowski

Never give up

twitter.com/Luiji68224667

Find a mentor!

twitter.com/dmokafa

Try and try a lot times, you will learn and improve the main skill, later keep the focus it in there

twitter.com/drupalec

master fundamentals before moving to advanced stuff, don't hurry for the shiny thing

twitter.com/nicholasjorge9

If you are stuck, ask either a fellow teammate or Google.

twitter.com/CodeKaro_

Go at the speed that’s right for you. You don’t need to know everything library, framework or language to bring value.

twitter.com/_brianchildress

Love programming and practice daily.

twitter.com/xpvit

  1. Do framework intro tutorials for all new frameworks. You learn a ton. Don't just 'make it work'.
  2. If using Pluralsight, do it with the class.
  3. Read co-workers check-ins. Look at how/why they did stuff.
  4. Know the business that you code for well.
  5. Don't ignore devops.
  6. Look at major code files in your app and read their histories.
  7. Record Zoom meetings w/ permission when getting mentored on something. Watch it later.

twitter.com/AbdulSattar248

Find a good senior developer and ask as many questions as humanly possible! Some things do come only with experience, but you wanna avoid as many pitfalls as possible

twitter.com/ronald_arias

Following your passion has rewarding side effects!

twitter.com/tmutizwa

Slow down.

twitter.com/bytecode

read some of the classics, but beware: nobody has found the holy grail of software development. Classics? The Pragmatic Programmer, Code Complete, Refactoring, Clean Code, Design Patterns to name only few, peek into the domain you write SW for, try to get an understanding of it.

twitter.com/dueppecn

  1. On any project, dont underestimate whatever has to be done before the actual coding.
  2. Don't forget, code is a tool,not the solution. Code is only necessary, as a hammer to a nail. Find projects, challenges that demand your code. Find your nails.

twitter.com/bubuka_sharif

Break everything down into small bite sized pieces. -> keeps you from feeling too overwhelmed and gives you small wins to accomplish as you go

twitter.com/AmendolaMegan

Keep a solid separation of concerns. More separate. No, even more.

twitter.com/ldkop

Don't be afraid to speak up and ask that question!

twitter.com/MicbOliver

Ask for help, document, discuss concepts with your seniors

twitter.com/clupidbloropope

Write test first.

twitter.com/Cherif_b

1- don't do it alone if you can help it! Review your peers' code, read through open source code and really strive to understand it, pair program if you can. Being a professional dev is a social endeavor and you should learn that early

2- learning your first language will be hard. Learning your second is likely to be harder. From #3 onwards you stop caring too much about nitty gritty details and think about the structure of your code

3- get something to production. Do it at your pace, but do it. Learn to build a pipeline, deploy, log, and get to the point where you can claim that people - even if just a half dozen - can access some value from your code anytime anywhere

twitter.com/MehdiOulmakki

Googling code is not a crime 

twitter.com/DrLapho

Take responsibility of the task given to you!! Always explore and learn news things.

twitter.com/SreekDgameFreak

Get Early feedback, write test cases.

twitter.com/faizan__khan

Just forget title as "junior", and stick with basics of tech all time. Frameworks come and go but basics of tech remains same.

twitter.com/GaurangDhorda

code in the langage that you love, not in the languages that are available in the business markets. And never stop learning.

twitter.com/MehdiZahrane

Find out quickly what learning strategy fits you best. Find mentors. Have faith in Google and Stack Overflow. Grit and technical communication are more important than your algorithmic know-how.

twitter.com/O_Magger

Aim to write good, well tested code. Not perfect code. Build relationships and never throw them away. Failure is a valuable resource, but not if you don't listen or learn from it. Be passionate about your work but don't try to make it your life.

twitter.com/coffeeaddict281

Look for a new job? :-) Just kidding. Maybe never give up trying to get things right!

twitter.com/KimKulling

well.. learn the importance of previously released programs really helped for me (quake, stuff like that), do basic projects (memory allocators), learn what languages suit your needs

twitter.com/Bl0xyDev

Explore, explore, explore. Do not just follow the trends, find what you like and stick to it. You don't need to know everything, expanding on what you enjoy doing is the key.

twitter.com/codename_arl

I always tell my juniors to learn the basics of whatever language they are doing. For e.g learn basics of javascript before moving to framework like Angular, React or VueJs. Learn basics of PHP before working on laravel or code ignitor etc.

twitter.com/AmanpreetDev

Don’t be afraid to challenge the status quo and never stop learning!

twitter.com/nileshdk

Never stop learning. Even those of us who have been doing this for over a decade are still learning new things.

Don't kill your personal life to do so, of course, but set aside at least a little bit of time to learn new things. Or deeper into what you're doing now. Either way.

twitter.com/CoreyAdler

If others tell me "Don't dare change that! It's impossible!!!"

I know what I want to work on next.

And, believe me, I'm going to refactor it to "within an inch of its life." Diablillo

twitter.com/JeffGrigg1

Be humble.

twitter.com/realEdwinTorres

Break up your work into small pieces. A login feature might be a lot but breaking it up into features such as:

  • Email text field should be visible
  • Password text field should be visible
  • Email text field should register text events.
  • etc.

Will make your life easier.

twitter.com/Tapizquent

Don't just start typing codes... imagine a problem and start solving. Helpers in that area will always be available when u get into hooks. Be CONSISTENT.

twitter.com/Nzefranklinc

Assume you know next to nothing about how things are done in the real world.

twitter.com/snhrdt

Learn the “why”, not just copy and paste or do something because it’s the cool thing. Why is this method better than that? What is the goal of this task, and why is this language/framework/database better for this task? Why did this bug happen?

twitter.com/sbscomp

Maximize what you don't need to know right this second

twitter.com/alexUX_UI

Languages are tools. Nothing more. Learn the fundamental principles, data structures, algorithms.. Learn Problem Solving. Then pick the best tool for you for the job at hand or that you specialize in.

twitter.com/hassanalybabuu

Build small projects and document your learning in tutorials.

This will help it all sink in and will be a great reference for yourself and other aspiring developers.

Also, join a community to connect with like minded people.

twitter.com/brandymedia

Take breaks!!!

twitter.com/j3ffh95

build projects and practice everyday

twitter.com/KadaGuetouache

  1. Once you get OOP under your belt, learn a functional language.
  2. Learn modeling.
  3. Use TDD.

twitter.com/thefakezzig

Set out realistic, time-based goals

Stay consistent with burning desires

Share your goals with others to hold yourself accountable.

Celebrate every little wins. It is what amount to greatness!

Keep breathing & keep coding

twitter.com/timmyprodev

Practice practice makes perfect

twitter.com/peterkiama_

Assume nothing. Question everything.

twitter.com/rmcomplexity

Learn a language, then another one, then another one... stick with the one you like the most. Ignore language bashing from toxic sources.

twitter.com/rukano

Find a mentor & learn debugging

twitter.com/radharadhya

Don't be afraid to ask.

Be it because you don't understand something.

Or to learn more.

Or to get further directions.

Or …

twitter.com/AndreJaenisch

Create. Create and learn. Then Create more.

twitter.com/apetechda

Set realistic goals

twitter.com/DavidAkinJames

Exception handling is of utmost importance. Don't disregard it.

twitter.com/nvictorme

Don't touch ctrl+v

twitter.com/halaeiv

study hard & find a mentor

twitter.com/MimmieMujuru

Mistakes are ok, coverups are not.

twitter.com/weloytty

Keep coding, and keep learning

twitter.com/ChristopherJCr9

Start early learning TDD

twitter.com/ClimbusJK

Just because you are not getting a concept right away, doesn't mean you are not "good enough".

Certain concepts in #SoftwareDevelopment are tricky and it simply takes time to wrap your mind around them.

In short: Don't give up!

twitter.com/p3j4p5

It's okay to ask questions.

Always give it your best shot, but don't be afraid to ask if you get stuck or need clarification.

Most other devs will be happy to help and guide you on the right path, especially if you've already tried your best and respect their time

twitter.com/madsbrodt

Look back at old projects, serves as a good resource to show you how much you have improved. Also go and redoing a old starter project can be a real boost to your confidence and validate your effort.

twitter.com/Gavin_White62

Be an information sponge. Take as many notes as possible digitally, so it's easy to search them. Learn as much as you can from people around you. Look for a job where people do 100% pair programming to help you learn quicker. On day 1 of a job, ask about the system architecture.

twitter.com/inspirnathan

Study, study and study again

twitter.com/devgleb

Debugging is an art which will come with experience. Don't give up on debugging too soon.

twitter.com/adarshagarwal__

Remember that other people know much less than you think

twitter.com/JakubTesarek

Learn Git before anything else

twitter.com/ahmadfaizan965

  1. Understand the business logic
  2. Don't be afraid of bugs.
  3. Be open to asking for help, no-one is going to judge you.
  4. Jot down the logic on a piece of paper before using the machine.
  5. Understand=>Code

twitter.com/PrateekdevOps

Learn to accept that you don't know something.

twitter.com/dhaval_simaria

Don't worry about learning too much syntactic knowledge (programming languages). Instead, try to learn semantic knowledge (design concepts, paradigms, concepts, etc) Syntactic knowledge is easy to get when you have a good semantic knowledge base.

twitter.com/Gaboto83

You can do anything but you can't do everything, more so at once.

twitter.com/EKaxada

You are not a coder. You are a human who codes and solves problems. Our identities and worth are so much more than our jobs. Also, ask any and every question regardless if you think people will judge you. All our learning journeys are different.

twitter.com/gingerbeer5280

Don't think of frameworks and libraries like some magic black box of voodoo mumbo jumbo. I notice a lot of beginners don't seem to realiize that we all use the same tools to build the same stuff, even Google, Microsoft and whatnot. They all put their pants on one leg at a time.

twitter.com/LuckyGoodrich

LEARN TESTING, it is essential in every development job. The one thing not usually covered in college or tutorials. It's what got me my first jobs is knowing how to test the code I wrote.

twitter.com/GustavZales

  • take breaks
  • celebrate small achievements
  • don’t get stuck in a problem for more than 3hrs, seek for help
  • sometimes a pencil is good enough
  • google is your best friend
  • always start by reading the documentation

twitter.com/LordBoiler69

Don't be paralyzed by the feeling you don't know the best way to solve a problem; just design and code something. Writing bad code is not a waste of time; you'll gain domain knowledge that you can use to do it better later.

Design -> Code -> Learn -> Repeat

twitter.com/jkleid

Learn to use tools. Lot of people struggle to do things manually and go off track. While there are high chances that entry level tasks already have wonderful tools.

twitter.com/AatmaTechi

Expect egotistic employees to give you irrelevant coding tests during employment interviews.

twitter.com/Greymarch

I partially Disagree with

Don’t give up, and remember all code sucks.

twitter.com/pineapplegiant

That non of your screw ups are your fault. Senior developers are supposed to catch your mistakes before it goes to production. Just keep learning. Guilt free.

twitter.com/ask_rpc

Understand the fundamentals of computer hardware

twitter.com/hoteit

Always add some extra time when giving deadlines

twitter.com/PreAuthorize

Learn Python now!

twitter.com/giodegas

Most importantly, improve the ability to search accurately on search engines. The more accurate your keywords are, more quickly you will get to the solution.

twitter.com/ZubairAkbar353

Document and unit test your code.

twitter.com/Brian_Shimek

Know. The. Hardware !!! Gut instincts get you run over Universal applications make money, and kill people at the same time

twitter.com/ThomasShelby404

Get great at search query syntax.

twitter.com/douglaskarr

Use a pencil and paper. Draw simple diagrams before starting to code

twitter.com/AntholoJ

Learn about CSS specificity, and keep your selectors as shallow and simple as possible.

twitter.com/jacob_a_louis

Get a haircut and get a real job

twitter.com/sokin87

Always read official documentation.

twitter.com/rizqyhi

  1. Never jump to code before thinking the edge cases or before asking the requirements properly
  2. Before you go with a doubt to a senior make sure to have searched in so ,gh and medium articles
  3. Don't try to recreate which is already present
  4. Hone problem solving skills

twitter.com/SagarN06492521

YouTube and Stackoverflow are your best friends from now.

twitter.com/PrxncE_LixH

if it works don't touch it

twitter.com/LeaTex

Prepare yourself for so much working for free.

twitter.com/ShitcoinSloth

Document everything you do.

twitter.com/TheFwGuy

Finalise and review your approach before you write a single line of code.

twitter.com/vthapliyal91

Conclusion

As you can see, many of the advices are related to soft skills and developing fundamentals. This is not correlated to what junior developers do, focus on trendy tools and languages.

We, as more senior and experienced people, must guide and mentor them to avoid the mistakes we made and to escape from the misleading calls from the industry.

Also published here.

Tags

Join Hacker Noon

Create your free account to unlock your custom reading experience.