6 Essential Tips on How to Become a Full Stack Developer

How to become a full stack developer? As one of the hottest topics for developers, the discussions have never stopped. On LinkedIn and Facebook, lots of people put their job title as a full stack developer. Besides, it seems that the “Full Stack” topic has already become a new job trend. An article on Medium has discussed the full stack designer getting both praise and blame. Some people think that the full stack is just a title, what he/she should focus on is the real personal ability and technology.

Essentially, I think the discussion about the full stack is also a kind of argument relating to the all-rounder and expert in the IT industry, and debate on the depth and breadth of development skills.

You can’t have your cake and eat it too. While the full stack developers and full stack designers seem like they are challenging this possibility. Because their horizontal skills tree gives them the ability to both have and eat the cake. There is another saying is that jack of all trades, but master of none. So it’s necessary to think about how to become a real full stack developer but not an empty title.

1. What is a full stack developer?

 What is a full stack developer

Simply put, full stack developer is a kind of people who master a variety of skills and use these skills to complete a product independently. A top voted answer on Quora explained that what is a full stack developer:

A full stack developer is an engineer who can handle all the work of databases, servers, systems engineering, and clients. Depending on the project, what customers need may be a mobile stack, a Web stack, or a native application stack.

In fact, “full stack” refers to the collection of a series of technologies needed to complete a project. “Stack” refers to a collection of sub-modules. These software sub-modules or components combined together to achieve the established function while without the need for other modules.

2. Why has the full stack developer been controversially discussed?

As it mentioned above, the discussion about full stack developer is actually the debate on the depth and breadth of skills. Especially at the OSCON conference, a Facebook engineer said they only hired a “full stack developer.” This topic came as a result of a heated discussion about the strengths and weaknesses of being a full stack developer.

Advantages: The full stack developers involved in a horizontal technical requirement, so that he/she can make a prototype design for a product very rapidly with his wide range of techniques. With the full stackability, they have a broader angle of views and a more active mindset. Moreover, they will be more sensitive to techniques and products. So, this kind of people can always have his/her opinions towards the product or design.

From another aspect, he/she can provide help to everyone in the team and greatly reduce the time and technical costs of team communication, technology docking. So many of them become entrepreneurs or as technical partners in start-up companies.

Disadvantages: It is precisely because of the horizontal technology development, some the full stack developers cannot be expert in one skill. Most of them who claim to be “full stacks developer” are only know a little about the multiple skills. As for how to make the architecture more suitable for the modular development, that’s a question.

3. Even so, there are still people asking, how to become a full stack developer?

A qualified full stack developer should have functional knowledge and capabilities for all aspects involved in building the application.

1) Programming languages

You need to be proficient in multiple programming languages, such as JAVA, PHP, C #, Python, Ruby, Perl, etc. As most of your core business processes need to be written in these languages.Maybe not all need. But you also have to master the language grammar, and to be very familiar with how to structure, design, implementation, and testing of the project based on one language or more languages. For example, if you choose JAVA, then you need to master the object-oriented design and development, design patterns, J2EE-based components of the development and so on.

Where to learn: Git/GitHub – You have to know how to use Git to manage and share your code.

Full stack developer

2) Use development frameworks and third-party libraries

The popular development languages are generally accompanied by a good development framework, such as JAVA Spring, MyBatis, Hibernate, Python Django, PHP thinkphp, yin, nodeJs express and so on.

Where to learnCourses.AngularClass.com15 free Python ebooks

3) Front-end technology

Front-end technologies are becoming more and more important in today’s project and product development. In addition to product features, the user experience is also one of the criteria to test the success of a product. All that depends on the implementation of the front-end technology, so you need to master some basic front-end technologies such as HTML5, CSS3, JavaScript, and further study the front-end frameworks or third-party libraries such as JQuery, LESS, SASS, AngularJS, or REACT.

Where to learn: You don’t know JS

4) Database and cache

Any product or project needs a database to store data. As a full stack developer, you also need to have at least one or two databases and know how to interact with the database. Currently, the popular database is MySQL, MongoDB, Redis, Oracle, SQLServer and so on. As a document-type database, MongoDB, is being used more widely in Internet products. As for larger projects, I also recommend using MySQL or commercial Oracle as the back-end database. While memory databases, such as Redis, can be used for caching to improve system performance.

Where to learn: MongoDB MERN tutorial seriesRedis tutorial

5) Basic design ability

Most of the articles or discussions about the full stack developer are rarely related to the design requirements. But I think the design skill is very important, the principle and skill of basic prototype design, UI design, UX design are also needed to understand.

Where to learn: Mockplus blog

Full stack designer vs. full stack developer

