How to become a better developer

All things related to software development and programming languages.
Ben
Posts: 8
Joined: Sun Feb 28, 2016 11:32 am
Country: South Africa
Firstname: Rupert

How to become a better developer

Postby Ben » Thu Sep 29, 2016 8:15 pm

5 tips I wish I had been told when I started programming
- By Ben

It may not be said often but the odds are you all suck at programming. And that's fine, because I'm not much better. A couple of guys at google did an excellent talk a few years ago on the "genius programmer" that I suggest you all go watch:
https://www.youtube.com/watch?v=0SARbwvhupQ

And in light of that I'd like to talk about how you can improve as a developer.

Admit that you're not brilliant

It might sound silly but time and time again I've come across programmers in all spheres who think they're the next John Carmack. This thinking is absolutely toxic because when you think you're right all the time you very rarely listen to the opinion of others. The very existence of a lone working programmer does not exist anymore. You will have to work in teams. So the first step to becoming better is to admit that you're not.


Learn more than one language

Surprisingly as the term full stack developer has been tossed around more and more I've seen a lot of young developers close themselves off to one language. This was particularly apparent to me during the initial planning phases of ie earlier this year when I saw many groups decide to work in java because they did not want to learn a new language.

I'll talk about the benefits of learning multiple languages in a moment but I thought this should first be stressed. Most developers will not be able to get a job unless they are able to be language agnostic. You will most probably be asked quite often by your boss to learn a new language.

But beyond that this post isn't about just working, it's about becoming better. Every time you learn a new language you learn it's interpretations of the programming concepts it implements. For instance Java often gets criticized for being too "class" orientated. I've brought this issue up at Java developer talks and they've just looked at me blankly as I go on to talk about how functors or lambdas are over complicated by it's classes focus. I'd suggest starting within Scala as it is built over the jvm so you can still use all the libraries you are used to.


Practice more

Most would call this obvious but become silent at the mention of code katas. Talent is important but a great musician doesn't master an instrument in a day.


Learn design patterns

Design patterns have only been mentioned once to me in my time at Monash and so I think it should be important to stress. The problems you will encounter will most probably have already been solved. This is where design patterns come in. The always fantastic Derick Banas has done a series on them:
https://www.youtube.com/watch?v=vNHpsC5ng_E&list=PLF206E906175C7E07


Start writing Unit tests

I mentioned this briefly in one of my Java tutorials recently but I think they should really be given their time of day in every programming course. I was told by my boss earlier this year, "Programming without unit tests is like changing engines while you're driving". The basic idea is you write a series of assertions about what your code should do and then see how it holds up. This not only gives you ways to check if your code works but forces you to write testable code which has many advantages. You can start your journey here.

Return to “Software Development”

Who is online

Users browsing this forum: No registered users and 3 guests