3 ways to improve your programming skills and find your dream job
You can look for work in different ways, including creative ones. Project Manager Kyrylo Rozbeiko at EPAM Anywhere explains how you can use hackathons, game jams, and coding challenges to find your dream job.
In this article
How do tech professionals develop their skills and look for a great new job?
For skill development, we read books, use web resources, check forums, engage in various online or offline courses, etc. Job hunting isn’t much different. There are various local web resources, the "we are hiring" sections of company websites, LinkedIn, emailing employers directly with your CV and cover letter, etc.
Those are the typical options, but they’re boring.
Job hunting for programmers follows a fairly standardized approach to CV creation and position applications. You need to have a description of your experience and education, a link to a website with completed projects or a portfolio, a list of your achievements and skills, etc., all in the expected formats. All of this is described on paper and the information needs to be confirmed, especially when hiring young specialists. The process is tedious, for the IT specialists and the recruiters. It also requires additional time to be spent by the recruiter or hiring manager, which can lead to review of only some CVs.
Often, companies send candidates test tasks to assess their thinking process and knowledge. Few people enjoy completing these kinds of tasks, they aren’t necessarily related to reality or future work, and they may require a fair amount of time to complete. As a result, test tasks may not be performed at a decent level or they may be ignored entirely.
What if I told you there are other ways of learning something and finding a new job?
We live in 2022; entertainment feels essential to our lives. Reading letters on a screen, practicing without a team — old-school job searching does not increase dopamine levels, it just wears you out. During my own job search and while helping friends with their searches, I realized that there are ways to have a good time, expand your social circle, improve your programming skills, and, ultimately, find a new job.
Yes, I’m talking about alternative job search and training methods, including hackathons, game jams, and coding challenges.
At these events, the organizers (usually a large company in need of new personnel) have the opportunity to look at which of the attendees have the mindset and the hard and soft skills that match their ideal candidate. This spares everyone from interviews, technical tasks, and inspections. It also saves significant time between the first communication and the offer, which saves money as well.
There are also advantages for the non-corporate participants in such events:
- They help to expand your circle of contacts and allow you to find friends with common interests, often leading to the creation of startups, sometimes highly successful ones.
- They can increase your knowledge of new technologies, and enable you to learn about other approaches to problem-solving.
- It's an opportunity to see how you feel in a new role — for example, as a game developer.
- You can win prizes for achieving the best score and receive event merch.
- It’s an excellent way to demonstrate your knowledge to employers and find a potential job.
- At the very least, you’ll have a good time and get a hefty dose of dopamine.
I suggest considering each event type and choosing which you prefer.
This is probably my favorite type of event because it doesn’t require programming skills, and I’m a gamer who dreams of creating my own AAA project.
What is a game jam?
A game jam is an event where you develop your own game based on a predetermined theme, which is often described in very vague terms (for example, "you are your enemy"). The game should be fully functional, preferably with a beginning and end, sound design, etc.
At these events, groups of friends or colleagues with different skills (e.g. programming, modeling, drawing, animation, sound, script, etc.) gather, create a small game, compete with other contestants, and potentially win prizes.
Game jams may be hosted by large game studios or publications, small indie studios, or organizers of similar events without the involvement of game studios. Participation can be free or involve a contribution from a person or team; it depends on the organizer, as well as the availability of prizes and entertainment.
Prizes tend to differ depending on the organizers. Rewards tend to be more generous at larger or more high-profile events than at small events, which can mean that the number of participants also varies, affecting your level of competition. Here are some tips on how to find a job in a game dev studio using game jams:
- Take part in events organized by studios where you would like to work. Even if you don’t win or receive an offer immediately after the jam, you can addy our participation to your resume, which will be a plus.
- Assemble your team ahead of time. Consider the knowledge you have and what additional knowledge that would help you. Think about which of your friends can do what, and at what level. Invite as many friends or colleagues as possible to join the game jam. A significant number of those who initially agree to join may drop out, meaning you could find yourself without someone to fill a key role.
- Even before the event or the topic announcement, think about what game mechanics you would like to contribute. Try to develop them and understand how much time should be spent creating various game elements. It’s always easier to turn mechanics into a theme than the other way around, and many AAA studios use this method successfully. You should also immediately decide what kind of game it will be — 2D or 3D, which game engine to use, and other technical details. This preparation will save you time when writing the game itself.
- Spend the first few hours of the game jam planning. You've got a theme — now sit down and build a plot, connections, mechanics, etc. Eliminate whatever is unnecessary and try to make the game exciting and fully fleshed out.
- Enjoy! These events aren’t just about hard work but also spending time in good company. Working purely for an end result is exhausting, and you’re unlikely to participate in every possible game jam when you’re exhausted. Prepare the groundwork ahead of time and then participate for fun!
A hackathon is perhaps the most well-known type of event to help find a potential employer. Many programmers have participated in these events and created attractive social or business solutions. Perhaps you have even independently organized similar events among your friends, teams, or colleagues.
A hackathon is an event during which various specialists in the field of software development work intensively and cohesively together to solve a problem or create a new application or service. Hackathons usually last from one day to a week. Some are designed for educational or social purposes, but the goal of a hackathon is often to create a complete piece of software. Each hackathon focuses on specific areas, such as programming languages, operating systems, applications, and application programming interfaces (API).
We’re focusing here on hackathons that large companies create to find solutions for future employees. It’s an interesting approach for companies because they can achieve several solutions for a real problem, get a working prototype with ready-made developers, or simply find good developers to fill their teams.
It can also be interesting for developers in several ways, offering the opportunity to find a job, have a good time, learn something new, and make new friends — all at the same time.
I have only a couple tips here:
- Regularly check websites for upcoming hackathon schedules until you find one hosted by a company you're interested in. The principle is the same as with game jams — you may not receive an offer afterward, but you can still list your participation on your CV.
- Don’t be afraid of new technologies. Until you try something new in extreme conditions, you won’t fully understand the technology, and at a hackathon, you'll get support from your team.
This is a mixed model of entertainment for programmers.
Briefly, a coding challenge is a collective or one-on-one competition with other programmers to write code according to given specifications within a set time. For example, you must write a program/mobile application/separate feature/web page/etc., demonstrate your results to the commission, and assess your work appropriately. Everything is run in a similar manner to many sports competitions. Instead of winning gold, silver, and bronze medals, though, prizes like laptops, game consoles, and smartphones could be up for grabs. All participants, regardless of their success, are often given merch from the organizer’s company.
If your main goal is to get an offer, you may wonder: "Is it possible to come in last place but still receive an offer?" In theory, yes, this is entirely possible. It depends on the situation during the challenge. For instance, maybe all the other participants are senior+ level and want higher-level positions but the organizing company is looking for more juniors. This is why a coding challenge can be very interesting for job seekers, no matter their current skill set or level of confidence.
If your goal is to get an incredible experience, compete for a grand prize, or learn new skills, I have one main question for you: "Why aren't you part of the challenge yet?!"
It was a lot of fun, participants gained new knowledge and skills, and of course, the winner received their new PlayStation 5.