6) Self-requirements are also an essential factor to become a full stack developer:

  • Global thinking
  • Good communication skills
  • Creativity
  • Curiosity
  • Time management skills

Wrap Up

According to Gladwell’s 10,000 hours of law, it will spend 10 years to master the front-end, back-end, client-oriented knowledge content to be a full stack developer. Therefore, the full stack developer is by no means to accomplished overnight. What you need to do is laying the technical foundation, strengthen the core skills, and keep learning for more challenges.


Original post at 6 Essential Tips on How to Become a Full Stack Developer


How to Choose to Be a Web Designer or a Web Developer?

At present, the boundaries between web designer vs. web developer are getting blurred. More and more designers began to learn to code, and developers are beginning to pay close attention to design theory. Is a web developer the same as a web designer? This article tells the differences in the salary, job description, skills, tools, and how to make choice between them.

Salary for Web Designer vs. Web Developer

1. What’s the salary for the web designer?

As of October 30, 2017, the average salary of web designers is $ 73,204, usually, it’s in the range of $ 62,669 to $ 83,659. However, it depends on various factors and may vary widely.

web designer salary

HR provided as of October 30, 2017

The figure above is the expected percentage of American web designer salary, which is lower than the annual salary. For example, the average expected annual salary of a typical web designer in the United States is $ 73,204, so 50% of those working as web designers in the United States are expected to be less than $ 73,204.

2. What’s the salary for web developers?

As of October 30, 2017, the annual salary for Web Developer III is $ 101,962, usually in the range of US $ 92,359 to $ 116,497, depending on various factors and may vary widely.

web developer salary

The chart depicts the expected percentage of people working for network software developers in the United States, which is less than the annual salary. For example, the median annual salary expected of a typical U.S. network software developer is $ 77,458, so 50% of those who work as network software developers in the United States are expected to be less than $ 77,458.

Requirement Difference Between Web Designers and Web Developers

Usually, people are not clear about the conceptual difference between web design and web development, there are both differences and connections between them. The most obvious is that the former is about the visual or aesthetic aspect of the site, called “designer”; the other is the invisible design of the coding side, called “developer.” In short, the beautiful web interface was originally created by web designers, and the developer is responsible for turning the nice image into a page that really shows to the visitors.

1. What is a web designer?

web designer

Usually, web designers are responsible for the design of the visual layout of websites. Excellent designers are good at the using of a variety of concepts, such as color collocation, typesetting, spatial relations and user experience.

Through the use of graphic design software and prototyping tools, web designers could create the initial version of a website. Then the completed design will pass to web developers for coding.

Design tools for web designers:





Prototyping tools:



Job descriptions:

Responsible for the overall performance style positioning of the website and to provide an overall visual perception of users;

Responsible for the prototyping design;

Carry out the graphic design of the product catalog;

Carry out various activities of advertising design;

Assist developers in page design and other work.

In general, designers are responsible for using their own aesthetic knowledge with a variety of tools to design a beautiful page. A good designer can grasp the entire product style of the company, providing the first impression for customers. It’s lucky to find excellent designers for a company.

2. What is a web developer?

web developer

Web developers are generally considered as a group of people who use the left brain to develop the coding of products. Under normal circumstances, Web developers get the design of the page from the Web designer and then use front-end development technology to encode these pages. They do not really care if the page looks good or not, but they care about the clean code very much. Outstanding developers are always paying more attention to details and focusing on each of them.

What the skills and tools they should master as follows:

Source code management tools: SVN, CVS, Git, etc;

IDE: WebStorm, Sublime, VS Code, etc. All these are excellent IDE, you can choose and master any one of them;

Front-end development technology: HTML, JavaScript, CSS and so on

Front-end framework: jQuery, React, Bootstrap and so on

In recent years, front-end development is a hot-seat. Consequently, the skill requirements are getting higher and higher, and of course, the level of web developers’ salary also increased correspondingly. At present, it’s a good time to enter the front-end development industry.

But, Web Designer Can’t Ignore Coding Completely

web designer vs web developer

Qualified web designers should understand the code better than graphic designers and understand design better than programmers. As the creator of beautiful web pages, it is their ultimate goal to make a website that will shock users.

In addition, to enhance with superb code writing technology, it’s also necessary for good web developers to cultivate a strong aesthetic ability. Improve themselves with the more profound development of knowledge to achieve the designer’s function prototype or visual effects chart.


In the development of the Internet, the designers and developers are always playing an indispensable role. The debate between web designer vs. web developer, web design vs. graphic design is always non-stopped. Each profession is meaning for the development of the Internet, as well as people’s work. As new entrants, it’s smart to know the differences of salary, the job description, as well as what should you learn to devote yourself in. I hope this article clarified the differences between web designer and web developer, and will help you to decide how to make a choice between them.


