Matt Moll Profile picture
Being a good Software Developer is much more than writing code. I tweet to help you become one. Learn more here 👉 https://t.co/KoWRSi2V1V
Nov 5, 2020 12 tweets 3 min read
Agile this, agile that, everyone uses agile and few teams develop "agile-y".

If you are preparing for an interview you need to know a couple things about Software Development Methodologies!

This is the tenth and last thread of the series: Interview Preparation!

🧵THREAD🧵 First, let's get some facts & definitions down.

A Methodology is the systematic study of methods applied to a discipline.

Software engineering is the practice of using selected process techniques to improve the quality and results of a software development effort.

⬇️
Oct 9, 2020 11 tweets 3 min read
If you are tired of breaking environments or you keep hearing about DevOps but have no idea what that is...
Then this thread is for you!

Let's talk about CI/CD!

This is the ninth thread of the series: Interview Preparation!

🧵THREAD🧵 First, let's get some definitions down.

CI = Continuous Integration
CD = Continuous Delivery / Continuos Deployment
DevOps = Combination of practices of Software Development (Dev) and IT Operations (Ops)

Let's tackle these concepts and it¿s tools and practices

⬇️
Oct 8, 2020 14 tweets 4 min read
Most of the systems you will build in your life will need some form of persistence.
That is why when preparing for an interview you should be ready to talk about Databases

This is the eighth thread of the series: Interview Preparation!

🧵THREAD🧵 First, let's get some definitions down.

A Database is an organized collection of data.

A Database Management System (DBMS) is a software for users to define, create, maintain & control access to the DB.

You will also need a language to program and design your DB objects.

⬇️
Sep 27, 2020 13 tweets 5 min read
For sure the most frightening part of any interview is the: ALGORITHM EXERCISE!

This is the fifth thread of the series: Interview Preparation!

if(self.wantToPassInterview){
self.readThread();
self.likeTweet();
}

⬇️ Not every company evaluates this the same way.

If you are thinking about FAANG companies or similar this is probably the most important topic. Otherwise, this is still a big topic to cover but don't neglect the others

We will cover a roadmap for Algorithms & Data Structures

⬇️
Sep 26, 2020 17 tweets 5 min read
If I had to recommend you to learn 1 topic for any FullStack Web Developer role it would be: Javascript

This is the fourth thread in the Interview Preparation series.

new Promise(youWillLearnSomething)
.then(leaveALike)
.then(commentBelow) First things first, javascript can't be fully explained in a thread. I will give you pointers and common questions and some advice

Please take the time to learn and practice JS
Some resources:
freecodecamp.org/learn/javascri…
theodinproject.com/courses/javasc…
Youtube has plenty of JS material

⬇️
Sep 25, 2020 14 tweets 4 min read
Now it's time to get into the specifics. Do you know how to build Front ends?

This is the 3rd Thread on the series of Interview Preparation

Let's get started!

🧵Thread 🧵 Image A quick note here: This will focus on web devfront end (some things apply to mobile too), but keep in mind if the position is backend developer, desktop developer, or other fields some things might not apply.

This would be the standard front end check for FullStack Web devs.

👇
Sep 24, 2020 10 tweets 3 min read
One of the most defining topics that will box you in certain seniority is: Architecture 🏗️

Today we are going through the main ideas, tips, and advice on the second thread of Interview Preparation.

🧵Thread 🧵 Image The more senior the role you are applying to the more you have to be ready for this topic.

Start by making sure you can explain your last project architecture from start to finish.

- Practice with a friend or a rubber🦆, but PRACTICE

👇
Sep 23, 2020 12 tweets 3 min read
One of the most feared moments for every developer is THE INTERVIEW!

I'm here to help you with some insights and knowledge based on my own experience from being on both sides of the table.

We will tackle the 9 main categories 1 by 1.

1_ Current Role & Project

🧵Thread 🧵 The first thing you need to know and be comfortable explaining is your current role.

Basically, what do you do? How many people do you work with? How do you help them? How do they help you?

If this is your first job, talk about projects you did with friends or OS collabs

👇 Image
Sep 22, 2020 4 tweets 2 min read
Design Tip: Watch out for missing abstractions!

Now that we are comfortable with OOP and diagrams let's start tackling tips and exs.

It is common to see design and implementation missing abstractions that make solutions more complex and less declarative.
Let's put an example: Image We have a model with a task class that has hours to complete, cost per hour and complexity. And it's only responsibility is to return its cost.
The complexity in here is solved inside the task with some ifs, which could appear to be fine at first sight, but has problems scaling
Sep 22, 2020 7 tweets 2 min read
Most interviews I have conducted & taken cover these 9 areas:

- Current role & project
- Architecture & full request
- Front end dev general
- Javascript + framework
- Algorithm exerc
- OOP & design
- Backend & SQL
- CI/CD
- Methodologies

I will do 1 thread a day per area 💪 Starting tomorrow around this hour will be posted the 1st one.
Each thread will cover what is the purpose of the topic, how you should prepare, and the most common questions and answers 😉!

