Laptop computer with keyboard, illustrating a software developer's primary tool

Looking for a programming job? Here are a few places to start.

With so much business moving towards software and apps, programmers with solid skill sets are in high demand. As a result, many people out there are jumping headfirst into software development. But if all you have is a flashy resume and a slick haircut, you won’t be going far as a programmer. Employers are looking for candidates whose skills are well developed. How is the code?

GitHub repos > Resumes

If you're looking for a job as a software developer and you think your skills are good enough, show them off. Put them on display in a public GitHub repository. It doesn't have to be a full-blown web app, but a side or pet project can really impress companies looking to hire. GitHub is also a great place to improve your skills, learn from other developers, and contribute to open-source projects. If a developer sees your stuff online, they might even reach out to you.

This GitHub Resume Builder is a good stepping-off point: http://resume.github.io/

Publish, ship, deploy… anything!

Employers want to know you have the skills to develop quality, maintainable code. But showing that you have experience releasing work into the wild puts you in another league.

These days there are so many platforms with low barriers to entry. Pick one and release a product. It doesn’t need to be too complex or over-the-top impressive. Just having a release, in any area, shows you have the determination to iterate towards a goal, and most importantly achieve that goal!

By publishing or shipping a project to real users you indicate that you understand a lot more about the software development life cycle than your peers. Some easily accessible platforms include:

  • Browser Extensions
  • Mobile Apps
  • API or Data Libraries
  • Useful Scripts
  • ChatBots for Slack or Facebook Messenger
  • Packaged Libraries for PyPi, NPM, Ruby Gems, or Docker Images

Hack it ‘til you make it

Another great place to hone your skills, build awesome stuff, and make meaningful connections is at a local hackathon. Most major cities have hackathons of some size, and a quick Google search can yield easy results. For the unfamiliar, hackathons are basically hacking festivals. They involve teams of people (sometimes strangers) getting together to sprint over a few days to build something unique from scratch.

Hackathons provide great insight into what it’s like to be a developer. They give coders a chance to work as a team, come up with new ideas, build software and even hardware products from the ground up. Companies also attend hackathons looking for recruits, and some have even deemed hackathons the “career fair 2.0.”

Diversify your skills

One last surefire way to get noticed? Be versatile. Once you’ve mastered the basics in one area of development, try expanding your knowledge. Already an ace frontend developer? Try standing up your own REST API to integrate with those gorgeous front ends you’re crafting. If you’re becoming a skilled systems engineer, take time to learn and develop GUI interfaces. The marriage of related skills can take your projects, and your job offers, to a new dimension.

Overall, becoming a software developer is a long, challenging road with many hours of practice involved. But if you put in the work and develop the mastery, the payoff can be big.

Related Posts

August 18, 2024 • Frank Valcarcel

What makes Enterprise Software Development Different?

Enterprise software powers large organizations, handling complex tasks across departments. From robust security to scalability, these solutions face unique challenges. Explore what makes software “enterprise-ready” and how to choose the right development approach for your business.

Image for 'This Week I Learned' blog post featuring tips on managing Git branches including renaming and syncing with remote changes.
October 8, 2019 • Frank Valcarcel

TWIL 2019-10-04

Join us for ‘TWIL,’ where Emily shares innovative Git tips for managing branches with rewritten history. Learn to sync local branches with remote changes and rename them effectively.