Swapna Kumar Panda
Swapna Kumar Panda

@swapnakpanda

15 Tweets 6 reads Feb 18, 2023
What do you want to be?
❍ Coder
❍ Programmer
❍ Software Developer
❍ Software Engineer
➊ What is Coding?
⬘ Coding refers to writing some instructions in any computer-understandable language.
⬙ A code is meant to be
❍ compiled
❍ sometimes interpreted and,
❍ run to produce output
based on the given inputs.
➋ What is Programming?
⬘ Programming refers to building an abstract solution to a given problem
⬙ Programming involves
❍ Analysis
Analyze the given problem
❍ Design
Design an abstract solution
❍ Coding
Code using some computer language
➌ What is (Software) Development?
⬘ Software development refers to a process that starts with taking inputs from the customer (requirements) and ends with delivering the solution to the customer.
⬙ Development involves the process of developing a functional application.
➍ What is (Software) Engineering?
⬘ Software engineering refers to applying engineering principles to build a new system or solve a practical problem with good quality, on budget, and on time.
⬙ Engineering applies to the whole system, not just a specific application.
➎ What does a (Software) Engineer do?
In addition to development, engineers also look after
❍ Architecture
❍ Storage
❍ Networking
❍ Security
❍ Quality Assurance
❍ Performance
❍ Deployment
❍ Monitoring
⬘ An engineer works in both functional and non-functional parts of the application.
⬗ An engineer coordinates among various teams and is responsible for the successful running of the entire system.
⬙ An engineer could provide best practices that would help with reusability.
➏ What does a (Software) Developer do?
❍ Understands the requirement
❍ Does the impact analysis
❍ Breaks the delivery into multiple problems
❍ Analyze the problem
❍ Design an abstract solution
❍ Code the solution
❍ Unit Test the program
They may assist in
❍ System Testing (QA)
❍ Performance Testing
❍ Deployment to Production Systems
❍ Support Production Systems
➐ What does a Programmer do?
❍ Analyze the problem
❍ Design an abstract solution
❍ Code the solution
❍ Unit Test the program
⬘ The abstract solution is usually written in pseudo-code.
➑ What does a Coder do?
❍ Code the solution
❍ Unit Test the program
⬘ A coder should be aware of at least one software language.
⬙ Sometimes he is required to code in multiple languages as well.
🏁 Final Words
⬘ A coder simply writes code using some software language.
⬗ A programmer designs an abstract solution for a problem and, then codes it.
⬙ A software developer works from bringing customer requirements to delivering the solution to the customer (functional).
⬖ A software engineer takes care of both functional and, non-functional parts to build good quality software on budget and on time.
🚥 Disclaimer
⬘ Many argue there is nothing in a name. It all depends on what role you will be playing.
⬙ There are many companies that use all these terms interchangeably. So, always check the job description.
✧ A part of this 🧵 has previously been shared by me.
That's a wrap. Please do share your feedback.
I am regularly sharing developer-friendly threads on Python, JavaScript, SQL, and DSA. Follow me (@swapnakpanda) for those.
Like 'n' RT the below tweet to share it with others.

Loading suggestions...