9 tips I wish I knew when I was a student

9 min read
0
9 tips I wish I knew when I was a student

There’s a saying I used to like: “School is like a free trial for work/life.” This is somewhat true because school is the phase in life where we can make mistakes and learn the most.

On the other hand, school can sometimes be overwhelming, especially for tech students. This can be due to peer pressure, constant comparisons, limited mentoring, scarce resources, and the lack of guidance on what to do, and what not to do.

Since it’s PFE (end-of-study project) internship season, I thought of sharing some school tips and tricks that worked for me, as well as lessons I learned either during my student years or later on after I graduated.

1. Learn as much as you can

With all the GPTs and Claudes out there, reading a book or attending a class might feel like a thing of the past. If an AI chatbot can answer all your final exam questions, why even bother learning, right?

Here’s the thing: in this age of easily accessible information, and Gen AI, learning is no longer just about acquiring knowledge. It’s about the cognitive exercise.

When you consistently learn (even if the topics are irrelevant) your brain gets used to absorbing and processing information. You become a better learner in the process. This means that when you’re faced with something new, you’ll pick it up faster and more efficiently.

Remember the free trial analogy? Once that trial ends (aka you graduate), the expectations get higher, and the time to meet them gets shorter. If you’ve built the habit of being a good learner, you’ll have a better chance at navigating your career with ease.

All in all, keep your brain active and working. The best way to do that? Learn.

💡 Tip: Mix slow learning experiences, like reading books or taking courses, with faster ones, like watching YouTube tutorials or reading blog posts. This will train your brain to adapt to different modes of learning and help you create your own style.

Useful resources

2. Keep Moving

If there’s one thing I want you to take away from this post, it’s this: Move. Join school events, participate in communities (online and offline), enter programming competitions, attend hackathons, engage in conversations (Discord servers, Facebook groups, real-life clubs), organize trips…

Do whatever you want, as long as you move. When you move, you meet new people, expose yourself to new ideas, gain experiences, and unlock opportunities.

In my fourth year of school, I started saying “yes” to everything. That year was packed with events and connections, many of which helped me find internships and my first job.

I’m not saying you have to say yes to everything (it maybe be not the healthiest approach) but as long as you’re putting yourself out there, you’re increasing your chances of landing opportunities.

Opportunities follow the laws of physics: either you move toward them, or they move toward you. The bigger the opportunity, the harder it is for it to come to you 😉.

Useful resources

  • 🔗 Geeksblabla: Follow us on social media. We often share Moroccan tech events.
  • 🔗 Morocco Valley: Morocco Valley are doing a great job curating Moroccan tech and AI events.
  • 🔗 Developers Conferences Agenda: CFP agenda for tech events all over the world.
  • 🔗 Devpost: A listing and a community around hackathon world-wide.
  • 🔗 Hackathon.com: Same as Devpost but is more general.

💡 Tip: If you can’t find the community or event that matches your interests, take the initiative and create it 😉.

3. Don’t fear unfinished projects

If you’re a tech student or a tech person in general, there’s a high chance you’ve got at least one unfinished project lying around.

When I was in school, I always felt the need to finish all my projects. This perfectionism held me back from starting new ones and kept me stuck maintaining old projects I didn’t care about anymore.

It took me a lot of time and frustration to accept the fact that it’s okay to have unfinished projects. And from then, I started focusing on learning and value instead of maintaining dead projects.

💡 Tip: Before starting a project, define its Definition of Done (DoD) and involve others (contributors, peers, clients, etc.) in the process. This helps with continuity and keeps you motivated to finish or at least make progress on the project.

Useful resources

  • 🔗 ALTs Morocco: A community of young Moroccan builders.
  • 🔗 Product Hunt: Get inspired and Build your project in Public.

4. Take a step back, be different

A few years ago, I took the initiative of reviewing resumes from final-year students at my school.

To my surprise, almost all of them looked the same. This shouldn’t be shocking since everyone studies the same courses and works on the same school projects.

Later, I spoke to some recruiter friends who confirmed they see the same pattern every year from PFE candidates.

Now that I’m saying it, it seems obvious. But as a student, it’s not. It’s a trap most students (myself included) fall into.

Take a step back and always look for ways to differentiate yourself from your peers. This is where moving and working on unfinished projects come in handy. 😄

Useful resources

5. Use school projects to your advantage

School projects are a fantastic opportunity to learn. Even better if they’re fun and interesting.

My advice is always to try to make your school projects work for you.

First, if possible, negotiate the topic to align with your interests.

Then focus on what is offers you the most value and delegate the less interesting parts to your teammates, open-source code, or even no-code tools.

Finally, publish the project and make it available for everyone to check. This will help your brand and help you connect to link-minded people from the community.

All of this not only helps you stay engaged but also differentiates your work, even if it’s technically the same project as everyone else’s.

Useful resources

6. Contribute to open source

This is one of the most overrated yet invaluable pieces of advice I got as a student.

Back then, I thought: How can someone who doesn’t even know if HTML is a programming language contribute to open source?

To be honnest, that was on me. I didn’t understand what “contributing to open source” really meant. Contributing to OSS isn’t always about writing code.

Start by using open-source tools. This alone is a form of contribution. Then, engage with the community: read the code, ask questions, open issues, suggest ideas, or join discussions on forums and Discord.

Even without contributing a single line of code, this process will teach you how software works, help you build a name for yourself in the community, and prepare you to contribute code when you’re ready.

💡 Tip: Building your own open-source project also counts as OSS contribution. 😉

Useful resources

7. Customize your work environment

A good dev/work environment is one of the most underrated aspects of our industry.

Having a well-optimized setup can make you significantly more productive. It can even become a differentiator in your career.

Setting up a good environment takes time, so start experimenting while you’re still in school. Try different OSes, IDEs, terminals—whatever helps you find your flow.

The earlier you start, the better. And the process of building your setup will teach you skills that’ll make you a better software engineer.

Useful resources

8. Use your student privileges

One of the trickiest parts of being a student is having limited financial resources. This makes it hard to pay for learning materials.

When I was a student, I’d often bargain using the classic “Hna ghir talaba” line. Surprisingly, many students underutilize their status when it comes to accessing resources.

Beyond free resources like free-for-dev, students can access programs like the GitHub Student Pack, which includes free or discounted plans for cloud providers, industry-grade IDEs, and learning platforms.

All you need is a university email or a student certificate.

💡 Tip: If a product you like isn’t on these lists, email the founders or support team for a student discount. It sometimes works.

Useful resources

9. Have fun

Travel whenever you can, read books, join local communities, learn an instrument, or pick up a sport.

School is great and all, but on its own, it’s often not enough to make you a well-rounded software engineer and a good human being.

Useful resources

Share article: Share on x Share on facebook Share on instagram Share on linkedin