List of questions about computer stacks

This blog post is brought to you by RealToughCandy.io. Check out the course How to Get a Job in Web Development and put yourself far ahead of the pack.


We're excited to introduce you to Donovan, a regular contributor over at the RTC Discord.

You may have seen Donovan before... He's been featured on RTC's blog and has been interviewed on the RTC YouTube channel about working in the industry.

But today, Donovan is talking about all things stacks. He's worked with plenty of them, and is sharing his... stack of knowledge with us. 😊


1. Tell us about yourself.

Hi there, I am Donovan, a Software Developer from Michigan located in the Greater Detroit area.

I currently work at my dream job at Detroit Labs as an onsite software developer working on various exciting projects for a mortgage company called Quicken Loans.

I lead-teach coding workshops and offer mentorships for various for-profit and non-profit companies in my area to kids, adults, and the underrepresented.

More recently for a non-profit called JOURNi teaching coding workshops to Detroit youths and a more of an adult-oriented meetup group created by Detroit Labs called "Co-Labs."

2. What got you into coding?

What got me into coding was two things:

One of them I'll call " The Fuel " and the other let's call it " The Fire."

The Fuel : I am a CompTIA A+ Certified Computer Support Technician who spent a few years in help desk support roles and was getting fatigued doing help desk. Frustrated from taking various other paid computer certification exams to stay relevant.

If you failed said computer certification tests, you'd have to pay again to be able to re-test again. I noticed in coding you don't have to take any certifications. Just be able to have the ability to demonstrate your coding skills.

The Fire : was seeing an inspiring YouTube video called " What Most Schools Don't Teach" and the rest is history.


3. What do you like to do in your free time?

What I like to do in my free time, bike riding, bouldering, graphic design. I am also a huge geek/nerd when it comes to classic and new video games.

Mostly Nintendo, I am really into Mario Kart, Super Smash Brothers Ultimate, among many others, and I'm currently impatiently waiting for the next Legend of Zelda video game to be released.

super smash bros ultimate charactersWatch out: Donovan can't be beat when it comes to Super Smash Bros Ultimate


4. Can you briefly describe what a stack is in software development?

An ecosystem of technologies that utilize both a front-end and a back-end. They work together to perform complex tasks and provide a service for the end-user who is using the software.


5. Tell us about your dev history. What stacks have you worked with?

I started as a LAMP/WordPress dev making custom WordPress themes and various PHP/WordPress hacks while doing some experimental development with the LAMP stack, and eventually landed one of my first roles as a WordPress/PHP developer for a small local marketing company.

After getting comfortable building websites with PHP and WordPress, I moved on to learning Angular 2 and eventually moved on to the MEAN stack working as a contract developer working in the MEAN stack.

Currently, I am more into JavasScript and APIs for personal projects like having a JavaScript front-end that connects to APIs, and or Google Firebase for data storage.


6. What's a good stack for beginners and why?

I say the LAMP Stack (Linux, Apache, MySQL, and PHP). More specifically working with PHP and MySQL.

Being able to manipulate data and understanding CRUD (Create, Read, Update, and Delete) operations and how they work.

If you are really brave and want to take your skill to the next level as a developer, I would encourage you to get into Linux and setup a local Linux server. Not only is Linux an open source operating system and free, there are many flavors of Linux to choose from.

My personal favorite flavor of Linux is Ubuntu. There are many tutorials on the internet to get a local Linux server environment setup running with MySQL & Apache.

PHP is pretty easy to learn as a first language.

Also being forced to use the terminal commands occasionally to perform certain operations like starting and managing your Linux server, installing applications, hosting a website locally, etc.

These are some common situations you'll most likely deal with in the real world as a software developer so having a local personal setup like this is great for getting your feet wet as a developer. At least with the Ubuntu flavor of Linux, there is a Windows/Apple-like UI desktop feature that you can use.

If you get stuck or don't or remember how to use a command in Linux, a quick Google search will always be there for you.

cartoon penguin sitting and smilingUp your developer game by taking on Linux

7. You've worked with Dart and Flutter. Can you tell us more about that, and do they fit into a stack?

