• Motorburn
      Because cars are gadgets
    • Gearburn
      Incisive reviews for the gadget obsessed
    • Ventureburn
      Startup news for emerging markets
    • Jobsburn
      Digital industry jobs for the anti 9 to 5!

3 must-have skills for young software developers

Career advice usually comes packaged in experience, but to be frank, my experience as a young software developer was vastly different from the world that faces the ranks of young software developers today. Software development, as an industry, is uniquely fast-paced. What was true five years or even one year ago may no longer be true now. Instead, my advice comes packaged from the other side: these skills are what I look for in young developers.

Even more, workers in software development, tech in general, and the workforce at large have become increasingly mobile, and young developers need to cultivate skills that they can take with them no matter where they are or where they want to be. These are three skills that every developer will benefit from having for their entire careers, and they are important to take stock of early on.

1. Understand — and use — distributed source control systems

Being able to understand distributed source control systems like Git and Mercurial is not a new skill, but as an old skill, it has become more and more relevant to enterprise software development. Not only can distributed source control systems expose inexperienced developers to the array of projects in development, but not being familiar with these systems may also be a major limitation for a developer. It is easy to become disconnected from the current trends in software development in a closed development house, and being disconnected is one step away from being out-of-date. So every young developer should make the effort to expose themselves to these systems early on. Services like Bitbucket, GitHub, Google Code, Sourceforge are accessible and handy tools for developers even if their jobs don’t explicitly require it: at the very least, they provide a great way to build a repository of your own personal projects. Even more, many potential employers will ask to see your profiles on these accounts, and an active profile is a great indicator of a connected and enterprising developer.

2. Participate in the open-source community

It used to be that participating in the open source community required a lot of individual legwork. You would add yourself to a mailing list, hoping to get your foot in the door, and maybe then get an invitation to participate. That’s no longer the case, but not because participating in the source community has become passive. Rather, it’s just that much easier. Projects abound, and source codes are readily available. The community is truly open now, and everyone is automatically part of it. It’s all a matter of finding a project, getting started, and actively contributing.

Another advantage of using a tool like GitHub is that it gives you access to the community even beyond access to projects. Being a part of the open source community is not just a matter of collecting a list of projects to work on. It’s also a way to socialize, to connect with other developers, to understand current trends, and ultimately, to influence the direction of the industry. The goal, here, is not just to learn, but to participate in the evolution of software development. Even developers just coming out of college (or even earlier — it’s never too early to begin) will benefit from getting involved in open source right away. In our industry, employers would rather see what you can do than be told, and a resume will often play second fiddle to your GitHub or StackOverflow profiles. Spend the time contributing, earning badges, and otherwise showcasing your skills in these collaborative environments.

3. Collaborate across space and time

In a world where people (and talent) is widely distributed geographically, the ability to work remotely and asynchronously is a hot commodity. This last tip may seem more obvious, but working and collaborating with people in remote locations and with differential time schedules is one of those things that’s easier said than done – and one that can be especially challenging for young devs. Evolving and remaining relevant in this industry requires us to break down our dependency on being in the same room with all our collaborators. If you look at prominent development houses like Google and Oracle, you’ll see a global distribution of developers. They’re looking for the best talent, and if they can’t find the perfect people locally, they go abroad. Since the huge bonuses and stock incentives went away in the ‘90s, developers have become less and less interested in staying somewhere they aren’t happy. As a result, we rely more and more on our ability to work in ways that span distances and time zones.

At the end of the day, the person who knows best what specific skills they need to cultivate to accomplish their goals is the young developer themselves, but the above skills are things that can benefit any developer and will only supplement great talent. The face of software development is changing, and the challenge to young developers is not just how well they can adapt to these changes but how they can drive these changes.

Author | Ray Augé

Ray Augé
Ray Augé is a Senior Software Architect for Liferay, an enterprise open source portal and collaboration software company. More
  • Pingback: 3 must-have skills for young software developers | memeburn | Alpha Channel()

  • Pingback: 3 must-have skills for young software developers – Memeburn | Software Free Download()

  • Pingback: 3 must-have skills for young software developers | Smart Cell App…Viewing Its Technology young()

  • iNetGlobalSolutions

    Great tips for potential young software developers.

  • pants on fire

    Oh the irony.. getting career advice from Ray Augé, someone who has been working his entire career at a single employer and at that a company so stuck in the past it uses struts 1 and does not even do unit testing

  • Sanhedren

    Now why make a moronic comment like this? What makes you think his entire career has been at one company. Regardless how is his career even relevant to the article? Did you even read it? If you had you wouldn’t be making immature comments like this. I’m sensing huge insecurity issues here. Suck it up and shut up.

  • Jaime

    I agree. “his entire career at a single employer”. Isn’t that what having a career means? People who have no real work ethic or jump from career to career are either really awful at what they do, can’t keep a career job long enough, or troll the internet for forums and articles to leave “I am so much better” type comments when they know full well they aren’t. Don’t listen to the haters Ray. Anyone that matters knows how valuable your input really is.

  • Kevin

    “…someone who has been working his entire career at a single employer…”
    You can’t be serious, can you? Do you even know that the word career means?

    Clearly the answer to that question would be no. So to save you, pants on fire, from even further humiliation (or maybe not since you’re not really worth it to begin with), here is the definition you obviously didn’t double check before before making an utter idiot of yourself:

    “An occupation undertaken for a significant period of a person’s life and with opportunities for progress.”

    Huh go figure.
    And to Ray Augé, great article, sir. Keep up the great work!

  • Pingback: >kloctalk | Why code review tools are ideal for today’s long-distance collaborations()

More in Open Source, Web development

Getting UX right is like walking a tightrope: here's why

Read More »