What are the 10 most important things every programmer should know to succeed in the technology industry in 2016 and beyond?

Question
Mudassir Ali 9 months 1 Answer 130 views

Answer ( 1 )

  1. Learn to learn. If you are a programmer you will be required to learn new technologies. At least of you want to keep your job or be interesting in the job market.
    Learn to write simple, maintainable software. Yes, having an application with cool features handling every edge cae is great. But often this requires very complex algorithms to achieve that. Often it is a good idea to start with some simple cases handling the most common cases. This already creates value. I don’t say that you shouldn’t create applications with great features which solve more issues that the ones of your competitor. All I say is that you shouldn’t do overengineering. That often results in big balls of mud which no one can maintain. Applications which start easy and stay easy regarding structure are maintainable and much more likely to succeed.
    Test your code. I don’t touch untested code. You have no idea if something breaks by changing whatever line. If you need to touch untested code, then test it before touching it. If it’s your code and it is untested you forgot to do your homework. Best case: Work test driven!!!
    Learn to work in a team. That includes communication, understanding others code, learning from them and organizing your work by using some board. Communicate what you do and ensure the others to do that as well.
    Understand real customers need. That isn’t nessessarily the same need they tell you. Customers often have no clue what they need. Henry Ford ones said: “If I had asked people what they want they would have told me faster horses.” Ask the 5 whys (5 Whys) to get the real issues behind your customers pain.
    Learn from others. Yes, I already mentioned that you should learn from your peers, but that shouldn’t be your only source. I mean you are already on quora. Good. Look for further sources. Twitter, youtube, stackoverflow or some other tech blog.
    Improve your tooling when possible. I don’t only talk about your editor. How about monitoring tools of your application? google analytics, CircleCI, Appsignal, docker… Just to name a few.
    Really understand concepts behind programming languages. Many people have their languages and avoid looking beyond that. But object orientation is not the only way of writing code. From my perspective you should know several paradigms. Leran about procedual, object oriented and functional languages. How about someting completely different like logic programming. There are so many different ways to solve a problem. Learn about them and create a big toolset.
    Learn to organize your work. I have no idea how many people wrote books about concepts. How to we develop good software? How to we work efficient? I am not here to suggest any of them. But you should know how you can work efficiently. You should have an idea how to priorize tasks. And when to postpone something.
    Ship and fail early. You should always have a focus on shipping stuff. If you don’t ship your code you won’t get feedback. Without feedback, you have no clue if the stuff you developed fits your customers need. You have no clue if it fits the market. You can develop a great app. It is worth nothing if no one is interested. If you ship stuff and you find out that some points don’t fit the market you can react. If you fail early, you can fix things. If you don’t ship and one day you throw out an application created in some laboratory you will most likely face that. Maybe you have luck and it works. But I doubt that.

Leave an answer