PyLadies Night with Eunice Obugyei - Starting a Project, Staying Productive

PyLadies Night with Eunice Obugyei - Starting a Project, Staying Productive

Miss Eunice Obugyei is a software developer with about 9 years of experience. She graduated from the Kwame Nkrumah University of Science and Technology (KNUST) with a degree in Computer Engineering. She’s a senior software engineer at Andela and also a co-author of an Android book titled Learning Kotlin by building Android applications. Fun fact, she likes watching movies and tv series.

Tell us briefly about yourself. How would you describe Eunice Obugyei?

I'm a software developer with about 9 years of experience. I graduated KNUST with a degree in Computer Engineering. I'm currently a senior engineer at Andela.

From your LinkedIn profile, we understand you are the co-author of the book "Learning Kotlin by building Android applications"?

Yes, I am.

What was the driving factor in becoming a Software Engineer and eventually being a co-author of the book "Learning Kotlin by building Android applications"?

I was introduced to coding in SSS 2 and I fell in love with it. I decided that was the path I wanted to take. With regards to the book, it wasn't something I really set out to work on. Someone from the publishing house contacted me after seeing several Android tutorials I had worked on, is a mobile development tutorial website.

Moving straight to our topic agenda for today, How do you /did you stay motivated in completing your work projects?

Honestly, I've never been able to come up with a good answer to that question. I guess I like to meet deadlines, I'm not always able to but I do my best.

Would you say that your early introduction to coding played a positive role in your journey as a developer?

Yes. It did. In University, I didn't have a lot of programming courses but I did my best to learn on my own. Knowing software development was the path I wanted to go down on helped me stay motivated. As developers, we are often told to break our projects into smaller modules,

Kindly walk us through the procedures you use in breaking your projects?

I like to break my projects into modules based on functionality. List the various functionalities for the application and merge the similar ones into a module. Let me use an example:

Let's say you have to build an eCommerce application, Some of the functionalities

will be:

1. A user should be able to add an item to the Cart

2. A user should be able to view the items in the Cart

3. A user should be able to pay for the items

4. A user should be able to create an account

5. A user should be able to log in

Out of these functionalities:

1 and 2 are similar and will be grouped under a cart-management module. 4 and 5 are also similar and will be grouped under a user management module. 3 will be part of the payment module. With this, when you need to make changes that affect payments, you know where to go, It's a separation of concerns issue. In some larger projects, the modules can be worked on by different teams.

On the subject of teamwork, How important is teamwork in staying active through to a project’s finish line?

I have a colleague who always says that, as developers, one of the lies we tell ourselves when we first start our coding journey is the fact that building software is an individual affair, It's not. The entire process of taking a project from the ideation phase to actual implementation requires a team. You need multiple people involved. As a developer, you'll rarely work completely on your own. For most projects, you will need product engineers, designers, and other developers with differing skill sets to work together on a project, So in a nutshell, teamwork is very essential.

As a senior software engineer, what difficulties do you regularly face and how do you get through them?

I guess every day is different. I always remind myself that most issues have probably been faced by other developers in the past, So, if I do enough research on the issue and keep working on it, there's a high probability that'll come up with a good solution.

Would you say that as a female, your Software engineering journey has been easier or more difficult as compared to your male colleagues?

This is an interesting question because I've always been asked this question in the reverse. "How difficult has it been for you as a female developer" and other variations of it. Weirdly enough, I don't think I've had it any easier than my male colleagues, I also don't think I've had a particularly hard time as a developer because I'm female.

I know some ladies have had to deal with a lot of discrimination in the tech industry and the workforce as a whole but I'm grateful to God I haven't had to go through that. But then again, I've only worked at 2 different software companies so …

Tell us about fun but challenging project you had to handle as a software engineer and how you solved it.

Wow. That's a difficult one. I worked for about 5 years on a payment platform and almost every day was filled with a few fun and challenging issues but I guess a recent fun and challenging project will be my last DevOps project, we were building a platform that consisted of over 20 microservices. I was charged with the task to work on a CI/CD flow that will ensure that when developers push changes to git. The microservice that was updated will be built and deployed automatically for testing, I had to work with tools I had never used before like Docker and Amazon ECS. It was a complicated project but it was something completely new and I had a lot of fun learning and implementing the flows.

Questions From Participants

What do software engineers do on a daily basis and what makes one a good or a bad software engineer?

It depends. If you're on a team that's working on a new project, then you'll probably spend most of your time either in planning meetings or writing code for the new project. On the other hand, if you're supporting an already live application, most of your time might be spent fixing issues that come up. A good software engineer should be good at problem-solving and should be a good team player.

I also want to know how you became a software engineer. Did you have to further your education or you are a self-taught software engineer?

I had about 2 programming courses in Uni but I also learnt a lot on my own. At the time, I bought some programming books from the EPP bookshop.

As an Engineer, how do you juggle between completing projects and pursuing other things like volunteering, your hobbies, and likes? How are you able to keep being productive?

Hmm. I don't really have hobbies unless you consider watching movies and series as hobbies. But one of the things I learnt pretty late in my career is you have to make sure you're not making your work take over your life. Try to insist, in a nice way, that your weekends are yours. Do your best to avoid making working on weekends a norm. A lot of developers enjoy coding so they end up falling into this trap.

Finally any words of encouragement to your fellow ladies.

Never stop learning. These days, there are a lot of free online courses available so let's make use of them. Thank you once again for having me in this session.

This session was facilitated by Joyce Dzifa Lokko