Dart and Flutter are technologies created and supported by Google used to create native mobile applications (with) both Android and iOS and now Web Apps. Dart is the programming language, and Flutter is the development kit.

I got into Dart and Flutter during its infancy and had made a few apps. Over the years, Dart and Flutter have matured a lot as a language and a development kit.

Dart and Flutter to my understanding don't fit into a specific stack. However, there are various back-ends you can use to store and retrieve data. One of the most common is Google Firebase.

I don't use Dart and Flutter much these days, I pretty much have been pushed in more of a JavaScript focused direction at my dev job. Therefore, recently been more into PWAs (Progressive Web Apps) as a substitute for getting into mobile development.



8. Rumor has it that you're a proponent of the LAMP stack. Why is that?

PHP was the first programming language I learned well, I know there are tons of opinions and articles dogging PHP, and believe it or not, there are many systems and applications to this day that are out on the web that utilize PHP in some form.

I enjoyed programming in PHP when I first started to learn how to code. PHP naturally helped me understand the basic concepts of programming which is huge. PHP helped me understand JavaScript much better and a bit faster.

The PHP syntax is easy to understand and doing data manipulation with MySQL is easy once you get started.

9. What is the stack of the future?

Good question. There are so many stacks out there to pick up and learn.

I see new developers taking an interest in the MERN stack (MongoDB, Express, Reactjs, Nodejs). I know Reactjs is a very hot demanding skill to have right now as a front-end developer so there might be some basis there with Reactjs.

JAMstack (JavaScript, APIs, and Markup) could be a potential candidate or some sort of serverless cloud-based stack. Backends such as AWS, Google Firebase/Firestore, Azure are all quite popular. APIs are also really popular and widely used.

I've seen some apps that have a front-end and just use APIs or with some sort of Java or Python backend. The combination technologies for a full-stack are endless it seems.

If I had to answer this question, I say Serverless/Cloud Technologies with APIs are the future.

diagram of traditional web and diagram of jamstackIs Jamstack the future? Donovan thinks it might be...

10. What were some challenges you faced when switching stacks in your career? How did you overcome them?

Coming from a LAMP stack into a MEAN Stack was slightly challenging I will admit.

The one thing that was hard to understand at first was understanding key-value pairs and nested data in a MEAN stack's database to access data over MySQL's database which uses more of a table-based data format that I was very accustomed to at the time.

To overcome this hurdle I would just practice.

I remember my first contract role as a MEAN stack developer, the team I worked with helped me set up a local MongoDB Compass server on the laptop I worked on and I would use that for practicing and getting exposure to writing logic to connect and manipulate data to the local MongoDB database.


11. When learning a stack, should developers learn the technologies in a specific order?

I would suggest learning a front-end first.

For me, since I am more of a visual person, the front-end is a great place to start. I am going to use the MEAN (MongoDB, Express, Angular, Nodejs) stack as an example since I have more recent experience with that stack.

After understanding the basics of JavaScript, I would start with learning Angular and as you are working and learning Angular, you will be pretty much forced to use/learn Nodejs. Once you are comfortable learning with Angular and Nodejs, move on to Express and MongoDB.

These two pretty much work hand in hand just like Angular and Node. You could look into hosting an Express Node back-end on a server or if you want to save some dollars, you can install a basic MongoDB Compass database to your computer locally to practice with.


12. Is there anything else you'd like to add? The floor is yours.

First off, I want to thank RealToughCandy for letting me share my knowledge once again and welcoming me back on her platform. RealToughCandy has had a huge influence on my career as Software Developer over the years.

If you guys would like to connect with me or looking for someone to ask more questions about coding, looking for a mentor or maybe career guidance in software development, or you think you can take me on in a round of Super Smash Brothers Ultimate or Mario Kart online?

Let's Connect! I don't post much on social media these days. However, I do occasionally check my DMs for messages. So feel free to shoot me a message on the following platforms if you like or just message me on RTC's Discord. I do enjoy helping others when I can.

LinkedIn: https://www.linkedin.com/in/browncdonovan

Instagram: https://www.instagram.com/brown_c_donovan/

Twitter: https://twitter.com/browncdonovan

Take Care and Happy Coding All!