The Most Recommended APP Prototyping Tools on Quora

Statistics indicate that China’s mobile App market has more than 402 million applications. What behind this statistics are a huge number of software developing companies, developers, designers, and product managers, as well as various App prototyping tools. In order to find a handy prototyping tool, designers and product managers are often keen to ask for advice on Quora. Recently I noticed a question asked for what is the best App prototyping tool?

Probably, the most-voted answer is Axure. But how much do you know about it? Except it, is there anything other great App prototyping design tool you don’t know?

With the thought of helping others, I listed 4 well-known mobile app prototyping tools. Please feel free to suggest more tools, I will keep update!

1. Justinmind


Price: $29/month ~ $495/user

Prototype editing: Mac, Windows

Prototyping ideal for Web, Desktop, Mobile

Justinmind is a flexible prototyping tool that supports a variety of terminal devices. It can workoutfrom a simple mouse click to a variety of complex interactive work. You can add interactive features to already designed renderings, or create a variety of interfaces in Justinmind by using the default standard component library.


Build templates and functional support for specific devices.

Add resources in a fast, intuitive way through the drag and drop operation .

Simulate a web page with a generated built-in device frame and full interactive features.

Add interactive attributes for each tiny, individual design element.

Supports interactive settings based on gesture operations.


It will be time-cost for the first-time users.

When you add multiple actions to the same widget, the actions can not be executed at the same time but only one by one.

2. Axure


Price: Pro: $495/user Team:$589/user

Prototype editing: Mac, Windows

Prototyping ideal for Web, Desktop, Mobile

Axure is an ideal tool for designing Web, App, and desktop software prototype. It supports for creating the complex interactive actions and a variety of state interfaces.


Good training and customers documentation support.

Add interactive attributes for each tiny, individual design element.

Good at designing complex interactive behavior.

The built-in component library can customize a variety of specific action and behavior attributes.

Flexibility – can be used to design a prototype for any digital device platform.


Steep learning curve; for the first time the user, it is not simple.

No templates and functional components built for mobile devices (iPhone / Android, etc.)

Need to create prototyping pages from the very beginning within this software.

Cannot add an interactive attribute to an existing design.

3. Mockplus


Price: Pro: $169/year Perpetual license: $699/user

Prototype editing: Mac, Windows

Prototyping ideal for Web, Desktop, Mobile

Mockplus is a simple, fast, and very powerful prototyping tool. The each update of Mockplus will surprise users. So lucky am I, have experienced the Beta Mockplus 3.2 which added repeater, UI flow, Sketch import, mindmap design mode, and project templates. It still needs improving, but Ihave to say, the new features really good!


Simple operation, low learning costs, 3 seconds to build interactive prototyping by dragging and dropping.

The WYSIWYG interaction design.

Rich component library and icon library of 200 components and 3000 icons.

Support a variety of view methods on mobile. No matter by view code or directly share the URL, as you like.

Multi-person collaboration and online review greatly promote team members’ communicate and team work efficiency.


Functional details need to be improved.

No good tutorial support on the website.

Not support for gestures.

The project examples have no detailed operational guidance, not friendly enough for new users.

4. Proto.io


Price: $29/month, $288/year with 5 active projects

Prototype editing: Web

Prototyping ideal for iOS, Android

Proto.io is a dedicated mobile prototyping platform that can build and deploy prototypes of all-in-one mobile programs, and can simulate the final products. It can run on most browsers.


Easy to produce fast solid model.

A large number of standard UI elements library, and you can customize your own library.

The same project could include multiple screens,and they are supported to create transition effects between screens.

Support components sync with Dropbox.


No immediate preview.

Too many interactions will slow down the action.

All prototypes are stored on Proto.io’s web platform, which means that if you want to cancel your account, you will no longer be able to continue running your project.

Does not support for 3D dynamic effects.


These 4 App prototyping tools all have their own special advantages suitable for different needs. There is no the best tool, only the most suitable one for you.After the analysis of the pros and cons of each prototyping tool, I think you should have a choice in your mind. For me, I’m looking forward to the release of Mockplus3.2, so much love of its UI flow and repeater because it could help to save lots of repetitive work!


Experience of Prototyping Tools Summed Up by Product Designers

I have read an article about what is a full-stack designer, which referred to the so-called full-stack designer who is able to build wireframes, prototypes, make visual drafts, and coding. Put it into the product design process, that kind of people is an unicorn who can handle everything. Whereas, one of the most primitive and most critical step is the wireframe or prototype design. The importance of prototyping design is equivalent to the solid foundation of the superstructure. Then the tools to build the foundation is very important.

