
Ask HN: How does one becomes a pro at Software Engineering - mraza007
What are some tips to master the art of Programming and become a better software developer whether you are fullstack dev,python dev or etc
======
jugjug
I think a good starting point is to integrate the principles described in the
Simple Made Easy[1] & Hammock Driven Development[2]. These are overarching
first principles that help in designing and writing code, but also in
communication & team work.

[1]: [https://www.infoq.com/presentations/Simple-Made-
Easy/](https://www.infoq.com/presentations/Simple-Made-Easy/) [2]:
[https://www.youtube.com/watch?v=f84n5oFoZBc](https://www.youtube.com/watch?v=f84n5oFoZBc)

------
greenyoda
Some of the things that helped me:

\- Write thousands of lines of code and learn from your (inevitable) mistakes.

\- Read books and articles written by people who are smarter than you are.

\- Work with people who you can learn from.

------
giantg2
Honestly? Don't.

Get a piece of paper from a university (degree). Then find a company that will
pay you. They will waste your potential, your health, and your youth in
exchange for mediocre pay - enough that you have a decent life, but never
enough for you to be able to quit. You will be bored and eventually you will
be fired when you get older, nut not old enough to retire.

------
hrvach
Sitting 14 hours a day in front of the screen and not giving up, even when you
seem not to be making any progress. Stick to it and don't cave in - the
results will follow.

Always share knowledge with those who know less and learn as much as you can
from those who know more. Help others, ask questions, practice and try to have
fun while doing it!

Good luck :)

------
arjayosma
I would suggest you do the following: 1\. Practice. Keep doing software
development activities (code websites, clone apps) 2\. Understand the basics.
You should know the basics and fundamentals by heart. I suggest you read on
about Data Structures and Algorithms. 3\. Always write down what you learn.

------
Jugurtha
Becoming pro at software engineering and mastering the art of programming are
two, mostly independent, things. One is achieved by getting paid, the other by
dedicating your life, and neither implies the other.

"Ars longa, vita brevis."

------
sloaken
Write it down:

When debugging

When planning

When getting assignments

When attending meetings

When things are due

Engineers are notorious for recording artifacts of everything. I noticed when
I started to do that, my skills and performance increased significantly.

------
cmdshiftf4
Be open to being wrong.

