Santiago Profile picture
19 Nov, 24 tweets, 5 min read
Everything I know about great Software Developers.

πŸ§΅πŸ‘‡
1. Great Software Developers are humble.

They never put themselves above anyone else. They are willing to leverage existing solutions and listen to others.

(1 of 15)
2. Great Software Developers are self-motivated to learn.

They never stop improving and never get complacent. They understand the importance of growing their skills.

(2 of 15)
3. Great Software Developers know when to write code and when to avoid it.

They understand the trade-offs involved in writing code. They understand that the best code is the one that was never written.

(3 of 15)
4. Great Software Developers are willing to challenge the status quo.

They understand that innovation happens when we are willing to challenge assumptions and think out of the box.

(4 of 15)
5. Great Software Developers think before they write.

They never jump to conclusions. They are methodical and take the time to explore before exploiting.

(5 of 15)
6. Great Software Developers never stop sharing.

They constantly look for ways to make the team around them look better. They understand this is the way they can multiply their value.

(6 of 15)
7. Great Software Developers support everyone around them.

They find areas where others struggle and lend a hand. They are constantly lifting others.

(7 of 15)
8. Great Software Developers have an insatiable curiosity.

They never settle before reaching the bottom of things. Every question is a new opportunity to learn.

(8 of 15)
9. Great Software Developers run towards problems, not away from them.

They aren’t afraid of failure. They look forward to solving difficult challenges as soon as they arise. They find ways to put themselves right at the front line.

(9 of 15)
10. Great Software Developers have a strong commitment to meet deadlines.

They make sure deadlines are both achievable and understood by them and their teams. They help those around them get across the finish line if necessary.

(10 of 15)
11. Great Software Developers take a lot of pride in their work quality.

They relentlessly focus on the internal and external quality of everything they build. They understand the importance of standing up for what they believe.

(11 of 15)
12. Great Software Developers understand trade-offs and know how to manage competing priorities.

They have a holistic view of the environment. They consider available constraints before recommending a solution.

(12 of 15)
13. Great Software Developers use Software as a vehicle to change lives.

They understand the impact of their work. They use their skills for good, to make the world a better place.

(13 of 15)
14. Great Software Developers have a "get stuff done" mentality.

They are eager to build things, and they don’t stop until they finish them. They understand the importance of results over the process to achieve them.

(14 of 15)
15. Great Software Developers criticize ideas and never the people who hold them.

They believe that ideas should stand or fall on their own merits. They never engage in personal attacks.

(15 of 15)
16 (bonus). Great Software Developers are proactive.

They take initiative to improve their team's developer experience.

(Contributed by @curtiseinsmann)

(16 of 15)
17 (bonus). Great Software Developers take responsibility.

They burden the blame and drive resolutions when catastrophe strikes.

(Contributed by @curtiseinsmann)

(17 of 15)
18 (bonus). Great Software Developers handle stressful situations professionally.

They know how to keep their cool and resolve stressful situations systematically and quickly.

Contributed by @lgrammel)

(18 of 15)
19 (bonus). Great Software Developers have a comprehensive view of the requirements of their system.

They understand the customer needs beyond basic product requirements.

Contributed by @lgrammel)

(19 of 15)
20 (bonus). Great Software Developers understand the power of documentation.

They understand that others come after them. They strive to document their findings and every important detail to pave the way for others.

(20 of 15)
21 (bonus). Great Software Developers aren't limited by particular tools.

They understand that different problems require different approaches. They strive to learn the fundamentals and pick the best tool for every situation.

Contributed by (@apoorv__tyagi)

(21 of 15)
22 (bonus) Great Software Developers understand the importance of testing.

(Contributed by @comman_man1)

(22 of 15)
23 (bonus). Great Software Developers are great communicators.

They understand the value of effectively presenting your ideas and thoughts.

(Contributed by @solo___guy)

(23 of 15)

β€’ β€’ β€’

Missing some Tweet in this thread? You can try to force a refresh
γ€€

Keep Current with Santiago

Santiago Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @svpino

21 Nov
A plan to get a job as a Machine Learning Engineer.

πŸ§΅πŸ‘‡
Put in the work, level up, and get ready to demonstrate that you can deliver value.

You'll have to answer technical questions. Study up.

(If you aren't prepared, you won't pass the first round of interviews.)

(1 of 10)
Focus on showing, not telling.

What can you do today that will serve you as an asset when justifying your experience?

Creating a strong portfolio showing what you are capable of is the most important step you can take.

(2 of 10)
Read 12 tweets
24 Oct
33 applications of Machine Learning, 3 different categories.

(And there are so many more it's not even funny!)

It doesn't matter what you enjoy in life. There's something here for you!

πŸ§΅πŸ‘‡
▫️ Natural Language Processing Applications

1. Speech recognition
2. Answering questions
3. Translation
4. Generating content
5. Summarizing documents
6. Sentiment analysis
7. Virtual assistants
8. Classifying text
9. Autocorrection
10. Urgency detection
11. Text extraction

πŸ‘‡
▫️ Computer Vision Applications

1. Face recognition
2. Image captioning
3. Image coloring
4. Object detection
5. Image classification
6. Pose estimation
7. Image transformation
8. Image analysis
9. Automatic drone inspections
10. Defect detection
11. Image restoration

πŸ‘‡
Read 4 tweets
22 Oct
A quick, non-technical explanation of Dropout.

(As easy as I could make it.)

πŸ§΅πŸ‘‡
Remember those two kids from school that sat together and copied from each other during exams?

They aced every test but were hardly brilliant, remember?

Eventually, the teacher had to set them apart. That was the only way to force them to learn.

πŸ‘‡
The same happens with neural networks.

Sometimes, a few hidden units create associations that, over time, provide most of the predictive power, forcing the network to ignore the rest.

This is called co-adaptation, and it prevents networks from generalizing appropriately.

πŸ‘‡
Read 7 tweets
21 Oct
I always get Normalization and Standardization mixed up.

But they are different.

Notes about them and why do we care.

πŸ§΅πŸ‘‡
Feature scaling is key for a lot of Machine Learning algorithms to work well.

We always want all of our data on the same scale.

πŸ‘‡
Imagine we are working with a dataset of workers.

"Age" will range between 16 and 90.
"Salary" will range between 15,000 and 150,000.

Huge disparity!

Salary will dominate any comparisons because of its magnitude.

We can fix that by scaling both features.
πŸ‘‡
Read 7 tweets
20 Oct
I'm a full-on AI proponent.

But I really don't like the idea of facial recognition software.

This is why.

πŸ§΅πŸ‘‡
▫️It violates our right to privacy

Do you really want thousands of photos with your face stored in hundreds of databases all over the place?

Photos that will be automatically tagged with your personal information.

And you won't have any control over this.

πŸ‘‡
▫️Lack of regulations makes this scary.

Who will be able to use this? Do we have to give consent? Can we trust this? How is this information going to be used? With what purposes?

Are we gonna get tracked every time, everywhere?

πŸ‘‡
Read 9 tweets
19 Oct
Overfitting sucks.

Here are 7 ways you can deal with overfitting in Deep Learning neural networks.

πŸ§΅πŸ‘‡
A quick reminder:

When your model makes good predictions on the same data that was used to train it but shows poor results with data that hasn't seen before, we say that the model is overfitting.

The model in the picture is overfitting.

πŸ‘‡
1⃣ Train your model on more data

The more data you feed the model, the more likely it will start generalizing (instead of memorizing the training set.)

Look at the relationship between dataset size and error.

(Unfortunately, sometimes there's no more data.)

πŸ‘‡
Read 10 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!