Hacker News new | ask | show | jobs
by chadwilken 3470 days ago
I've been programming for several years professionally now and the things I noticed make a difference between good and mediocre developers are: - Always be reading, you should always be reading about areas that are new or outside of your day to day work. Example, GraphQL instead of REST and why. - Don't prematurely optimize, Going off the last one, you don't always need to do the things the big guys are doing, they are hitting problems that you may hit in the future. - When you hit something you can't figure out go for a walk or take a break. This is when your subconscious mind will work on connecting the dots. - Read everything you can get your hands on about your interested language, framework, role, etc. - Don't be afraid to ask questions. Don't ask for help with every little thing, but if you honestly can't figure it out within an hour of tinkering then ask stackoverflow or a co-worker to see if you are missing something. - Don't give up. You would be surprised how many people hit an issue and then stop trying. That is after all what makes programming fun and rewarding. You will at times feel very down and question your choice to be a developer, it will pass and the high of figuring it out will make it worth it. - Go to meet ups, no better way to see others work and ideas than attending meet ups.

I'm probably missing a few things but hey I'm writing this on the toilet so I think I deserve a break.

2 comments

" don't always need to do the things the big guys are doing" +1 for that one

I am also doing exactly that, but there is a cost in the near future term, as that will obstruct me for applying for jobs that require skills that the big guys are asking for. Sometimes I am even told that the non open source project are better because the big guys are paying for them. So I think that people who want to learn, should not care about trends, that is what it means to have an analytical mind.

+1 on read, read, read. Books and articles as well as text.

Pick a topic and explore it in depth. One of my goals for 2017 is to develop a deep understanding of Python asyncio; deep dive into the philosophy and implementation as well as develop best practices for using.