Tips for graduates
At Village Software, we hire a good proportion of fresh graduates. After all, everyone needs their first break to get that “3 years minimum experience” that every other software development job requires. I’ve been lucky to be involved in the technical interview process for a few of these applicants, and here are some shortcomings I’ve observed!
1. Lack of excitement for the craft (outside of uni work)
Developers are excited about technology. They try new things at the weekend because it’s fun. We want to hire someone who thinks programming is fun and loves good code. When I ask you about what projects you’ve worked on recently, I would like to hear about something else as well as your final project. If you’re not writing code outside of what you absolutely have to do to pass your course, then that says something about how you see programming. It’s good to have a GitHub/BitBucket profile. Have a StackOverflow profile if you can. Have a technical blog or at least a personal website (which you wrote). That tells me you’ve got the excitement for code and you’re honing your craft!
2. No experience with version control
On my Open University course, we used SVN for just one module, which was TT284 Web Technologies. The course came under criticism from students for being a “whistle-stop tour”, because it touched on HTML, CSS, JS, PHP, MySQL, SVN, and even Android development in just three months, so as you can imagine, very little attention was given to the what and the why of source control in SVN. Locally to Liverpool, the universities aren’t giving students much more of a chance than this to learn and use version control. If this is true for you as a student, then get yourself started with one of the big ones: git, SVN, or Mercurial. It doesn’t really matter which one.
3. No experience with team and planning tools
Get to grips with the online team co-ordination tools that go with your source control, such as GitHub or BitBucket (both work with all the big three). Find ways to use task planning software like Trello, JIRA, or Bugzilla with a team, either by contributing to open source or by collaborating on uni/personal projects with others. The new GitHub Projects feature looks like it might become a popular thing too. Getting into open source can be scary, but start with little changes that are easy to accept and always read and follow the contribution guidelines set out by the project maintainers. If you are contributing to open source, that really would put you head and shoulders above most other graduate candidates.
4. Can’t write code
I’ve interviewed graduates with first class honours who can’t write code or talk about it intelligently, which is baffling. You should be able to do this, on screen, and on paper.
5. Can’t reason about code
Remember your diagrams from college and uni. Entity Relationship Diagrams and Class Diagrams really happen in real work life. Nobody expects you to draw perfect UML, but you should be able to reason about code using drawings and diagrams, particularly to explain object oriented concepts like inheritance.
To be a compelling hire, go above and beyond what your university course teaches and requires of you. Excercise your passion for tech and programming, and you will stand out!