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 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!
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.