Expert Advice: Tips on How to Stand Out for Software Engineers Starting Out

Today Lux Academy celebrated its first anniversary and launched LuxDevHQ a developer talent search company. Since its launch, Lux Academy has been able to organize over 4 boot camps and 30 virtual events the first one being the 100 days of Javascript followed by the launch of a site for project-based learning and communities like DataScience East Africa that sponsored exchange of innovative idea and open-source and Lux Ladies a community to support and bring together ladies in tech.

In today's session, we had three experienced software engineers i.e Wayne Gakuo, Valentine Rutto, and Denise Allela who shared their experiences and encouragement to people who are getting to tech or still new in the field. Here are key points:-

The first speaker was Valentine Rutto, an Android Software Engineer at D-Light, mentor at Akira Chix and Android Trainer at Andela. Shared more on preparing for a tech hire:

  • if one is new to the tech they have to identify their personality in order to choose the appropriate tech career path they can follow i.e they might either be interested in problem-solving, design, animation among others.
  • After choosing the track i.e either Front-end/Backend web development, Mobile-App Development, Design, Data Science, Cloud among others they can go ahead and learn the hard skills either by joining schools/ Bootcamp training, finding a course online on Udacity, Pluralsight, FreeCodeCamp, Youtube
  • You need to put yourself out there and your work out there i.e writing articles, talking in meetups, sharing your learning progress on Twitter, working on your LinkedIn Profile among other ways.
  • Prove you can add value i.e build real-world projects and commit your code to Github/Bitbucket etc and sharing your Github Profile, or if you're a designer put your designs on Behance to build your Design Portfolio then share the Behance Profile.
  • Find a tribe/community i.e "it's not about who you know but who knows you"

The Second speaker was Wayne Gakuo, a Front-end developer at Cobiro, an ally of Angular Kenya, GDG Nairobi, Anita B Org Nairobi. He takes sessions through working with distributed remote teams i.e communication and project management:

  • In remote development project management is key and the good tools for project management:
  • Trello a visual collaboration tool for organizing and prioritizing projects

  • Jira which is built for every member of your software team to plan, track, and release great software. It has features like issues, components, releases, project pages, add items, project settings among others.

  • Azure DevOps which allows different tasks to be assigned to a particular time and also has features like reports, pipelines, test plans, artifacts, and wikis for documentation for example CSS files for styling.

  • Communication is also key in remote development unless otherwise there will be communication breakdown and Slack is the effective tool for communication. Most often we use messaging tools like email, telegram, WhatsApp among others to chat with our fellow team members but Slack is good since it's a message and storage tool used on multiple features i.e upload files/images, interact or update members, integrate with other apps like Zoom, Google Calendar, Trello, etc, and create custom emoji. Slack has features like channels i.e chatrooms which can be public or private, Direct Messages, invite, search, mention & react, pin a message, integrate other apps, etc.

  • Discipline in terms of productivity and time management are part of the tips of good remote development.

The third speaker was Denise Allela, a Developer Relations at Google, Android Engineer, Machine Learning & IoT trainer. Her session was mainly on how to be an effective software engineer putting into consideration your development environment, the language of choice, team expertise, target audience, and device compatibility:

  • Be driven by passion
  • Have the ability to adapt and learn since the scope of work often changes from time to time.
  • Foster collaboration i.e pair programming, mob programming, or sharing features on a common project.
  • Your clients should be your top priority i.e app useability and end-users.
  • Be open to feedback.
  • Acknowledging that learning never stops i.e learn to try and implement as a way of practice.
  • Specialize in a given area i.e choose a path and deep dive into one language.
  • Unwind in order to have a work-life balance.
  • Join tech communities
  • Embrace Test-Driven-Development(TDD) for every project.
  • Have clear and clean code i.e easy for the next person who will be handling it to understand. (naming variables and functions use relatable words)
  • Don't get hooked to tutorials i.e go beyond by building your own projects without always referring

Those were the main tips shared by the experienced software engineers to the juniors and those getting started in tech feel free to check their profiles follow or ask any questions. Thank you for reading my article share any comments or insights.

Did you find this article valuable?

Support Sharon Jebitok by becoming a sponsor. Any amount is appreciated!