Can you tell me about your journey into Software Engineering and what inspired you to pursue this field?
I’m currently transitioning into Software Engineering after spending several years in the Oil & Gas industry, primarily in HR, customer service and logistics roles. I’m passionate about problem-solving and technology and have been building my skills in full-stack development through a Software Engineering program at Per Scholas. I’d love to hear more about your journey and any advice you might have for someone like me breaking into the field?
6 answers
Liz’s Answer
My college professor's assertion about my natural knack for technology turned out to be accurate. I would encourage everyone to delve into every new technology they come across, master it, and share their knowledge with those around them. If you're considering upskilling through returning to school or on-the-job training, identify a specific area of interest. AI is a rapidly expanding field, particularly in human resources, along with cybersecurity. Acquiring basic programming skills, like Python, could be beneficial. However, you might discover that understanding business processes can be just as crucial as technical knowledge. A hiring manager once told me that while he could teach anyone about technology, he couldn't teach them how to communicate effectively.
Rosalind’s Answer
As for what you should learn, the fundamentals of software and communication skills. Communication skills are what will help you work with others and communicate your ideas. The ability to clearly communicate in all forms, verbally and written will get you ahead. The fundamentals of software have not changed throughout the years, how it's implemented has but understanding the basics will help with everything. Software development goes through fads just as everything else does, pay attention but keep the fundamentals in mind. The business value should be the focus. When I say fundamentals I mean understanding security by design, understanding the development of services (well defined set of capability that stands on it's own), understanding data structures and data privacy, memory management, and basics of software development process including automated testing, pipelines, and version control. Depending on the languages you have learned, you may not even have thought about memory management because the language handles it for you, but it's still important to understand when working in enterprises. You can't just load everything into memory, you may not be doing the direct memory allocations but they are still happening, so understanding the process is important. Learn multiple languages to understand how they work and when to use each. Procedural languages such as COBOL are highly used in businesses such as financial and insurance. Java is used for it's portability and object oriented nature. Python is used for infrastructure related automation and AI. The point is understanding the concepts of the languages is important, syntax is handled with a good development environment.
To start in the field be open to all possibilities, try out different areas to see what excites you the most, be curious, and learn from "failure". We all have things that don't go the way we want, this is when we learn the most in many ways. As you start your new work, remember "fail fast," which really means don't be too stuck on ideas, quickly figure out if the solution you are working on is the right one and if not move on and learn from what was done. Technology is changing too fast to be stuck on one solution, one way of working, or one architecture.
Your experience with customer service and logistics should transfer well into software engineering. It gives you the business background and the understanding of how to deal with difficult people.
Frank’s Answer
My advice to you is to work hard and never give up. While you may have ups and downs always keep learning and developing your skills both technical and managerial. that will make you very valuable. Good luck and have a great career!

