59 Tips for Aspiring Software Engineers

59 Tips for Aspiring Software Engineers

·

4 min read

Let's get right to it.
Rounding up my internship with Outreachy at Public Lab, we were tasked to have informal chats with various experts in all aspects of the technological space of our interest, I used the opportunity to talk to a little over a dozen (and counting) people with over three decades of experience combined.
In this article, I would be going over all I have learned from talking to all these people.

Sidenote; in as much as most of these bits of advice were targeted at software engineers, I believe the knowledge I gained is applicable to all fields in the technological space and life as a whole.

Here we go:

  • Stay curious; as an engineer in an ever-changing space as tech you need to be curious and eager to learn, if you lack any of these, good news! you can learn it. It's a must-have.

  • Self-discipline; can not be emphasized enough, it takes a lot of discipline to be successful at anything. Being an SWE, you need to be able to discipline yourself to get your tasks done in time, write clean code, and much more. Motivation, I'd say, won't cut it, self-discipline would and you can learn.

  • Ask questions; as Charles Proteus Steinmetz once said "There are no foolish questions and no man becomes a fool until he has stopped asking questions".

  • Communication; is paramount as an individual and more so in a technical field such as software engineering, you need to be clear, direct, and polite.

  • Collaboration/Teamwork.

  • Patience.

  • Networking.

  • Time management.

  • Belief in one's self.

  • Humility.

  • Consistency.

  • Self-awareness.

  • Tech is broad, find your niche based on your individuality.

  • Join communities and be active.

  • Learn by doing.

  • Be excited about what you do, it does get boring at times.

  • Beware of overspecialization.

  • Degrees do matter in the long run, but it doesn't mean you should quit your job and go back to school.

  • Be yourself, you don't have to be perfect.

  • Focus on the impact your work has on the product and the company in general.

  • Don't get too comfortable, discomfort aids growth.

  • Learn in public.

  • Experiment with other languages.

  • Join companies that align with your goals and also promote learning.

  • Build first, optimize later.

  • Explore all your interests in and out of tech.

  • Choose who you interact with.

  • Ask for help.

  • It's okay not to have it all figured out.

  • Learn to focus on one thing at a time.

  • Pay attention to details.

  • Quality over quantity.

  • Take action.

  • Ask for feedback and take some more action.

  • Don't compare yourself to others.

  • Exercise.

  • Don't lose track of time.

  • Keep in touch with the ones you care about.

  • It's fine to not know.

  • Master one then explore.

  • Don't overthink.

  • Be intuitive, and figure out what's next.

  • Make time to learn.

  • Take breaks from bugs.

  • Plan your days ahead.

  • Sign up for newsletters.

  • Get a mentor(s).

  • Practice listening.

  • Don't be afraid to make mistakes, and learn from them.

  • Know the fundamentals of your chosen primary language and role.

  • Know how DSA works.

  • Pull out all the stops, if you think something can give you an edge, use it!

  • Do your homework on the companies.

  • Use sites like Leetcode and Glassdoor to check previous interview questions.

  • Know how to market yourself.

  • Take a mock interview.

  • Diversify your resources.

  • When it's time for the interview, focus on how well-prepared you are.

  • It's okay to feel bad for a bit but bounce back and keep on going.

There is a lot more to software engineering than just writing code. One needs to embody these attributes and more to be a successful SWE. The good thing is; we can always learn them.

I hope you found this helpful.
Do like, comment, and follow.