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.
How to become a better developer
Return to “Software Development”
Who is online
Users browsing this forum: No registered users and 3 guests