Stay tuned!
Sep 20, 2020 6 tweets 2 min read
Array methods vs For loops solutions ⚔️

So 2 days ago I posted an exercise on collections.
It went great, but a couple of users started instigated on the idea that for loops were much better & how performance hurt from functional solutions, etc

So here is the analysis I did
👇 The solution I did when I first wrote the problem was with a filter + reduce. Which was what several solvers did. There were options but in most cases it was a declarative approach like this or a more imperative one with for or forEach.

I added generateCars func for testing. Image
Sep 20, 2020 11 tweets 3 min read
Let's talk about the nightmare of concurrency: Deadlock ☠️

In this thread, we will go through what is a Deadlock, required conditions, ways to handle it, and use cases.

A colleague rejected a candidate 3 days ago, in part, because he couldn't answer this!

🧵Thread🧵 A deadlock occurs when each consumer of a group is waiting for another consumer to release a locked resource to be able to finish its task with all the resources it needs.

Sounds confusing right? Let's use an analogy.

👇 Image
Sep 14, 2020 4 tweets 2 min read
“There are only two industries that refer to their customers as 'users': illegal drugs and software. " — Edward Tufte

I took the time yesterday to watch the Social Dilemma on Netflix and it is so important to watch.
10/10 recommendation.

Make the time to watch it. Image I actually made a presentation on this topic like 4-5 years ago on how our phones were going to know what we want before we even realized it because of all the data and models they would have of us.

Turns out they were already doing it at that point in time 🙃!

#BeAware
Sep 13, 2020 7 tweets 4 min read
If you are NOT a designer nor a front end savvy this 🧵 is for you!

Top 4 resources (+ bonus) I like to use for tricks, learning, and inspiration as a web dev who is not even close to a great designer nor a front end savvy.

Let's go!
#100DaysOfCode #HTML #CSS Image 1_ One-Line Layouts

I cannot emphasize enough how great this is if you have ever struggled with creating your base layout.

It is a 10 examples website with the actual HTML + CSS in place to let you understand (and copy 🙃) layouts!

1linelayouts.glitch.me
Aug 28, 2020 7 tweets 3 min read
Cool & easy ways to share your code online!

🧵Short Thread 🧵

#100DaysOfCode #DevCommunity Image Have you ever wondered how do they create those shiny images to display their code snippets, tips, and exercises?

I did too when I started tweeting and eventually found someone recommending carbon app. Then I found some other options too.

Here is my top 4 ways to share code!
Aug 20, 2020 7 tweets 2 min read
Yesterday I had to work on a backfill script to update 24 Million records of payments. Yes, you read right, 24 million. The script ran for 3 hours and wasn´t even at half.

We found several ways to improve its performance today.
Summary below 👇

#SQL #Database The first thing was to be able to check performance to make sure we were improving it. So, a sample size of 20k records updates instead of 24 million.

Original query took around 36 seconds. We ended up making this take only 6 seconds, and I think we can´t improve it more now.
Aug 17, 2020 10 tweets 3 min read
My best interview advice that will tip the scales in your favor to get that dream job you want!

🧵THREAD🧵

#100DaysOfCode #CodeNewbie #TechInterview Interviews are hard, and sometimes they are nothing like the actual job, which sucks.

Nevertheless, it has caught my attention that A LOT of people ignore things that factor in hugely in an interview and are usually what determines if you get an offer or not.
Aug 12, 2020 4 tweets 1 min read
[Lesson] Do you know that feeling when you finish some piece of code and you know it is bad, like really bad? It happened to me yesterday.

I had been working on a component that I scoped wrongly at first and it actually had to handle several states and scenarios and it (1/3) just kept growing. I added state, scattered ifs and so on. After I made it work and the UI and UX was great (better than the requirements, I added value) I looked at the code and knew I wouldnt like to maintain that 😅.

So I was feeling pretty bad with it and with myself (2/3)
Aug 9, 2020 7 tweets 3 min read
Do you feel like no matter how many hours you put into it your progress is slow?
Do you feel like Software Development is not for you and want to quit?

We all been there, and here is why you shouldn´t worry and just trust the process.

🧵Learning Curve THREAD 🧵 #100DaysOfCode A Learning Curve is a representation of how proficient someone gets on a task the more time they invest in it (experience).
There are different types of learning curves. It can be hard at the initial phase, then lots of progress and then a plateau, there can be linear growth, etc
Aug 3, 2020 8 tweets 3 min read
Useful resources (apps & sites) I use every day for developing front-end
🧵THREAD🧵

#100DaysOfCode #CodeNewbie 1_ Greenshot: Take screenshots of specific sections of the screen in a super easy way.
Export to anything you want.
getgreenshot.org
Jul 25, 2020 9 tweets 3 min read
Have you ever heard about Code Smells?

Learn more about how to avoid them to develop better solutions! 🧵THREAD 🧵

#100DaysOfCode #Dev #CodeNewbie Image "If it stinks, change it"
A code smell is a piece of code that goes against good practices or fundamental design principles and therefore negatively impacts the quality of our solution.

Here is a list of code smells and how to solve them: