Kode Blog - Inspiring And Empowering Developers.
We live in the world of start-ups and freelancers. If you want to make it in such a world, you need to be equipped with the necessary skills. Big organizations can afford to have developer, designer, tester etc. roles assigned to different persons. As a freelancer, start-up or small organization, such roles assigned to different persons may be too costly. It is far much more preferable to have a single person who can work comfortably in all of the above roles.
Gone are the days when one needed to know only one language/technology and get away with too. These days, you will need to know more than one language/technology. This is where the full-stack developer comes in. In a nutshell, a full-stack developer is comfortable working in both the back-end and front-end environments.
Let’s examine these roles separately.
Typically, back-end developers are much more focused on what happens on the server-side. This includes writing the code that responds to front-end user requests and interacting with the database. Typically, one will need to know more than one of the following
The following are some of the languages that you should know.
My favourite poison of the web. PHP is a scripting server-side language. You can use PHP to interact with the database, developer APIs and do a hell lot of things. PHP is open source and almost supported by all hosting environments. This makes it the preferred server-side scripting language.
As a full-stack developer, having knowledge of PHP is almost a must. It is a massive advantage but you will need to prove yourself to your employers or clients. A certification is one of the major ways of proving that.
Zend provides one of the world-wide PHP certification programs. Let’s look at some of the certification
Apart from Zend certifications, you can also get other certification such as - Laravel Certification – Laravel is one of the most commonly used PHP frameworks. Having a Laravel certification will prove to your employers and clients that you are competent when it comes to dealing with back-end PHP technology.
These are not the only PHP certification but having these, will help you go a long way. If you are aiming for the Zend certifications, then I recommend the book Zend PHP Certification Guide 5.5: A programmers guide to PHP as a study guide.
Ruby on rails is another popular MVC framework built on ruby. Just like PHP, Ruby on rails is open source. You can use ruby to create web applications and APIs.
As of this writing, no Ruby on Rails certification program exists but if you can, you can get certified as a ruby developer.
ASP is the acronym for active server pages. It is a web development language developed by Microsoft and runs on the .Net framework. Microsoft offers a number of certifications such as for a wide range of topics.
JSP is the acronym for Java Server Pages. It is powered by Java and used to create web applications.
Oracle provides a certification program for Java EE 6: Develop Web Components with Servlets & JSPs that will make you stand out from the rest. I recommend Head First Servlets and JSP: Passing the Sun Certified Web Component Developer Exam as a study guide if you would like to get JSP certification.
In today’s world, almost all applications must store data in the database. Data is literally the blood line of all modern businesses. Knowing about databases will help you to go a long way
MySQL is a client-server relational database management system. It runs on all operating systems and is mostly used with PHP. It supports tables, views, triggers and stored procedures etc. You can also use it with other programming languages such as Ruby, Java, C# etc.
Murach's MySQL, 2nd Edition is a great learning resource for MySQL if you would like to get certified.
SQL Server is a commercial relational database management systems developed by Microsoft. It is most commonly used with ASP.Net but you can also use it with other languages i.e. Java, PHP etc.
Microsoft offers a number of certifications regarding SQL Server. The entry level certification is Microsoft Technology Associate (MTA) which focuses on databases. The Microsoft Certified Solutions Associate (MCSA) focus on SQL Server 2012,2014 and 2016.
If you want to study for Microsoft Certified Solutions Associate (MCSA), Training Kit (Exam 70-461) Querying Microsoft SQL Server 2012 (MCSA) (Microsoft Press Training Kit) is an excellent study guide that I highly recommend.
SQLite is an embedded relational SQL database. It is commonly used on mobile devices i.e. smart phones. You can also use it when working with web applications. As of this writing, SQLite doesn’t have an official certification program but you can contribute / developer an open source program that uses SQLite and offer it as proof to your potential employers / clients.
I recommend the book The Definitive Guide to SQLite (Expert’s Voice in Open Source) for polishing up your skills in SQLite.
Oracle is another popular relational database management system developed by Oracle. It is most used by big corporations.
Oracle offers a number of certifications for its products. If you would like to get an oracle database certification, then this book OCA/OCP Oracle Database 12c All-in-One Exam Guide (Exams 1Z0-061, 1Z0-062, & 1Z0-063) will help you to pass your exams
In addition to possessing the technical skills, you will also need to know about project management and development methodologies.
Agile development is a term that is used to refer to development methodologies that favour incremental and iterative development practices. Some of the most popular methodologies include;
The scrum institute offers a number of certifications on Agile methods that will make you stand out in the crowd. If you would like to be certified as a Scrum Master, then I recommend this study guide Scrum Master Certification: PSM Exam: Preparation Guide and Handbook (scrum master certification, scrum master, scrum, agile, agile scrum)
In the good ol’ days, one only needed to know a single programing language, develop something functional and get away with it. Things have changed these days. In additional to knowing at least more than one language. Your skill set should also include the following
In my experience, using version control and test driven development has made my life easier and earned me respect of my colleagues and clients. The quality of the software has greatly improved and am able to add features within the shortest possible time without breaking much of what was already existing.
The general rule I use is use version control to create a development branch, add new features using test driven development and only merge the new features if all tests i.e. unit and integration tests pass.
Hyper Text Markup Language (HTML) – as of this writing, the latest version of HTML is 5. It comes with a lot of cool features that you must know. Web pages are literally build using HTML.
Cascading Style Sheets (CSS) – another critical component of building web pages. CSS provides you with the styling that makes the web beautiful.
CSS Pre-processors – these enable you to speed up your CSS development. CSS pre-processors such as SASS and LESS process your CSS code before publishing to make the code cross-browser friendly and well formatted.
Responsive and Mobile Designs – your interfaces need to be able to respond to the size of the design and mobile devices.
As you can see from the above list, the backend and front end developers needs to know a lot of things. A full-stack developer needs to know all things. In my experience, knowing everything and mastering them all is a very tricky thing. I am more comfortable on the back-end but I understand the basics of front end development.
For most of my freelance projects, I usually buy HTML templates from ThemeForest then I customize them to meet the requirements of my clients.
Following the methodology described above and taking advantage of a market place such as ThemeForest has really turned me into a rock star full-stack developer. Rome wasn’t conquered in a day. You too can do it if you have the will power and patience.
ThemForest really believes in giving back to the community. Every month you can download free resources from all the market places i.e. ThemeForest, Codecanyon. Videohive etc. all you need to do to download the free gifts is to sign up for a free account.
Let us know what you think in the comments section below. Thanks.
Please support us by creating a free account on our site, sign up for the newsletter, follow us on twitter and share the tutorial on social media. Thank you very much for your support.