So, it’s worthy for designers to considering how many prototyping tools are available in the market, and how to choose a right prototyping tool.

How many popular prototyping tools are available?

So many prototyping tools for designer’s choice, but the novice designers are much more than the tools. They usually don’t know how many tools are available for choice, and even don’t know how to make a right choice. Some people told them, Axure is a good software. So, they use Axure. However, I think, they should make an analysis on the mockup & wireframing design tools & Apps for UI/UX designers and make a right choice. Axure is not very proper to get started for beginners, there are more choices other than it. Then, what are the commonly used prototyping tools besides Axure? Let’shave a look.

1. Mockplus

Put aside the influence of Axure, the veteran prototyping tools, the most popular prototyping tool in China is Mockplus. From the initial lightweight online version to the full-featured desktop version at present, Mockplus gradually developed and expanded its features to become a powerful prototyping software. With the extensive pre-designed interactive components (200) and a huge library of icons (3,000), it’s easy and fast to create an interactive prototype in 3 seconds.The recently launched Mockplus3.0 version with team collaboration function is a highlight. The sophisticated collaborative design, online review, and page division editing, that all greatly enhance the team efficiency and reduces communication costs.

Prototyping tool-Mockplus

2. Justinmind

As a novice, you must admire the designers who can create the elaborate high fidelity prototypes. Moreover, you will know that’s made by Justinmind. Some designers are pursuing the delicate details on rich interaction effects and gestures supported on the mobile APPs by the software. But you can’t ignore the huge time cost and effort spent behind the high fidelity prototype. So it’s not a good choice for beginners.


3. Invision

Strictly speaking, Invision has a great difference with the prototyping tools mentioned above. Its role is to add jump links on well-designed visual scripts and generate online prototypes.

How to choose a right prototyping tool?

For me, I think a right prototyping tool should be with the following features:

1. Low learning curves and low prototyping costs;

2. Supported for previewing on mobile devices at anywhere and anytime;

3. Effective re-use component library;

4. Support to generate a flow chart;

5. Online collaboration for multiple team members;

6. Gesture operation, transition animation, interactive effects … (I think it’s not necessary for the prototyping stage).

These prototyping tools and experience on software choosing are summed up by many product designers for years. It’s no doubt that there are not only Mockplus and Axure for the first choice, and the standards to choose tools to vary from person to person. Anyway, the most important are that the tool is more easy to use, the better


4 Tricks on How to Make Better Product Landing Page Design

From the 20 best website homepage design examples, that shows the landing page of websites and APP are normally combined with homepage design. We can get a glimpse of the importance of the landing page design. The product landing page design will directly attract users and enhance the quality of the product. The landing page is a battleground which gives a full play to emotional design, enhances the user experience, and close the distance with users.

Regardless of the website design trends or mobile APP design, it is important t o find a balance between small pretty and functional complexity. At the first phase of web design, it’s necessary to master the skills of product landing page design by taking the advantage of prototyping tools such as Mockplus, Axure. In this stage, designers have no worry about the modifying on design. Here are some product landing page examples combined with the design principles.

1. Learning to do subtraction

Do not be restricted by the rules of interface design when doing the product landing page design. The clear interface with name and password input, such a simple design and color will always make the login box be eye-catching.

Simplify your design

2. Combining the page background with user interface design

Fuzzy background

The fuzzy background not only makes the whole site be more humane, and to a large extent, it can properly express the site itself.

Dark background

In the dark background, the bright input box will attract all the attention.

Flat background

Interface background

3. Clear visual line

People’s visual browsing is generally in the”L” type. The sight line from top to bottom, from left to right, the form of visual browsing order in line with “L” type is basically inline with the user’s psychological expectations.

4. Focusing on user experience design

The usage rate of the landing and registration form is very high. So, a form design is as simple as your imagine, what you should take into consideration is the user experience. Even if it is a registration form, it is worth careful study. If you do not attach importance to the user experience, it will cause to lose a large number of users. Everything should start with the best user experience during the product landing page design.

Reduce the user’s mandatory operation

Reduce user input

In general, the more information needs to be put in, the less registration will be completed.

Information registration tips

Providing effective information hints for end users is the best way in user experience design, especially when users fill in information with multiple input fields. When the fields that need to be filled may be ambiguous with each other, these message hints can reduce the user thinking and guess time.

Error password memory

When the user firstly entered a wrong password, the system will save it after the user put in the wrong information. When the user re-enters the wrong password, the system will automatically prompt the client “password error.”

User experience

The above are some commonly used products landing page design skills for web pages or APP. From the perspective of user experience, clever design is always the first step to attracting users. Hope you can get some product landing page design inspiration from the content above.