DEV Community

Ganesh Patil
Ganesh Patil

Posted on • Updated on

 

What is Developer Experience?

I am writing my first post here to express my developer experience in my 10+ years of experience as a developer. I am trying here to explain Developer Experience that can understandable by developer ๐Ÿ˜Š

Many organizations needs to think more seriously about the DX. Letโ€™s see what is exactly mean by Developer Experience. DX is similar to UX and here User is the Developer, User who is creating a product or work for companies.

Companies mainly focuses on improving employee experience, means they provide perks like wel-come kit, good office ambiance, free beverages etc. but I think they should more spend or invest on how developer can work or finish their tasks effectively or efficiently.

Below are some of Good / Bad developer experiences.

  • ๐ŸŒ System OS : Biggest problem these days, companies provides windows laptop to developer to work. Windows has many issues while installing dependencies. Most of the devโ€™s spent maximum time to resolving dependencies while setup new projects on windows system. On the other hand Linux or Mac suites best for development & that can be improve dev experience as well as product quality and it consumes less time as well.

  • ๐Ÿ—๏ธ Project Setup: Complex architecture, over engineering or unnecessary other applicationโ€™s dependencies make difficult to setup a project on local for new joiners. Another big problem is not having proper documentation to install/setup the project. After cloning project need to modify too many files inside project to get it run on local & keeping in mind that those changes should not be a part of your PR ๐Ÿ˜–.

  • ๐Ÿ› ๏ธ Tools: Many Developer devโ€™s uses VS Code these days but there are other many devโ€™s uses WebStorm, sublime text, atom etc. company should allow them to download this kind of IDEโ€™s and also provide them paid license if required. Same with other tools like BrowserStack, Udamy, Coursera etc.

  • ๐Ÿค– Automation: Architect/Senior team must think about automate deployment process. Jenkin pipeline jobs should be auto triggered, like after creating PR or after merging PR to branch, deploy changes to dev environment & easily can deploy changes on QA/Stage/Prod environment. Manually triggering Jenkins job with too many parameters is not good DX.

  • ๐Ÿ›ก๏ธ Release Process: Release process should be very well aligned, automated & should not include any manual changes needs to be done while releasing. Developers are humans and they have ability to forget ๐Ÿ˜Š, Sometime they forget to run one of script on stagging/beta/production environment while deployment is nightmare ๐Ÿ˜ข. Sometime I experienced to release one feature which needs to deploy multiple changes on multiple servers (buckets) or manage many scripts to run on difference DB manually is not a good process. This gives headache to developers as well as time consuming. Organization should invest sufficient time to automate this kind of process. ๐Ÿ˜Š

  • ๐Ÿ‘จ๐Ÿฝโ€๐Ÿ’ป Role & Responsibilities: Many organizations assign tasks to developers who donโ€™t have that skills. Like assign some backend task to Frontend dev and vice versa. Or give some technical task to non-technical person. This is very bad developer experience and that task will not be completed properly.

Organizations should take a survey to collect the feedback from developers whether are they happy or not with current development environment & what exactly they want or how can that be improvised.

Please feel free to add your thoughts or good / bad experiences as a developer in the below comment section.

Top comments (2)

Collapse
 
anilbms75 profile image
ANIL KUMAR

Checkout my conversation with Tanja Buch from Thoughtworks, how to identify bad developer Experience?
youtu.be/M6Z7v4bxhkc?t=542

Some of the problems you mentioned can be solved with Backstage.

For System OS issue we are seeing raise of tools like Gitpod to solve this issue.

  1. gitpod.io/
  2. withcoherence.com/
Collapse
 
ganeshpatil0101 profile image
Ganesh Patil

Thank You @anilbms75

Visualizing Promises and Async/Await ๐Ÿค“

async await

โ˜๏ธ Check out this all-time classic DEV post on visualizing Promises and Async/Await ๐Ÿค“