A lot of people will learn great things and become extremely good at those things. But a lot of those people, although they are very good at what they do, may not have a formal process that they are aware of. Or may not have discovered a pattern to that process.
I’ve recently been doing a lot of coding exercises on HackerRank. And I’ve discovered a simple process to development. Something I’ve always been doing but never thought much about. Sure, there are a lot of processes involved in software development. This includes TDD, integration testing, CI, CD, and so on. But there’s an even simpler one that I’ve been taking for granted. Continue reading “Developing a pattern to your coding process”
Coding exercises are one of the best ways to improve your programming skills. In recent weeks, I’ve done several exercises on a couple of online websites. Those being CodinGames and HackerRank; you can follow my progress here and here. Coding exercises are great for improving your coding skills. But it’s also a chance to spend time in minimising the code you generate.
I’ve been focusing on learning Scala, a JVM-based function programming language. It’s a magnificent language with a rich streaming library perfect for this sort of thing. But as anyone who has done any of these challenges, it often involves a lot of algebra. And sometimes trigonometry. Although I’m okay at assembling my own formulas for solving problems. But solving for x can sometimes be a tad challenging when the formula is a bit complex. Continue reading “Good programmers should have great math skills”
Learning to program in a new language can often be difficult. First, you have to learn the basics to code “Hello World”. Then comes the challenge of learning to use the advanced features. And finally, the challenge of using the language the way the creator had intended.
The challenge is finding exciting exercises and projects to tackle. Something big enough to sink your teeth in. Yet not so big that the challenge seems impossible. Continue reading “How to become the best mad skills programmer”
I find that anything worth learning should be done by jumping in head first. Then find something halfway challenging and go to it. Hence, this is how I went about learning Scala. I’ve recently learned to program in Groovy to develop Spock based unit tests. Groovy was the first JVM language I learned outside of Java. And being pleasantly surprised, I decided to try my hand at Scala.
Why I Chose Scala
My reasoning for wanting to learn Scala is to get into artificial intelligence without straying away from the JVM. I have played around with Python which I really liked. But embarking on Python would take me into a whole new ecosystem. And although I would love to get involved in Python and its data science tools, I think that long term Scala may be the better option. Continue reading “Why I decided to learn Scala”
It’s amazingly interesting what you learn when you’re in the throws of unit testing code. It particular when you’ve written more code than you’ve written unit tests. Yeah, yeah, I know, unit tests should be written with the code as you go; TDD. But let’s face it sometimes you just need to get stuff done. Until you get to the point where you think that now’s a good time to unit test everything.
I spent the whole afternoon, up until 11:30pm writing unit tests. Refactoring some code to make some of it easy to mock. And other parts I rewrote simply because it’s the right thing to do for OOP’s sake. It’s fun. Not everyone likes to unit test, but I love it. It gives me that satisfaction that my code is well written. Especially that feeling you get when you know the architecture you designed is solid. And the libraries you’ve chosen haven’t failed you. Plus learning something new about Java 8. Continue reading “Startup Project – Part 3 : Testing, Mocking and Learning”
I was in a meeting recently with someone more senior having a great conversation. Everything was flowing. I was able to keep up and stay on the ball. Then he asked me one question and I answered it right away without much thinking. Suddenly, I felt everything go downhill from there. The meeting ended cordially, but with a little whimpering fizz at the end.
The problem wasn’t with the answer I gave, but how I provided it. I sounded so much like a junior. Of course, I need to figure out how to answer that question like someone with more experience would. But the point is that I caught it right after the meeting. Right then, I knew I had done something wrong. But also, I needed to do something about it. And be able to apply that fix the next time around. That’s adaptability. Continue reading “Learn to adapt in difficult situations quickly”