DEV Community

Cover image for What I really do as a full-stack developer
Marius Bio
Marius Bio

Posted on

What I really do as a full-stack developer

Photo by Clark Tibbs on Unsplash.

Certain coworkers, and friends, asked me what it means to be a “full-stack developer”. Developer, I get it, you can code, right ? But “full-stack”, qu'est-ce que c'est ?

I work for a startup in Quebec city, we design and build lithium-ion batteries for material handling equipments, and the devices are connected to Internet. My official role name is "full-stack developer", and I mostly develop web applications (or software solutions) related to the data collected from all the devices.

What is a full-stack developer ?

Simple, it's a "jack of all trades, master of none". A generalist rather than a specialist. You can find a definition here, and if you need more, check out this excellent post about the myths and lies about the full-stack developer.

A full-stack developer is a person who can develop client and server software solutions, with skills in all the layers involved in a development project. He/she is a software engineer.

Ok… So what exactly do you do ?

Infrastructure management

I design and build the architecture to support business requirements and scalability. It involves virtual machines provisioning, serverless architecture, security and access policies, network and storage management. Everything is cloud based.

Database management

We collect and process terabytes of data every day and I make sure data is available to users, using different engines (relational or NoSQL databases, warehouses), and the data is securely stored and accessed.

Back-end development

Back-end (web) development refers to everything going on under the hood, what you don’t see on a web page. I develop new features and APIs to access and exchange data between multiple applications and services (internal or external), including testing (unit and integration tests), server management, continuous deployment, security and maintenance. Back-end development is what I do best.

UI/UX design

I design the user interface (UI) and make sure the end user has the best experience (UX) with the software solutions I build. I consider myself above average when it comes to designing simple and effective user interfaces, but I’m not a designer. For what it's worth, I'm obsessed with details and also love visual arts, photography in particular.

Front-end development

Front-end development refers to what the users see and interact with on a web application. I make sure everything is intuitive, accessible, fast and responsive.

Business intelligence

Working in a data driven company involves using data to make better decisions. We help our customers reduce their CPU (cost per unit — each customer having their own definition of CPU) — by providing effective and custom dashboards. I write queries (materialized views, data cubes) and setup data marts that help our customer success team members build reports or key performance indicators (KPI).

ETL/automation

We use multiple applications and services that use different (or transformed) data from one or multiple sources. Sometimes I have to build automated scripts or scheduled tasks to make sure the data is available at the right time and in the correct format.

Project management

I usually work on and lead 1–2 projects at the same time, involving 1 to 3 departments (R&D, customer success, finances, operations, etc.). I make sure we meet the goals and deadlines and quickly deliver value.

Teaching/Learning

This one is not particularly related to the role but I enjoy sharing knowledge or teaching something because you always learn something yourself.

Conclusion

Most of the time I do project management, back-end and front-end development, since the architecture and the automated scripts are all set and running smoothly.

New customers coming with new challenges, and existing customers asking for new features, I usually need to work more or less on a specific aspect of the full stack. Sometimes I'm a cloud architect, a database administrator, a UI/UX designer, a back-end or front-end developer, a business analyst or ETL developer, a project manager or simply a presenter.

Above all, I enjoy solving problems and help others be more efficient. Are you a full-stack developer or a software engineer ? What do you do do in a day-to-day basis ?

Top comments (5)

Collapse
 
joolsmcfly profile image
Julien Dephix

Day to day basis?

  • code reviews
  • help/guide other team members
  • stay up to date by reading articles
  • work through my todo list in Jira
  • keep en eye on Sentry
  • sysadmin stuff when needed

Fun stuff that are running smoothly:

  • set up Jira workflows
  • Bitbucket Pipelines
  • Docker environment

Biggest win with a DBA cap on:

  • 40x performance boost via data consolidation (subject of a future post).

As you said, we’re master of none but having fun with all layers involved. 👊

Collapse
 
joelbonetr profile image
JoelBonetR 🥇

I always thought that the best thing for we, full-stack is that we never get tired of a single thing because we jump constantly from one to another 😂

Collapse
 
mbio profile image
Marius Bio

Totally agree!

Collapse
 
vulcanwm profile image
Medea

Really nice explanation!

Collapse
 
cabrel92 profile image
cabrel92

ILove this