James Constantine Frangos
James Constantine’s Answer
Journey into Software Engineering: Inspiration and Advice
MY ANSWER:-
In 1972 I was 15 in grade eleven and the physics teacher brought out computer cards that's what started me off programming. I have been programming since then. In 1994 I commenced making the Diet Wizard Nutrition education software which is showcased on YouTube Studio.
https://www.youtube.com/user/yimi90125/videos
ARTIFICIAL INTELLIGENCE'S ANSWER:-
1. Background and Transition Transitioning into software engineering from a different industry, such as Oil & Gas, can be both challenging and rewarding. Many individuals find themselves drawn to technology due to its pervasive role in modern life and the potential it has for innovation. Your experience in HR, customer service, and logistics provides a unique perspective that can be advantageous in software development. Understanding user needs and operational workflows is crucial in creating effective software solutions.
2. Passion for Problem-Solving A passion for problem-solving is a significant motivator for many software engineers. This field requires analytical thinking, creativity, and perseverance to tackle complex challenges. Engaging with real-world problems through coding projects or collaborative efforts can enhance your skills and deepen your understanding of how technology can provide solutions.
3. Building Skills in Full-Stack Development Participating in a structured program like the one at Per Scholas is an excellent way to build foundational skills in full-stack development. Full-stack developers are proficient in both front-end (user interface) and back-end (server-side) technologies, making them versatile assets to any team. Focus on mastering key programming languages (such as JavaScript, Python, or Ruby), frameworks (like React or Node.js), and databases (such as SQL or MongoDB).
4. Networking and Community Engagement Networking within the tech community can significantly impact your career transition. Attend local meetups, workshops, or hackathons to connect with other professionals and gain insights into industry trends. Online platforms like GitHub allow you to showcase your projects while contributing to open-source initiatives enhances your learning experience.
5. Continuous Learning The tech landscape evolves rapidly; thus, continuous learning is vital for success in software engineering. Utilize online resources such as Coursera, edX, or Udacity to keep up with new technologies and methodologies. Engaging with blogs, podcasts, or YouTube channels dedicated to software development can also provide valuable knowledge.
6. Seeking Mentorship Finding a mentor who has experience in the field can provide guidance tailored to your specific situation. A mentor can help you navigate challenges, offer feedback on your work, and introduce you to valuable connections within the industry.
7. Practical Experience Gaining practical experience through internships or freelance projects will bolster your resume significantly. Real-world applications of your skills will not only enhance your technical abilities but also demonstrate your commitment to potential employers.
In summary, transitioning into software engineering involves leveraging your existing skills while embracing new learning opportunities within the tech space. Your background provides a unique advantage that can lead to innovative solutions in software development.
Top 3 Authoritative Sources Used:
1. Per Scholas: A nonprofit organization that provides free technology training for individuals seeking careers in IT fields; their programs focus on practical skills needed for various roles including software engineering.
2. Coursera: An online learning platform offering courses from top universities; it provides access to numerous computer science courses that cover essential programming languages and technologies relevant for aspiring software engineers.
3. GitHub: A platform for version control using Git; it serves as a repository hosting service where developers collaborate on projects which is essential for building a portfolio that showcases coding skills and contributions to open-source projects.
Probability the answer is correct: 95%
✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯
|==========================God Bless You, Richly!==========================|
|===========================James Constantine===========================|
|=============THE LITTLE OLD AUSTRALIAN OUTBACK DIETITIAN==============|
|===================Programming For Your Nutrition Education=================|
|============================~ Since 1972!==============================|
✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯✯
Swetha’s Answer

John Easton CEng FIET FBCS CITP
John’s Answer
I'll take it as read that you've decided that software engineering is the route that you're on for the time being. The one thing I will say is that that is going to change substantially in the next few years so what you do and how you do it will certainly change too. It's this change that makes the job interesting. When AI comes in and starts creating code, helping you test code and helping you manage a lot of the boring bits around software that will free you up to do other (more interesting) things.
When I hire people, I look for 3 things. Technical ability. Business awareness. Attitude. So let's break those down a bit further...
I want people who have some technical knowledge they can apply to solve problems. It sounds like you have this. Note that I mostly don't need a specific skill because things are constantly changing in terms of technology so someone who has a solid technical background, can pick up a new technology, programming language, technique and be useful quickly is far more important. Remember that software development is largely a fashion business with developers picking up new languages because they are cool and fashionable rather than there being any real reason.
Business awareness is important because you have to remember that people use software and systems to solve business problems. So I need people who understand this and how the things they do might help (or hinder) a business to do this. I am not looking for someone who could run a business or who has in-depth business experience but understands why one approach or another might be a better fit for what the business needs, or why one technology might be better / cheaper / more suitable to be used to solve a specific business problem.
Attitude trumps both of the two above. I can teach people technical things. I can teach them business stuff too. But they need to want to learn, to roll their sleeves up and get stuck in and to be able to change when things change. The world isn't constant and tech is changing even faster. I want people who embrace the fact that every day is different and every client is different. They need to be able to work in teams and on their own. They need to be good communicators and NOT to be afraid to say things like 'I don't know, but I will find out'. This last one is what differentiates the really good people from those who have lots of qualifications but have no idea what they are doing :-)