DEV Community

Barry Michael Doyle
Barry Michael Doyle

Posted on • Updated on • Originally published at barrymichaeldoyle.com

If I Could Start My Dev Career Again: Essential Tips for Newbies

I began my programming journey back in 2010, a time when I was grappling with the basics and marveling at what a few lines of code could achieve. It's been a wild ride to getting where I am today. But if I were to start again from scratch, what would I do differently?

I'm going to discuss some valuable lessons I've learned over the last decade that might help you get started in a career in software development.

Don't Try To Learn Every Language

I hear this a lot with people getting started with learning to code. They'll go to a site like freeCodeCamp or Codecademy and see all the different options that they offer and then they'll say something like this:

I've just started learning C++, then I'm going to go learn Java, then HTML, then Python, then PHP.

Do not do this!

Learning the foundations of multiple different programming languages is just going to confuse you. It would be better to pick one language/framework to focus on initially. Mastering one language will not only give you a deeper understanding but will also make learning other languages easier in the future.

Pick A Speciality Early

Software development is a very broad field and it is easy to get overwhelmed thinking that you need to know absolutely everything.

Identify what area of software development you'd like to get into early on. Consider fields like web development, mobile app development, or data science. This focus will aid you in landing your first job as companies generally look for people with a specific skill set.

Create Accounts For The Platforms You Use

In these modern days, it is not enough to just be someone who knows how to code to get your first programming gig. It is worth having some sort of online presence rather than being just another lurker.

Engage on platforms you use regularly and make meaningful contributions. Remember, maintaining a respectful and healthy engagement fosters a positive online environment.

Here are some platforms that I believe you should be active on, I personally have been approached for jobs by people who found me on these platforms:

LinkedIn

LinkedIn is a treasure trove for professionals. Create an account here to connect with other developers and stay abreast of new trends. Keep your profile updated, showcasing your achievements and skills effectively. You can connect with me here if you want.

X (formerly known as Twitter)

Though not very active on Twitter (or X, or whatever Elon decides to do with it), I find it beneficial to follow companies and developers in spaces that interest me. Engaging with industry leaders can provide you with valuable insights and learning opportunities. If you feel like following me for my infrequent posts there you can follow me here.

StackOverflow

Despite being a tough platform to get into, StackOverflow offers a wealth of knowledge. Learn from the feedback you receive and don't be disheartened by initial setbacks.

GitHub

If you haven't already, start using GitHub to store your source code for learning projects. It's also a great platform to showcase your personal projects, highlighting your learning trajectory and growth.

Over time you'll get this nifty looking graph that shows that you know things!

GitHub Contribution Chart

Committing to your own projects isn't the only way to engage on GitHub. You can also create issues and comment on existing issues on other libraries that you've worked with in your personal projects.

Build Something Early

As you delve deeper into your chosen specialty, start building things on the side to put your learning into practice. Try to create something unique, not just replicating tutorial projects, to foster creativity and problem-solving skills.

Write About What You're Learning And Doing

Writing about your learning journey, like I am doing here, can be a great way to network with others who share similar interests. It not only helps in understanding a topic better but also opens avenues for collaboration and learning.

The best thing you can do is just get started right away. I'm obviously using dev.to but you can also use Medium or you can self host. It doesn't really matter where you choose to host it, as long as you start writing.

Once you've written your first post you can share it on X/Twitter and LinkedIn!

Network Network Network

Networking has been a golden key in my journey. Be it online communities or developer friends in your circle, make sure to engage actively and maintain a professional demeanor while networking.

Apply For Jobs Regularly

Don't hesitate to apply for jobs even if you feel you're not 100% ready. Interviews can be a great learning experience, helping you understand what companies look for in a developer.

Be proactive in your job search. Tailor your resume to match job descriptions and don't shy away from reaching out to companies you find interesting, showcasing your eagerness and initiative.

Degree vs No Degree

In today's world, a Computer Science degree is not a mandate. There are numerous online platforms offering courses that are more updated and practical compared to traditional degree courses. Utilize them to build a strong foundation in your chosen field.

Conclusion

I hope you've found these tips useful! If you think I've missed any useful tips please share them with others and continue the discussion in the comments!

I intend to go more in depth with some of these topics in future posts.

Top comments (9)

Collapse
 
jd2r profile image
DR

Fantastic article, Barry! I sometimes have trouble finding things to contribute to on GitHub, but you make a good point that my own projects will probably be the most obvious contributions I can make right now.

Thanks for outlining these steps in a clear, concise manner. Looking forward to more posts from you! πŸš€

Collapse
 
barrymichaeldoyle profile image
Barry Michael Doyle

Thanks for the positive feedback! πŸ₯³

Yeah, people often forget that contributions to their own projects are indeed open source contributions :)

Collapse
 
mahfuzurrahman01 profile image
Mafuzur Rahman

Wow!
Great article, Thanks for sharing Barry!

Collapse
 
barrymichaeldoyle profile image
Barry Michael Doyle

Thank you :)

Collapse
 
mahfuzurrahman01 profile image
Mafuzur Rahman

My pleasure.

Collapse
 
acecoder profile image
Karl

Fantastic Barry I'm a newbie myself. Thank you for the tips

Collapse
 
barrymichaeldoyle profile image
Barry Michael Doyle

Thank you! I'm glad you found the article helpful. Hope the tips help! Have you picked a focus yet, or are you still exploring?

Collapse
 
indrasisdatta profile image
indrasisdatta

Thanks a lot for such wonderful suggestions. Although I've been around for 9+ years in this industry, still got to learn few things from your post. I'll definitely bring it into practice :)

Collapse
 
barrymichaeldoyle profile image
Barry Michael Doyle

Thank you so much! As you've probably gathered from your many years in the industry, it's constantly evolving and there are always ways to set yourself even further apart from who you were yesterday :)