I have been working for a while now side by side with our developers in Apiumtech and they inspired me to write an article about the best tips for developers. I spoke to our tech team, read many blogs & magazines and even spoke to communities on forums and saw that developers, regardless of the country they are working in, have the same problems but they solve them differently. In this article, I will talk about how we do it at Apiumtech, how to code efficiently. We believe that programming is an art, therefore we consider that programmers are artists, coding is a palette of colours & tools and the masterpiece is the innovative achievements in technology. In Apiumtech we love working on difficult projects and come up with new solutions, we enjoy breaking the standards and building a working software! Steve Jobs always said: “Everybody should learn to program a computer, because it teaches you how to think”. Programmers see the world from a different angle and this helps them identify the problem and possible solution much faster than other people. Programmers are engineers, they see how the products are done and the logic behind it, helping them to build algorithms that change our lives. To achieve great results, sometimes programmers spend hours, days, months and even years to come up with something really impressive, sometimes they spend their nights coding until they finally find the problem and how to solve the bug. It can really be a nightmare for them, therefore, so to provide useful tips for developers, I collected information from our team and some of the best programmers I foundonline who share their experiences when it comes to avoiding these difficult times and working efficiently and productively. Jesse James Garrett said “Building technical systems involves a lot of hard work and specialised knowledge: languages and protocols, coding and debugging, testing and refactoring”. TIPS FOR DEVELOPERS 1 – Keep your mind fresh. Hard work and patience is key in programming! One of the best advices we can give you is to start programming when you have a fresh mind, otherwise you can code something that could break something else and re doing it could take even more time! The best way is always to calm down and ask yourself “what is the smartest way to resolve the problem”. Don’t try to do everything very fast and always think before you do something, it may sound obvious but many times, we do our job unproductively because we didn’t have time to think about more efficient ways of doing it. 2 – Look for existing solutions. Most of the time, every problem you are struggling with is a problem that thousands of people have already faced and probably solved, so go to Google, GitHub or StackOverFlowand try to find an answer there! Don’t waste your time on figuring out how to solve the problem that was already solved, youtube is also a great tool for it, our programmers watch tips and how to videos almost every day! 3 – Read, read & read. The more you read, the more you learn. You obviously need to practise, but good books give you a solid base! How do our developers spend their free time? Apart from going for beers, spending time with their families & friends, they also read books and here is a small list that we extremely recommend you to read: Agile Estimating and Planning by Mike Cohn Peopleware: Productive Projects and Teams by Tom DeMarco Reactive Design Patterns by Roland Kuhn and Jamie Allen Camel in Action by Claus Ibsen and Jonathan Anstey Domain-Driven Design: Tackling Complexity in the Heart of Software by Eric Evans Implementing Domain-Driven Design by Vaughn Vernon Refactoring by Martin Fowler Design Patterns by Erich Gamma Object-Oriented Design Heuristics by Arthur J. Riel 4 – You can do it. Another important thing is to never give up! I really like the advice of Joseph Gentle; “When you get stuck, write your program on a paper” – this is a standard practice in programming competitions. It might surprise you, but it will definitely makes things clearer for you and will make it easier to know where the problem is and how to start working on it. “First, solve the problem. Then, write the code”, said John Johnson. 5 – Stay updated. Know about new trends in your industry. The world is changing at a very fast rhythm and almost every day, you hear about awesome innovations. Don’t use the same tools & frameworks for 10 years in a row, there are new languages that become popular and increase efficiency. Be curious, try new things, go to the events, read blogs, stay updated, it can only be helpful! For example, now we consider Agile as a methodology trend and maybe you noticed that huge companies like Mango, HSBC, Privalia, Axa, Grifols and many many more are becoming Agile. 6 – Quality is better than quantity. Here at Apiumtech, this is a motto for our developers: write clean, scalable and high quality code. Someone said that “Your code reflects your personality”, it is the same with a mess in your house or in your working place, if you have it than you have a mess in your head! A code that is scalable, clean and of high quality shows your principles and your vision. Martin Fowler said “Any fool can write code that a computer can understand. Good programmers write code that humans can understand“. That’s true. Sometimes we get projects where we need to work on the backend and when our developers see what was done before we take over the project, they understand why this company is not a backend provider anymore. Chaos kills efficiency and clients want to have control over everything, they want to be able to separate backend and frontend without harming anything. Xavi Hidalgo, the CTO of Apiumtech, said “the code quality is very important and is very related to the performance, the scalability of the app and much more things than you would expect”. Quality code helps to build powerful platforms. We know how to increase performance of the platform, how to make it faster, increase its capacity, make it more flexible and reduce costs! To help you improve your code quality, we recommend you to read this article “10 TIPS TO IMPROVE YOUR CODE QUALITY”. 7 – Don’t forget to test. Testing in Apiumtech is a must, we do TDD, CI and Unit testing by default! We really like the quote of Jeremy Green: “It can help you find bugs much earlier in the production cycle, and early bugs are usually easy bugs.” 8 – Continuous improvement is a must. We are living in the Tech era, everything is changing, all the time, giving us opportunities to face situations that can be continuously improved. Don’t think that what you learnt is enough, learn from your peers, learn from past projects, learn from coding gurus, but never stop! Share your knowledge with others, by explaining what you know you also highlight important things for yourself, have conversations and open spaces with others, by asking questions you will learn as well. Keep in mind that you never stop learning. 9 – Treat your client the way you would like to be treated. When we work with our clients, we always suggest them to use the best tools in the market that could increase efficiency of the platform, we always introduce new things to make their lives easier and that might be the reason why almost all our projects are life-long projects, we build long-lasting relationships and provide our clients with 360 degree services in software. 10 – Don’t forget to live. “A code marathon isn’t going to make you healthy and productive”. Don’t forget about your private life! Disconnect, go out, do sports, spend time in nature without any devices, breath fresh air and eat healthy food! Sleep at least 8 hours a day, drink enough water (the Institute of Medicine determined that an adequate intake for men is roughly about 13 cups -3 liters of total beverages a day. The AI for women is about 9 cups 2.2 liters of total beverages a day, drink water as much as you can!). Every day, you spend hours in front of the computer, don’t forget to take several breaks! Socialize and don’t be alone, have a hobby and do what you love, than you will see how your productivity increase and your attitude turn positive. “Happiness is a choice, not a result. Nothing will make you happy until you choose to be happy. No person will make you happy unless you decide to be happy. Your happiness will not come to you. It can only come from you.” – Ralph Marston. With this quote I will wrap up my article, I really hope it will give you motivation to live and work smarter and that you enjoyed the 10 tips for developers. Do what you love and love what you do! If you want to stay updated with “how to”, “tips”, “top trends”, “case studies”, “events lists” in the Tech world, sign up for our monthly newsletter here and follow us on social media pages: G+, Twitter andLinkedin.