How to hire for a Mean Stack Developer?
Summary:
A MEAN Stack Developer is a developer who only uses a certain stack of technologies to create a Full Stack Application. Mean Stack Developer is a programmer who works on the MEAN stack. He works on the backend as well as the front end of the application.
MEAN stack development refers to the development process that falls within these set of technologies MongoDB, Expressjs, AngularJs, NodeJS. In simple words, MEAN stack developers are like JS-based application developers
Standard Job Description:
MEAN Stack is a set of technologies that you can use to make a full-stack application.
M stands for MongoDB (No SQL database)
E stands for Express (a framework on top of Node)
A stands for Angular, a front end framework
N stands for Node, a backend framework
Two main advantages of MEAN stack are its scalability and the fact that it uses JavaScript only. Since they are all JavaScript, a good MEAN stack developer is required to have extensive JS knowledge.
The primary functions of the MEAN stack technologies are:
Angular JS: Accept requests and display results to end-user
NodeJS: Handle Client and Server Requests
Express JS: Make requests to Database and return a response
MongoDB: Store and retrieve data.
As you can see, the correct name for this stack of technologies should be ANEM because it captures its stack order, but MEAN is more memorable
As per above architecture diagram,
1. Firstly, the client makes a request which is processed by the AngularJS.
2. After that, the request moves to NodeJS which will parse the request.
3. ExpressJS will make calls to MongoDB to get or set data.
4. MongoDB will retrieve the requested data and return that request to the Express JS.
5. NodeJS will return the request to the client.
6. At the client side, AngularJS to display the result fetched from MongoDB
More and more companies chose MEAN Stack Developers as their preferred choice of employees because they can make a full-stack application, and often their average salary is lower than that of a full stack developer.
Key Job Responsibilities:
1. Determines feasibility by evaluating analysis, requirements and proposed solutions.
2. Documents and demonstrates solutions by developing documentation, flowcharts, layouts, diagrams, code comments and clear code.
3. Develops software solutions by studying information needs; conferring with architect; studying systems flow, data usage, and work processes; investigating problem areas; following the software development lifecycle.
4. Updates job knowledge by studying state-of-the-art development tools, programming techniques, and computing equipment; participating in educational opportunities; reading professional publications; maintaining personal networks.
5. Protects operations by keeping information confidential.
6. Provides information by collecting, analyzing & summarizing development issues.
7. Accomplishes engineering & organization mission by completing identified results as needed.
Ideal Candidate:
1. Should have excellent knowledge in Node.js concept.
2. Should have experience in Sharding and clustering terminology in Nodejs.
3. Should have excellent knowledge in handling data at large scale in MongoDB
4. Should have experience of building web sites using Angular 2/4/6, Node.js and MongoDB.
5. Solid foundation in data structures, algorithms, and system design.
6. Experience with modern frameworks and design patterns.
Desired Education:
BCA/ MCA, B.E. / B.Tech. in Computer Science and IT related fields.
Certifications Associated:
1. MEAN Stack Professional Certification
2. Oracle Certified Associate Java Programmer
3. Oracle Certified Professional Java Programmer
4. Oracle Certified Professional Java Application Developer
5. Oracle Certified Master Java Enterprise Architect
Key Skills:
AngularJS, JSON, Ajax, XSLT, XML, HTML, DHTML, JavaScript, CSS, CSS3, HTML5, Android, AngularJS, NodeJS, ReactJS, Mean Stack, MongoDB,
Karma, jQuery, LAMP, Ruby on Rails, HTML5, CSS3.
Common Positions:
1. IT Solution Architect (MEAN Stack)
2. UI Architect (MEAN Stack)
3. React Developer (MEAN Stack)
4. Full Stack MEAN Developer
5. MEAN Stack Developer
Screening Questions/Assessment Parameters:
1. Knowledge of PHP and OOPs.
2. Knowledge of relational databases (MySQL, MongoDB, SQL).
3. Working knowledge of client and server-side interaction (AJAX, REST, JSON)
4. Working experience with Front end technologies including HTML, AngularJS, Bootstrap, JavaScript, CSS and libraries such as jQuery
5. Experience in work with Laravel, CodeIgniter or other modern MVC frameworks.
6. Experience of using GitHub and Gitlab.
7. Knowledge and worked on LAMP Server / Linux / Windows
Basic Terminologies:
1. Algorithm. An algorithm is basically a set of steps for carrying out certain tasks.
2. Bug. A bug is an error that prevents a website or app from running as it should.
3. Cache. A cache is a temporary storage space for data.
4. Data structures. A crucial aspect of development and programming, data structures are a way of organizing and storing data for maximum efficiency.
5. HTML. HTML stands for Hypertext Markup Language. Simply put, it’s a computer language used to create websites.
6. MVP. The MVP or minimum viable product is the most pared-down version of a product that can be released to market.
7. MySQL. MySQL is the world’s most popular open-source database management system.
8. PHP. PHP stands for Hypertext Preprocessor, a server-side scripting language.
9. Plugin. A plugin is basically an extension that adds extra functionality to an existing software.
10. Ruby and Ruby on Rails. Ruby is another programing language — a dynamic, open-source programming language with a focus on simplicity and productivity. Ruby on Rails is a framework that is built in Ruby. In the web development world, you might hear Ruby on Rails referred to
simply as “Rails”.
Industry Jargons:
1. API. API stands for Application Programming Interface. An API enables two different programs to communicate with each other by making
some parts of the website code available to developers.
2. Bootstrap. Bootstrap is a free, open-source frontend framework for designing websites and web apps.
3. CSS. CSS stands for Cascading Style Sheets. It is a markup language responsible for the visual elements of a website.
4. Debugging. Debugging is a multistep process: the developer locates the bug, isolates the source and then either gets to work fixing it or comes up with a workaround.
5. Git. An absolute staple in the web development world, Git is a version control system where developers can store and manage their code.
6. JavaScript. JavaScript is primarily used as a client-side language, meaning that it is embedded into the HTML of a page and sent to the browser.
7. jQuery. jQuery is a JavaScript library. It simplifies the task of using JavaScript on your website by condensing several lines of JavaScript code into a single line.
8. Software stack. Software stacks make up the backend of a website, and they are essentially bundles of software that work together.
9. Version control. Version control is all about recording and managing the changes you make along the way — be it changes to the code you’re writing, to a website, a computer program or a document.
10. Wireframe. Wireframes help designers to communicate to web developers how a website should be structured.
Benchmark Profile:
Benchmark Profile on LinkedIn (1)
Benchmark Profile on LinkedIn (2)
Benchmark Profile on LinkedIn (3)
References:
https://ncube.com/blog/full-stack-developer-vs-mean-stack-developer
https://www.guru99.com/mean-stack-developer.html
https://www.glassdoor.co.in/Job/mean-stack-developer-jobs-SRCH_KO0,20.htm?countryRedirect=true