How to gain experience as a Software Developer

So you’re thinking about how in the world you’ll find your first programming gig with no experience.  It’s unlikely that you’ll get hired with no experience but there are creative ways that you can gain plenty of experience and become a worthy candidate without doing it the traditional way, getting your foot in somehow and working your way up.  Maybe you could find your dream company and take any position even if it’s cleaning the toilets in hopes of moving into the IT department and eventually a development position.  This post however is going to cover some of the many ways that you can fast-track, to some degree, your experience and have fun doing so.

Find an Internship

I got my first development experience through an internship or co-op before graduating with my Bachelors.  I don’t know if can really call it development though as for most of the summer, I mapped a bunch of Access databases and Excel spreadsheets, no programming at all but a valuable experience nonetheless.  Hopefully someone came along later and moved those into a better solution using the diagram that I created.  All that really mattered to me is that I could be ‘Software Engineering Intern’ or something along those lines on my resume to go along with my degree.

An internship was, for me, the way to gain precious experience and have more than academic stuff on the resume.  For college students it still is a relevant and popular way to gain experience while going to school but things have changed quite a bit since I was in college.  The options are there now to start gaining experience and building your portfolio right away.

Speaking of College

This internet thing, and the ease of getting yourself ‘out there’, has opened up or maybe I should say created many doors that weren’t there 10+ years ago.  With technology, a lot of the curriculum, is going to become dated quickly.  I will continue to use a good amount of what I learned but, especially today, could’ve used other resources to get into a software development career.   I primarily work with C# today and it definitely wasn’t mainstream or used in any of my courses, .NET was in its infancy around the time that I got my degree.  All of my C# skill set has been learned on the job.  I can say that I really didn’t get a grasp on things until I started programming frequently.

If you’re in college or planning to go then use all of the resources and networking available to gain experience and get your foot in the door with companies.  Using your institution’s resources and name will give you an advantage or at least more tools than you’d have otherwise.  The networking, especially with career planning services, helped me big time to land my first job from helping me with my resume to getting interviews for me.

My biggest advice is to learn something because you’re interested, not only for getting a degree with the hopes of making money.  There are many examples of people with non-programming or non-technical degrees that are awesome developers.  Having a unrelated degree will work to your advantage down the road giving you additional skills to leverage.

You can start being a developer when you decide that you want to be one.

No Degree? No Problem!

You don’t need a degree at all to become a software developer.  Most companies don’t require a degree nowadays, at least from what I see, it is becoming less common for employers to have it as a requirement.  They want someone who can come in and get the job done.  A degree doesn’t prove that you can program!  You can start being a developer when you decide that you want to be one.   Use your interest and passion to create things to drive you forward.  Show off what you’ve created and build an impressive portfolio.

Create a Portfolio Site

Make your skills and personality public with your own website.  Go ahead and start working on this now.  At the least, this is simply your online version of your resume but you should put more into it such as blogging about programming and showing others, by example, what you’ve learned.

Some benefits of a portfolio site are as follows.

  1. Exposure – Your site is public.  You can direct people there easily and it’s visible for anyone to find.
  2. It’s Yours –  You can make it your own and customize it to give the best picture of YO.  You don’t have to play by the rules on job sites.
  3. It’s better than the traditional resume.  
  4. Positioning – You can present yourself as an expert in your area of choice.
  5. It could be a revenue source.  It could be more than a lead for landing jobs, you could even sell your knowledge or a product from your site.

Your site documents what you’ve been working on and puts you in the driver’s seat.    It shows who you are and how you can benefit those in need of your unique skill set and personality.

Get on Social Media and other Sites

You’ve got to get active in places where you can get noticed.  People probably won’t find your site via Google unless you’ve been blogging for a while.  Below are some popular sites where you should have a presence.  Pick your top 2 or 3 and spend some time building relationships, answering questions, and asking in those places.   

GitHub – Source control your code and share with others.
LinkedIn – The professional networking site.
Twitter – Many developers use Twitter as their primary social media outlet.
Reddit – Find some subreddits and contribute.
Stack Overflow – Help others out here and make a name for yourself.
Medium – You can post articles here and probably get more exposure than you would on your blog.
Quora – Another Q&A forum but with good potential to get eyeballs on your site.

Don’t make any of these your home.  The idea is that all of your good stuff is on your site and these places get people there to learn more about you, eventually like you and hopefully trust you.

Volunteer Your Skills

There might be a non-profit that could use some help with their website or internal systems.  This could be your home church.  Maybe they don’t have a website or could use some help with it.  Surely, they have some need from your development skills.  If there’s a cause or organization that you connect with then reach out to see if they could use your skills.  This type of thing shows initiative and character.  It’s also possibly a talking point for building professional relationships down the road.

Start Your Own Company

Starting your own development company and building something definitely makes you a Software Developer with experience.  You could build apps for the Apple or Google stores or find some consulting or freelancing gigs.  If this goes well then it could become your full time job!  At the minimum it’s another step that you’ve taken in the right direction to get yourself in the game.  Even if you don’t sell a bunch of apps or land the big contract, you’ve gained some valuable experience.  Starting a company could provide great benefits as you establish yourself as a Software Developer.

Conclusion

The point of this post is to encourage you to take action and know that you have control over your career.  You don’t have to wait for the perfect opportunity to begin your Software Development career.  The tools and resources are available for you to start right now and begin to gain experience as a Software Developer.  You don’t have to ask for permission or acceptance, just get started and show everybody what you can do.