I got a bachelor's in Electrical Engineering. But I delved into the IT realm and became a Network Engineer 15 years ago. For me, I was intrigued on the foundation of network communication and how it's the backbone of all IT infrastructures. I really enjoy how technology evolves and how it improves the way we do things. I like designing and implementing network infrastructures. There's always more to learn, especially with Cloud technology in play now.
Now I'm learning how to automate and script deployments. As well as learning cloud services.
My daily basis consists of morning meetings. Followed my designing and planning new implementations. During implementations, I schedule it during off business hours (late at night or early morning).
I recommend you follow your heart and something you enjoy. Always continue to learn.
I'm a software engineer and I can say I really do enjoy my daily job. The coolest thing about my job is the versatility that it affords me. At its core software developers get to solve problems and make things to make everyone else's lives easier. But it isn't restricted to a certain type of problem by industry. For example, a doctor might focus on fixing peoples health, a lawyer might focus on justice, but a software engineer isn't locked in. I could work on health software one year and then next year be working on legal software the next. I could then swap to working on education software or maybe design software. But I'm not re-learning my core skills/trade when I swap, instead I'm figuring out how I can apply the things i've continually learned to a new space and also getting to learn about the interesting aspects of each. As a software developer that changes spaces like this, I have exposure to experts from each of these industries and helping them achieve their goals makes me feel like I'm having a really positive impact.
My daily (work) routine often looks like this:
- Check emails and slack (communication tool, like messenger or whatapp but for work conversations), because I work with people from all different timezones around the world, they could be sending messages while I slept.
- Have a 'standup' meeting with my team where we discuss what we'll try to achieve today.
Then its one of three things:
- Discuss with different people what problems we're trying to solve and what we'll make to solve them. Maybe work through a design document.
- Start coding! This is pretty fun and where most of the time goes. Coding is like writing out a set of instructions or recipes for computers to follow and when its done, you can sit back and admire the thing that you've made. I tend to have a picture of how things should be in my head and then coding is kind of writing it down or putting all the lego pieces together.
- Review other peoples code. Often we work in teams to make big and bigger things together, but to work effectively in software engineering teams, you have to learn to share ideas and build on top of things that others have made. Code reviews ensure that everything everyone else builds is easy to understand and works the best way that it could. This makes it easier to use the building blocks they've created to make nice things of your own.
I do generally like my day -to -day everyday, because everyday is different, the people I work with are fun to work with and I feel like i'm making a positive impact on the world! :)
I've been a Software Developer/Engineer for about 12 years already. And I really love my job, as you can see :)
The thrill to solve new problems and learn from them every day is one of the best things I like in this area. But nothing surpasses the feeling of coming up with an idea, working on it and seeing it working and helping users worldwide!
One of the things I find hard is to keep up with all the new stuff coming out on a daily basis. That's why it is a good idea for you to define a domain to be an expert and then start absorbing knowledge outside of it only when the necessity comes. I can say it is pretty humanly impossible to keep up with everything (languages, frameworks, best practices, etc.).
A common day in my professional life would be:
Start my day by opening my to-do list, making sure I acknowledge what are the priorities and the good-to-haves. Then, I'd go open my inbox and slack (messaging tool) in order to catch up with everything I've missed since I logged out -- my company has employees in different time zones, so asynchronous communication is common. After that, I'd start my priority tasks or, depending on the day, study a bit. Then, before or right after lunch is when meetings start to happen so the entire team sync, plan, coordinate and discuss current and future tasks. After the meetings, if there's still time I'd continue working on the priorities (if the deadline is close) or on the good-to-haves. Finally, I'd wrap up everything I can and set up the to-do list for the next day.
It could sound kinda boring, but honestly, I love it :)
I hope my answer helped you,
David C’s Answer
So I recommend you choose what you would love to do and get it done. Having a career you love to do, is worth more than anything else.