When people hear the term “Software Developer” they seem to be fairly impressed yet unsure what it really entails as a job. Most people assume its someone who is very good with computers, which is pretty close. So, have you ever wondered what it is to be a software developer? Well, Stephano Wamlyoma is a software developer at our Beem office and he talks us through an average working day, explains the pros and cons of the job and passes on advice to anyone wanting to be a software developer. What’s a typical day in the life of a Software Developer? “Well it depends on the person’s work load and responsibilities at the place of work.” “My day usually starts at 9 a.m when I arrive at the Beem office. I normally have to do a bunch of tasks for the company like adding new features on existing products, participating in designing the architecture of the new platform, do software testing, prepare and perform demo for the new products and writing documentation for new products. All these tasks are either team based or individual based, however, I must always be prepared to work in a team.” “Every morning, I have to post on our slack channel about all the tasks that I have planned to achieve for the day. Outlining my tasks daily is very essential as it helps the leader to know the direction we are heading and it’s also easy for me and my team to keep in mind the company’s priorities at a given specific time.” “Usually, every Monday we have our weekly meetings where we do recaps on what was planned and what has been done, we discuss the necessary changes that can be done among other things. It is during these meetings that the team gets the chance to do demo of some of the completed products or features which makes it easy to track the development cycle of a product.” What do you enjoy most about your job? “For me what gives me great satisfaction is seeing the software products that we have made are functioning well and are solving problems.” “I am the happiest when I turn an idea into a real product that someone can use and enjoy it. Overall, I really do enjoy working on technology stuff.” What are the downsides of the job? “The downside of this job is that it needs too much attention. With that much attention on just one thing may sometimes lead to you losing your attention from other important things in life.” “For example, nowadays I don’t regularly meet up with friends and family due to being at work almost all the time and when you do, all you can think about is your work like “how to implement this and that” you think about new ideas, how to learn new stuff and so on.” “So some people who do not understand what it’s really like to be a developer, they may think you are just avoiding them. I have lost some friends in the long run because it has been hard to make enough time to spend with them.” What have you learnt? “I have learned to work with a team, to act as professional and also to make a variety of customized products as per the needs of clients.” “The best thing about working in this field is the constant learning of new things one has to adapt to. Every day, every task comes with its own new set of challenges which makes the job more interesting.” “All these knowledge and experience were not well acquired from college and getting the chance to learn all this here at Beem is big step in my career journey.” What skills make a Software Developer successful? “First of all you must have computer programming background, that is very important. Secondly, you should be ready to learn new technologies, ready to work in a team, have good communication and lastly, this is very important, is you must love what you’re doing.” What kind of education and experiences did you need prior to starting your current job? “It required me to have computer programming skills, such as knowing how to work with different languages like C,C++, java, php, html, java script etc.” “To have database skills such as being able to work with MySQL database and other NOSQL databases like fire base, mongoDB etc.” “I was also required to have android development skills, to have knowledge about frameworks, version control software, to be able to work with APIs and making them.” What tools to you use on a daily basis? Some of the common tools that I normally work with very often when working here at Beem include
- Editors – I am using this visual code studio VS which is a very cool tool
- Version control tools – Gitbucket
- Performance adding tools – Redis, Docker, Rbitmq, some libraries and plug-ins.
- Communication tools – Slack
- Projects and tasks monitoring tool -Trello