If I Could Start My Dev Career Again: Essential Tips for Newbies
Tags: beginners, programming, career, codenewbie
Published: 2023-09-11 17:09:27

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](https://www.freecodecamp.org/) or [Codecademy](https://www.codecademy.com/) 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](https://www.linkedin.com/feed/) 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](https://www.linkedin.com/in/barry-michael-doyle-11369683/) if you want.

### X (formerly known as Twitter)

Though not very active on [Twitter](https://twitter.com) (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](https://twitter.com/barrymdoyle).

### StackOverflow

Despite being a tough platform to get into, [StackOverflow](https://stackoverflow.com/) 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](https://github.com/) 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](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wdqutea1ebrabq2ympbg.png)

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](https://dev.to/) but you can also use [Medium](https://medium.com/) 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.