My FeedDiscussionsHeadless CMS
New
Sign in
Log inSign up
Learn more about Hashnode Headless CMSHashnode Headless CMS
Collaborate seamlessly with Hashnode Headless CMS for Enterprise.
Upgrade ✨Learn more

Move to a Software Developer Roles

..for those who feel stuck up in support roles & new grads

Anjana Kesari's photo
Anjana Kesari
·Jun 15, 2021·

3 min read

Have you ever felt Support is not what you wanted to do? Were you always passionate towards Coding / Algorithms?
If you answer is a YES to both the questions, then continue reading :) !

Good to Know :
Data Structures & Algorithms

Must Know :

  1. What is an IDE?
    the environment where we write code, compile & Run
  2. How does a org level code look like?
    unlike CP(Competitive Programming), here we have many packages
    The below image depicts one among many other ways : Screenshot 2021-06-15 at 2.31.27 PM.png
    IDE used : IntelliJ (Developed by : Jet Brains)
  3. What is all these about?
    Most of the organisations have 2 types of dev : Backend(Server Side), UI / Front End(Client Side, mostly : Android, IOS, Angular FE among other things) You may be placed at any side based on your expertise or interest Usually, API's (Backend REST endpoints) are consumed by UI / FE.
  4. What is Json / XML?
    In short, mode of data transfer.
    Json example :
  "employees": {
    "employee": [
      {
        "id": "1",
        "firstName": "Anjana",
        "lastName": "Kesari"
      },
      {
        "id": "2",
        "firstName": "Daniel",
        "lastName": "Radcliffe"
      },
      {
        "id": "3",
        "firstName": "Emma",
        "lastName": "Watson"
      }
    ]
  }
}

Notice the XML Tags below for the same Json

<?xml version="1.0" encoding="UTF-8" ?>
<employees>
    <employee>
        <id>1</id>
        <firstName>Anjana</firstName>
        <lastName>Kesari</lastName>
    </employee>
    <employee>
        <id>2</id>
        <firstName>Daniel</firstName>
        <lastName>Radcliffe</lastName>
    </employee>
    <employee>
        <id>3</id>
        <firstName>Emma</firstName>
        <lastName>Watson</lastName>
    </employee>
</employees>

5. What is REST API in development ? Where do we use them actually?
refer this link for basic idea : https://www.sitepoint.com/rest-api/
These urls used to transfer data from Server to client and also between 2 services.
eg : /employee/details
this gives you all the data in the form of Json or XML
6. What happens when client calls Backend API(REST endpoint)?
Usually, the endpoint has some code that picks up data from DB or fetches from any external subsystem and converts to readable format like json, xml.
7. What are the Layers usually a client request passes through ?
At first it comes to a rest controller where all request headers and fields are validated. After that goes to service layer and from there goes to the DB Layer / External Subsystem and fetches data. The data is then converted to required format (Json / XML)
8. What is a Framework? What is a Library? Why are they needed?
Framework is something that calls your code and Library is something which your code calls to ease out things.
Imagine you are writing code for a big application which fetches data from many sources(meaning lots of code!) It is difficult to write getters, setters, constructors, DB related code for calling all systems. refer this for more clarity : https://www.baeldung.com/spring-why-to-choose
popular Java frameworks: Spring & Spring Boot
9. What is Remote Repository ?
It is the repository which maintains all code. Usually, multiple developers work on a repository simultaneously.
10. What is Version Control System? Why we need it?
Version control systems are a category of software tools that helps in recording changes made to files by keeping a track of modifications done to the code by all team mates. Examples : Git, BitBucket(by Atlassian)
refer this for important git commands : https://about.gitlab.com/images/press/git-cheat-sheet.pdf
11. Is there any example where I can see all these?
https://github.com/kesarianjana
check out the EmployeeDetailApplication repository in the above

  1. clone the repository
  2. Download all the dependencies (for eg : mvn clean install)
  3. Run Application in Local and have a look at all endpoints

checkout git commands above in case of any issues
IMPORTANT NOTE : If you are not able to open the link by a single click, try to copy and paste the full link in new tab, then it will work as expected.

Thank you for reading this!