6 answers
Asked
628 views
Computer Architecture
As a Computer Architecture are you allowed to work remotely? Can you go in depth about what your job is like? How relaxing is the job? When given the projects, how hard do you think it is? How did you know you were interested in this job?
Login to comment
6 answers
Updated
Swathi’s Answer
Hello Lena,
Over the years, I've had the rewarding experience of being a software engineer, a journey that has allowed me to work in diverse settings - from the comfort of my home during the pandemic to the bustling office environment five days a week. The flexibility of working remotely or in a hybrid mode largely depends on the policies of the organization you join.
As a software engineer, your days will be filled with exciting tasks like designing, coding, and testing the software you create. One of the most enriching aspects of this role is the brainstorming sessions, where you'll collaborate with your team to discuss and refine ideas for the solution you're collectively developing.
For those just starting out, like junior engineers, these sessions can be a treasure trove of learning opportunities. You'll gain insights into problem-solving strategies, debugging techniques, and holistic approaches to addressing issues.
Yes, there can be stressful moments, especially when the code you've worked so hard on doesn't perform as expected when it's time to go live. However, don't let this deter you. Consider starting with an internship or part-time hours to get a feel for the job. This will give you a realistic understanding of the challenges and rewards that await you in this field.
Remember, every journey begins with a single step, and I believe you have what it takes to embark on this exciting adventure in software engineering. Best of luck!
Over the years, I've had the rewarding experience of being a software engineer, a journey that has allowed me to work in diverse settings - from the comfort of my home during the pandemic to the bustling office environment five days a week. The flexibility of working remotely or in a hybrid mode largely depends on the policies of the organization you join.
As a software engineer, your days will be filled with exciting tasks like designing, coding, and testing the software you create. One of the most enriching aspects of this role is the brainstorming sessions, where you'll collaborate with your team to discuss and refine ideas for the solution you're collectively developing.
For those just starting out, like junior engineers, these sessions can be a treasure trove of learning opportunities. You'll gain insights into problem-solving strategies, debugging techniques, and holistic approaches to addressing issues.
Yes, there can be stressful moments, especially when the code you've worked so hard on doesn't perform as expected when it's time to go live. However, don't let this deter you. Consider starting with an internship or part-time hours to get a feel for the job. This will give you a realistic understanding of the challenges and rewards that await you in this field.
Remember, every journey begins with a single step, and I believe you have what it takes to embark on this exciting adventure in software engineering. Best of luck!
Updated
Jason’s Answer
Certainly, the role of a software architect can be performed remotely, but this largely depends on the specific company's policies. There are companies that operate entirely remotely, others that require physical presence, and some that adopt a mix of both. Therefore, it's essential to investigate a company's work style before applying.
The responsibilities of a software architect can differ significantly across teams and companies. Typically, the role involves making extensive technical decisions, developing solution prototypes, and managing the necessary resources, both human and technical, to see a project through to completion. To excel in this role, you need a profound and wide-ranging technical understanding of the problem area, exceptional organizational and documentation abilities, and excellent communication skills. This is because software architects often act as intermediaries between company leadership pushing initiatives and the engineers tasked with executing them.
While the role of a software architect is far from relaxing, given its significant responsibilities and demanding requirements, it can be immensely gratifying. It offers professional, personal, and financial rewards, making it a fulfilling career choice.
The responsibilities of a software architect can differ significantly across teams and companies. Typically, the role involves making extensive technical decisions, developing solution prototypes, and managing the necessary resources, both human and technical, to see a project through to completion. To excel in this role, you need a profound and wide-ranging technical understanding of the problem area, exceptional organizational and documentation abilities, and excellent communication skills. This is because software architects often act as intermediaries between company leadership pushing initiatives and the engineers tasked with executing them.
While the role of a software architect is far from relaxing, given its significant responsibilities and demanding requirements, it can be immensely gratifying. It offers professional, personal, and financial rewards, making it a fulfilling career choice.
Updated
Jay’s Answer
Hi Lena,
I worked at a major microprocessor corporation for a few years, as both an intern and an individual contributor. While my jobs were more on the architecture validation side, I worked side by side with engineers who had computer engineering degrees and were heavily into developing and designing integrated circuits and embedded processors. I would say it is definitely possible to work remotely, unless you are directly involved with the fabrication process. Many computer engineers work purely with the design and testing components, which does not involve you to be in front of the silicon physically.
The relaxing and challenging aspects of these jobs (and the entire category of engineering jobs) specifically depends on your own work ethic in my opinion. There are those that can choose to take more work than they can chew on, such as taking every assignment during a sprint, or they chase down an architecture flaw or issue spending hours after their shift ends trying to fix a problem which is blocking progress on a design iteration. There are engineers who choose to take the easiest work every sprint or cycle, and depending on the team and workload, you can stagnate as an engineer without pushing yourself to really achieve among your peers.
Theoretically, computer engineering is a very dense and complicated work path that will require a large amount of self starting motivation and resilience as even the smallest component on a board or in the silicon can have potentially thousands of associated components that need to be considered. This includes thinking of code from the lowest level (i.e. assembly and firmware), to electrical engineering aspects, to thinking higher to drivers and even software integrations to the silicon. The most direct example I've worked with is WLAN chips which can be embedded onto the board or installed as a M.2/NGFF riser card, and this split can differentiate your entire methodology to interacting with the silicon. You can specifically be dealing with flashing ROM memory onto this chip on the board (getting close to assembly code), or you can be dealing with direct software drivers with even a GUI at the OS level, and these have varying levels of complication -- and this is the simpler layer over the actual computer engineering and design that the firmware builds on top of.
To answer your last question, being interested in computer engineering involves a curiosity towards tinkering with systems in general, and being interested in how computers work, and that can iterate into itself until you're directly looking at a silicon fab design. This category of careers is entirely what you make of it, but I would definitely add that it requires more intensive training and education and possibly specialization if you want to get far compared to other technical jobs, simply because computer architecture is built in between both electrical engineering and software engineering and you need a strong foundation in both.
I worked at a major microprocessor corporation for a few years, as both an intern and an individual contributor. While my jobs were more on the architecture validation side, I worked side by side with engineers who had computer engineering degrees and were heavily into developing and designing integrated circuits and embedded processors. I would say it is definitely possible to work remotely, unless you are directly involved with the fabrication process. Many computer engineers work purely with the design and testing components, which does not involve you to be in front of the silicon physically.
The relaxing and challenging aspects of these jobs (and the entire category of engineering jobs) specifically depends on your own work ethic in my opinion. There are those that can choose to take more work than they can chew on, such as taking every assignment during a sprint, or they chase down an architecture flaw or issue spending hours after their shift ends trying to fix a problem which is blocking progress on a design iteration. There are engineers who choose to take the easiest work every sprint or cycle, and depending on the team and workload, you can stagnate as an engineer without pushing yourself to really achieve among your peers.
Theoretically, computer engineering is a very dense and complicated work path that will require a large amount of self starting motivation and resilience as even the smallest component on a board or in the silicon can have potentially thousands of associated components that need to be considered. This includes thinking of code from the lowest level (i.e. assembly and firmware), to electrical engineering aspects, to thinking higher to drivers and even software integrations to the silicon. The most direct example I've worked with is WLAN chips which can be embedded onto the board or installed as a M.2/NGFF riser card, and this split can differentiate your entire methodology to interacting with the silicon. You can specifically be dealing with flashing ROM memory onto this chip on the board (getting close to assembly code), or you can be dealing with direct software drivers with even a GUI at the OS level, and these have varying levels of complication -- and this is the simpler layer over the actual computer engineering and design that the firmware builds on top of.
To answer your last question, being interested in computer engineering involves a curiosity towards tinkering with systems in general, and being interested in how computers work, and that can iterate into itself until you're directly looking at a silicon fab design. This category of careers is entirely what you make of it, but I would definitely add that it requires more intensive training and education and possibly specialization if you want to get far compared to other technical jobs, simply because computer architecture is built in between both electrical engineering and software engineering and you need a strong foundation in both.
Updated
Corinne’s Answer
Hi Lena!
I'm a lead software engineer which means I write code to build applications for companies. Many times my role involves designing the architecture of how different computer programs will talk to each other. In order to do this I need to collaborate with various other engineers to design how the technology will work. So in my role as a 'lead' it means I have more responsibility talking to other engineers and making sure that everyone agrees on the strategy.
There are differences in the day to day for what projects and work days look like between different teams and individuals. For instance, some engineers are more math focused or get delegated tasks without as much collaboration needed. All that to say is that I think technology and engineering has many different roles that fit different personality types.
I personally find the job most of the times to be very enjoyable because I get to work with computers every day from home. There are some stressful periods, but this mostly relates to when there are deadlines looming - which is pretty similar to how things are in school when there is a deadline for a paper or a project.
I started in the industry as an intern, which gave me a good insight into the technology world and let me hone in on the areas of technology I was interested in.
I'm a lead software engineer which means I write code to build applications for companies. Many times my role involves designing the architecture of how different computer programs will talk to each other. In order to do this I need to collaborate with various other engineers to design how the technology will work. So in my role as a 'lead' it means I have more responsibility talking to other engineers and making sure that everyone agrees on the strategy.
There are differences in the day to day for what projects and work days look like between different teams and individuals. For instance, some engineers are more math focused or get delegated tasks without as much collaboration needed. All that to say is that I think technology and engineering has many different roles that fit different personality types.
I personally find the job most of the times to be very enjoyable because I get to work with computers every day from home. There are some stressful periods, but this mostly relates to when there are deadlines looming - which is pretty similar to how things are in school when there is a deadline for a paper or a project.
I started in the industry as an intern, which gave me a good insight into the technology world and let me hone in on the areas of technology I was interested in.
Updated
Pravin’s Answer
Choosing a career in computer architecture can be an exciting and fulfilling journey. It offers the opportunity to design and fine-tune the core structure of computer systems, pushing the boundaries of technological innovation. As a professional in this field, you'll have a pivotal role in enhancing the performance and efficiency of computer hardware, and ensuring it works flawlessly with various software applications. This career path is not only rewarding but also offers flexibility, with many companies providing the option to work from home. To get a real feel for the job, consider shadowing someone already in the field. This hands-on experience can help you determine if this career is the right fit for you. So, why not give it a try? Good luck.
Updated
Karen’s Answer
Hello Lena,
My career began as a software engineer, and naturally, I transitioned into the role of an Enterprise Architect. I've always been fond of coding, along with the logical thinking and problem-solving aspects that it entails. However, stepping into architecture has opened up a new world for me, where I get to contemplate entire systems and applications.
In this role, I consider how different components interact and communicate, and how data is stored and accessed. The scope of problems to be solved is wider, making the task more intriguing. Given the expansive nature of these considerations, having a strong foundation in software development is crucial.
Typically, most software architects are at a Lead or Principal engineer level, indicating that this role is a step up in one's career. It requires exposure to a multitude of areas to gain a comprehensive understanding that can be effectively applied.
I find this role extremely fulfilling. It's highly collaborative, providing an excellent opportunity to work closely with other engineers.
My career began as a software engineer, and naturally, I transitioned into the role of an Enterprise Architect. I've always been fond of coding, along with the logical thinking and problem-solving aspects that it entails. However, stepping into architecture has opened up a new world for me, where I get to contemplate entire systems and applications.
In this role, I consider how different components interact and communicate, and how data is stored and accessed. The scope of problems to be solved is wider, making the task more intriguing. Given the expansive nature of these considerations, having a strong foundation in software development is crucial.
Typically, most software architects are at a Lead or Principal engineer level, indicating that this role is a step up in one's career. It requires exposure to a multitude of areas to gain a comprehensive understanding that can be effectively applied.
I find this role extremely fulfilling. It's highly collaborative, providing an excellent opportunity to work closely with other engineers.