I have been working at El Niño for over half a year now as a part-time backend developer while still being a full-time student. In these 6 months I learned a lot and not just programming. These are the lessons I learned in my first half year of being a developer at El Niño.
1. Be open and take on a challenge
As a starting developer it might be hard to determine what you are capable of and what not. It will surprise you that you can do a lot more than you think you can. Programming is not just about knowing a programming language or having a lot of experience. The most important thing is having insight. Simply put: understanding the problem and knowing how to fix it. Having insight does not mean that you can magically fix things. It means having the knowledge of how to solve a problem. Understanding your tools is what you use to solve that problem. Learning is much easier when you are working on a real problem. It might take a bit longer but the next time you will do it in half of the time.
So do not underestimate yourself and take on challenging projects. In the end you will not only have a successful project and a happy customer but also a lot of new knowledge, experience and insights.
2. Contact with clients is nothing to be afraid of
Since you mostly develop for clients it will not be a surprise that you will have to work together with them in order to get the best results. Do not be afraid to contact them if things are unclear. It will show the client that you are really involved in the project. Sometimes clients have unclear or non-logical request so always be aware of what you promise. You do not want to disappoint the client afterwards. You are the developer and it is your job to translate the wishes of the client in a thoughtful way into your product.
Also do not make too many assumptions. Watch out for thinking too much for your client. Instead think with your client. Always discuss important things with your client first before you actually implement them. You do not want to start all over again because you misunderstood your client.
3. Having responsibilities is great. But manage them well!
Getting a serious job comes with serious responsibilities and it is up to you to manage them well. The longer you are working at your job the more responsibilities you will get. Deadlines, clients, meetings, support and fixing urgent problems… All are part of the deal when becoming a developer. This can be stressful especially as a starting developer because of several reasons, like: you want to proof yourself, you might not have a lot of experience and you also still have other responsibilities next to your job. In order to not lose your mind and to keep doing your job well, it is important that you know your responsibilities and to know what your limits are.
Keep your tasks and priorities organized, so you are able to estimate the workload. Before someone gives you a new responsibility and or deadline first check if your workload is not already too high for that period of time. Colleagues may not know how busy you are if you do not tell them. So communicate with them. Also communicate if you discover that you need a bit more time than you anticipated at first. Maybe they can help you out in meeting your deadline. Learn from your mistakes in planning and plan better next time.
4. Software is never done and never perfect
There are many roads that lead to the same goal. Some are faster, some are better and some you are forced to take. You never simply add a feature and are done. When implementing a feature you also have to think about what the influence of this new feature might be on the rest of the application. Once you have done this it is import to ask feedback from a colleague, especially if this is your first time working on an already existing project. Your colleagues have more experience and can tell you what you should pay attention to in a particular project. You can also learn a lot from more experienced developers. They have their own tricks and routines to work even faster and more efficient. The important thing to keep in mind is that you can really learn a lot by asking feedback on your work.
5. Use the available knowledge in the office
As a starting developer it is not uncommon to get a task you are unable to complete all on your own because you lack the experience with that project. At some point you will get stuck and do not know how to get further. Most of the time Google is your best friend but keep in mind this friend might let you down from time to time…so what to do then?
There actually are other humans sitting next to you in the office: they are called ‘your colleagues.’ Although they might look very busy with their tasks, just ask them for help. They have a lot of experience and could probably help you out in just a few minutes. So do not be afraid to ask them for help. They probably all have been in the same position as you are right now. Although they might be very busy with their deadlines, you should still ask them for help. Why? Because you also have deadlines and what happens if you do not meet them in time… Your colleagues will probably have to fix your mess. So just ask them! The worst thing that can happen is getting no for an answer because they are really busy. But they will help you out afterwards. The biggest advantage of asking your colleagues is that you get feedback and you will learn a lot by doing so.