Skip to main content

Navigating Your Path in Software Development: A Guide for New Graduates

As a new graduate entering software development, you may encounter a variety of roles, each with its own set of responsibilities, required skills, and interests. To help you navigate these opportunities, let's explore the distinct characteristics of these role/career pathways within API PLUS TECH (APIPLUS).

1. Frontend Engineer

Responsibilities: Frontend Engineers are the creative minds shaping the user interface and experience of applications. They work on the client side, implementing designs to ensure applications are visually appealing, responsive, and user-friendly.

Skills:

  • Proficiency in frontend technologies (HTML, CSS, JavaScript).
  • Experience with frontend frameworks (React, Angular, Vue.js, SvelteJS).
  • Understanding of user experience (UX) principles.

Interests:

If you have a knack for creativity, enjoy creating interactive user interfaces, and appreciate design aesthetics, Frontend Engineering might be your calling.

@APIPLUS:

This role is best suited for new graduate within our company as it requires an engineer to understand the least number of technologies (Typescript/HTML/CSS) and frameworks (SvelteJS, TailwindCSS and container technologies). Nevertheless, we expect our engineer to have a basic understanding of algorithms as it is needed in many areas of our core products.

A new frontend engineer in this role is typically tasked with developing UI from our product team based on our internal backend API. An experienced frontend engineer in this role is tasked with developing framework used by other team members, improve process workflow, and laying general groundwork of our frontend infrastructure.

2. Backend Engineer

Responsibilities:

Backend Engineers are the architects behind the scenes, focusing on the server-side development of applications. They design and implement the logic, databases, and server operations that power the software.

Skills:

  • Proficiency in server-side programming languages.
  • Database management skills.
  • Knowledge of backend frameworks (specific to the language/team/company).

Interests: Individuals interested in tackling complex algorithms, optimizing performance, and working with large-scale data would find Backend Engineering fulfilling.

@APIPLUS:

This role is best suited for people who like to code but does not like frontend UI related work.

Engineers in this role within API PLUS typically do either of this work:

  • Application: The task typically involves hiding complex real life situations with an easy to understand interface for frontend applications.
  • Infrastructure: The task involve development of backend infrastructure used by the whole company.

The position requires a deeper knowledge of how things work compared to frontend role and open-ended in nature.

3. DevOps (Platform Engineer)

Responsibilities:

DevOps professionals, also known as Platform Engineers, bridge the gap between development and operations. They automate and optimize processes, including building, testing, and deploying software, to enhance efficiency and reliability.

Skills:

  • Familiar with the concept of domain name and how network (IP) works
  • Knowledge of build system (e.g. make)
  • Automation skills and scripting knowledge.
  • Proficiency in CI/CD tools (Jenkins, GitHub CI/CD).
  • Experience with containerization technologies (Docker, Kubernetes) and infrastructure as code (IaC).
  • Information security
  • Cloud technology

Interests:

This role is best suited for people who like technologies but do not like to code as much. The role will require an understanding of diverse tools and technologies. Exploration with pre-existing tooling is the nature of this job. People in this role should enjoy understanding things and be very comfortable with manuals (you'll need a read a lot of them). If you find satisfaction in automating repetitive tasks, optimizing workflows, and having a holistic view of the software development lifecycle, DevOps could be your niche.

@APIPLUS:

At API, due to the need to understand lots of diverse toolings, this role is typically reserved for backend engineers who likes to tinker and explore other tools.

4. Full-Stack Engineer

Skills:

A Full-Stack Engineer combines both backend and frontend skills, excelling in server-side and client-side technologies. They are versatile contributors to various aspects of a project.

Interests:

For those who enjoy the best of both worlds, working on server-side logic and user interface development, Full-Stack Engineering provides a well-rounded experience.

@APIPLUS:

We do not specifically hire for full-stack engineer as we do not believe that any new graduate can truly be an expert in both frontend and backend technologies. People in this role within our company generally migrate from front/backend engineers due to necessities/interests as they grow within their roles.

5. Data Analyst / Engineer / Scientist

These roles are dedicated positions for data related specialty. We do not foresee any of these dedicated positions opening within our company in the near future.

@APIPLUS:

Data analyst requires data to analyze. We are several years away from having a platform that can provide full visibility into our system. However, once such a system is in place, the person best suited for this role will need to have a holistic view of our business. This likely won't be a junior position.

Data engineer's task is currently being fulfilled by backend/devop engineers as needed. We do not expect to have a dedicated position in this role in the foreseeable future.

Data scientist requires a huge organization support (budget/insfrasturcture/etc.) due to the nature of this role. We do not feel that our startup would need this position until we have enough scale.

Conclusion

As a new graduate, the key is to explore your interests, leverage your strengths, and stay open to learning. While each role has its unique characteristics, the industry is evolving towards collaborative, cross-functional teams. Adaptability and a diverse skill set will not only make you versatile but also position you for success in the ever-changing landscape of software development. Find the intersection of your skills and passions, and embark on a fulfilling journey in the world of technology.