Aside from your CS coursework, where you’ll learn principles of programming and how to think like a developer, there are different ways to gain, expand, or deepen your technical skills while at school. Below, let’s consider three options:
- Securing a campus job with Technology Services
- Getting started with Git
- Playing with game development
Work for LU’s Technology Services
LU’s Technical Services often hires student workers to work at the Helpdesk, serve as a Computer Technician Assistant, or act as a Student Web Developer. At the Helpdesk, you’ll be using problem-solving and communication skills as you help people from around campus resolve software problems. As a Computer Technician Assistant, you’ll primarily be fixing computer and printer problems. Student Web Developers develop web applications and web scripting components using a variety of languages, technologies, and techniques. Technology Services often hires a few positions in Fall Term, but keep an eye on Handshake in case they post additional positions in the middle of the school year.
Get started with Git
As you probably know, Git is a free and open-source version control system. Git allows you to create git repositories – these repositories record the change history of your project and are local to your device in the root directory of your project. You can also synchronize your local repository with remote repositories. GitHub is a hosting site for remote repositories. If you’d like to start learning more about Git, check out Git and GitHub Crash Course. At just over half an hour, this video breaks down the basics. OpenSource’s step-by-step guide to getting started on Git is another great place to start. Want to get visual? Learn Git Branching is a visual and interactive way to learn Git on the web using demonstrations of features.
Play with Game Development
Because game development can include skills in networking, I/O, graphics, even AI and data science, it can be a fulfilling and fun way to learn software engineering principles. Starting with a game framework like the Lightweight Java Game Library (LWJGL) will give you quite a bit of control over your game. For reference, Minecraft Java Edition uses LWJGL. Prefer C#? MonoGame (think Stardew Valley and Terraria) allows you to use C# and other .NET languages. All the code is available to you so you’ll have the ability to make changes when you need to or port to new platforms.
There’s also the option to start building your game on a game engine. You’ve probably encountered Godot (Sonic Colors: Ultimate), Unity (Cuphead, Stranded Deep, Hearthstone, and Hollow Knight), or Epic Games’ Unreal Engine (Fortnite, Borderlands 3, Ark), CryEngine (Far Cry, Sniper Ghost Warrior Contracts 2), OpenAge (Age of Empires). Engines like these are especially great if you want to actually release a game.
These are just three ideas for starting to build out your technical skills, but there are plenty of other strategies out there, like participating in Hackathons or securing summer internships.