DEV Community

Discussion on: I am a middle aged junior developer, Ask Me Anything!

Collapse
 
tomasforsman profile image
Tomas Forsman

Great questions, each worth an article on their own but I'll try to give some advice right away.

It took me 2 years from the point where I decided I wanted to get back into tech. There were several near misses along the way, so it could have gone faster. There was also a period where I fell victim to the feeling of simply not being good enough to be employable. I know there were some opportunities that I didn't get simply because of my age, but I can't blame that alone. Also, I am sure that it would have gone faster had I lived in one of the larger cities.


This is a big one. We all have different ways of learning and our lives allow a different amount of time to be put towards that. Here are a few tips I believe everyone can use:

  • Learn something new every day. To be sure of doing this you can start the day by watching a youtube video or reading an article about something relevant to the area you want to work in.
  • Decide if you want to go deep or broad. Both types of developers are needed and both have pros and cons. If you go deep you need to find a company that needs your specific skills but if you do you have a better chance of landing a job, if you go for a broader set of skills you can apply for more positions but you can't compete for those specialized positions if you go up against someone who has gone deep in to that area.
  • Don't just learn a language (or languages). You should also learn what it means to work with scrum or kanban or some other agile way of working. You should know the difference between TDD and BDD and how to apply them. You should know a bit about what a CTO does all day and give some thought to where in a company you want to end up.
  • If you are a front end developer, learn some back end stuff and some dev ops as well. Not a lot, but enough to be able to speak with those that do that work. Also, you should look at UX and design. Take a look at Adobe XD, Sketch or something like that.
  • If you are a back end developer, do a project where you simply focus on the front end part. You'll need the appreciation for that craft as well.

Those two points are about learning what other devs that you will probably work with are doing. You must have read a lot about soft skills by now and to delve into other areas than your own is the best way I know to make yourself a better co-worker.

  • Git and Github. Learn Git, use Git. Learn Git more. Learn the Git workflow and use it for all your personal projects. Merge feature branches into your dev branch and then merge your dev branch into your master branch when it's stable. Do this even though it is overkill on your own small projects. Learn what rebase is and how to do it. Learn why force push is scary. Learn how to commit often enough to have meaningful commit messages.

  • Once you are comfortable with Git, help out with an open source project. Even if it's something tedious and simple like renaming variables or updating readme files. Do it as soon as you are comfortable making a pull request.

  • Apply everything. Even if it's in projects you won't finish, don't just read or watch youtube, sit down and apply that knowledge in something of your own. Don't just follow a tutorial but rather apply the knowledge in projects that differ from what they made in the tutorials.

  • Set up goals, preferably projects that you want to make, and make a study guide to reach that goal. List what you need to learn and learn them one by one and then make that project.

  • Learn how to code, not a language. No matter what language you like, don't learn just that language. Try to apply what you learn in more language than one, even if you aren't going to use that language in the future. You'll understand your preferred language better when you can compare it to other languages.

  • Git, seriously, don't forget about git.


Be social. Go to meetups if you can. Blog. Read other blogs and articles and comment on them. Make friends that code. Write articles on Medium and Dev.to. Contribute to open source. Put stuff on github. Be honest, always be honest. You are not a product so don't try to sell yourself.


This question has two answers:

  1. I still don't.
  2. I've always done.

This goes with the advice earlier about being honest. You are always knowledgeable enough to write about your experience. Your experiences are not magical and while you aren't the top authority on any subject nobody can argue against your experiences. Nothing here is written from a perspective of the best coder that has ever lived, they are just the experience of one person. I'm willing to share how I see things and what I've experienced but if I thought that you would read this as the ultimate truth I wouldn't have dared write a single word.

My advice is to do everything before you feel ready to do it. Contact companies before you are ready, contribute to open source before you are ready, write an article before you are ready, go to meetups and hackathons before you are ready. As long as you are honest and don't try to sell things that aren't true you'll be just fine and you'll learn a lot more than if you just sit in the dark by your computer. If you are waiting until you are ready you'll keep on waiting.

So, these were short answers to great questions that deserve more. I'll take a couple of them into the next article and have written some ideas for another article based on the others. I'll include some resources for more information in the articles as well.