วิศวกรซอฟต์แวร์ทำอะไร คุณต้องการโอกาสในการเขียนโค้ดซอฟต์แวร์ที่สร้างความเป็นจริงเสมือนสำหรับผู้ใช้รุ่นใหม่หรือปัญญาประดิษฐ์ประเภทใหม่ที่สามารถแก้ปัญหาที่ซับซ้อนที่สุดในโลกได้หรือไม่?
คุณใฝ่ฝันที่จะพัฒนาโปรแกรมคอมพิวเตอร์ที่ทันสมัยหรือแอพอุปกรณ์พกพาที่ใช้ในธุรกิจ อุตสาหกรรม การวิจัย และโดยผู้บริโภคในชีวิตประจำวันหรือไม่?
คุณรู้สึกตื่นเต้นกับความเป็นไปได้ของการปฏิบัติงานที่พัฒนาอย่างรวดเร็ว ซึ่งสะท้อนถึงการเปลี่ยนแปลงของเทคโนโลยีและความเชี่ยวชาญใหม่ๆ หรือไม่?
สาขาวิศวกรรมซอฟต์แวร์เปิดโอกาสให้สร้างความแตกต่างอย่างแท้จริงด้วยการเป็นผู้มีความคิดสร้างสรรค์ที่อยู่เบื้องหลังโปรแกรมคอมพิวเตอร์ พัฒนาแอปพลิเคชันที่อนุญาตให้บุคคลทำงานเฉพาะบนคอมพิวเตอร์หรืออุปกรณ์อื่น และ/หรือพัฒนาระบบพื้นฐานที่เรียกใช้อุปกรณ์ หรือเครือข่ายควบคุมนั้น
• สร้าง ทดสอบ และประเมินแอปพลิเคชันซอฟต์แวร์และระบบที่ทำให้คอมพิวเตอร์ทำงานได้
• สร้างหรือปรับแอปพลิเคชันที่กำหนดเองสำหรับธุรกิจและองค์กรอื่นๆ
• วิเคราะห์ความต้องการของผู้ใช้ แล้วออกแบบ ทดสอบ และพัฒนาซอฟต์แวร์เพื่อตอบสนองความต้องการเหล่านั้น
• สร้างผังงาน ไดอะแกรม และเอกสารประกอบอื่นๆ และอาจสร้างชุดคำสั่งโดยละเอียด ซึ่งเรียกว่าอัลกอริทึม ซึ่งบอกคอมพิวเตอร์ว่าต้องทำอย่างไร
• แปลงโปรแกรมซอฟต์แวร์ที่ออกแบบโดยวิศวกรซอฟต์แวร์คอมพิวเตอร์และนักวิเคราะห์ระบบให้เป็นชุดคำสั่งเชิงตรรกะที่คอมพิวเตอร์สามารถปฏิบัติตามได้
• ช่วยวิศวกรซอฟต์แวร์ในการระบุความต้องการของผู้ใช้และออกแบบบางส่วนของโปรแกรมคอมพิวเตอร์ ตลอดจนฟังก์ชันอื่นๆ
• ใช้เครื่องมือหลายอย่าง ได้แก่ :
• เครื่องมือวิศวกรรมซอฟต์แวร์ที่ใช้คอมพิวเตอร์ช่วยทำให้กระบวนการเขียนโค้ดเป็นไปโดยอัตโนมัติ และช่วยให้โปรแกรมเมอร์มีสมาธิในการเขียนส่วนต่างๆ ที่เป็นเอกลักษณ์ของโปรแกรม
• “สภาพแวดล้อมของโปรแกรมเมอร์” แอปพลิเคชันที่เพิ่มประสิทธิภาพการทำงานโดยการรวมการคอมไพล์ การแนะนำโค้ด การสร้างโค้ด การทดสอบการสร้างข้อมูล และการดีบักฟังก์ชัน
• ไลบรารีของรหัสพื้นฐานที่สามารถแก้ไขหรือปรับแต่งสำหรับแอปพลิเคชันเฉพาะ ให้โปรแกรมที่เชื่อถือได้และสม่ำเสมอมากขึ้น และเพิ่มประสิทธิภาพการทำงานของโปรแกรมเมอร์โดยขจัดขั้นตอนที่เป็นกิจวัตรบางขั้นตอน
• วิศวกรซอฟต์แวร์คอมพิวเตอร์โดยทั่วไปสามารถแบ่งออกเป็นสองประเภท:
• วิศวกรซอฟต์แวร์แอพพลิเคชั่นคอมพิวเตอร์:
• วิเคราะห์ความต้องการของผู้ใช้ปลายทางและออกแบบ สร้าง ปรับใช้ และบำรุงรักษาซอฟต์แวร์แอปพลิเคชันคอมพิวเตอร์ทั่วไปหรือโปรแกรมยูทิลิตี้เฉพาะทาง
• ใช้ภาษาการเขียนโปรแกรมที่แตกต่างกัน ขึ้นอยู่กับวัตถุประสงค์ของโปรแกรมและสภาพแวดล้อมที่โปรแกรมทำงาน ซึ่งรวมถึง:
• วิศวกรซอฟต์แวร์ระบบคอมพิวเตอร์:
• ประสานงานความต้องการด้านคอมพิวเตอร์ของแต่ละแผนกและให้คำแนะนำเกี่ยวกับทิศทางทางเทคนิค ซึ่งรวมถึง: การสั่งซื้อ สินค้าคงคลัง การเรียกเก็บเงิน และการเก็บบันทึกเงินเดือน
• ตั้งค่าอินทราเน็ตขององค์กร—เครือข่ายที่เชื่อมโยงคอมพิวเตอร์ภายในองค์กรและทำให้การสื่อสารระหว่างแผนกต่างๆ ง่ายขึ้น
• ออกแบบและดำเนินการด้านความปลอดภัยของระบบและการรับประกันข้อมูล
• ทำงานให้กับบริษัทที่กำหนดค่า ใช้งาน และติดตั้งระบบคอมพิวเตอร์ขององค์กรอื่น
• ระบุและอธิบายการเปลี่ยนแปลงที่จำเป็นสำหรับการปรับแต่งระบบคอมพิวเตอร์ที่ซับซ้อนสำหรับผู้ซื้อ
• แมรี่ชอว์ – ทำงานในโครงการออกแบบซอฟต์แวร์ในระดับสถาปัตยกรรม รวมถึง Vituvius และ Unicon
• รีเบคก้า จาค็อบบี้ – CIO และรองประธานอาวุโสของกลุ่มเทคโนโลยีการจัดการไอทีและระบบคลาวด์ที่ซิสโก้; จัดการแผนกไอทีภายในของซิสโก้และเป็นผู้นำกลยุทธ์ว่าซิสโก้ควรนำเสนอเทคโนโลยีคลาวด์ให้กับลูกค้าอย่างไร
• มิชาล เซกาลอฟ – วิศวกรซอฟต์แวร์และผู้จัดการซึ่งเป็นผู้นำกลุ่มวิศวกรในทีม Google Play โดยเน้นที่แอปและเกม คุณลักษณะสำหรับผู้บริโภคใน Play Store และอินเทอร์เฟซโปรแกรมสำหรับนักพัฒนา ร่วมก่อตั้ง Mind the Gap โครงการส่งเสริมให้เด็กผู้หญิงเรียนวิทยาการคอมพิวเตอร์และคณิตศาสตร์ในโรงเรียน
• Marc Lowell Andreessen – ผู้ประกอบการ นักลงทุน และวิศวกรซอฟต์แวร์ชาวอเมริกัน ผู้เขียนร่วมของ Mosaic เว็บเบราว์เซอร์แรกที่ใช้กันอย่างแพร่หลาย และผู้ร่วมก่อตั้ง Netscape Communications Corporation
• เอริคชมิดท์ – รับผิดชอบในการสร้างโครงสร้างพื้นฐานขององค์กรของ Google ซึ่งเดิมเคยเป็นผู้นำการวางแผนเชิงกลยุทธ์ที่ Novell
• ฌอน อีแกน – วิศวกรซอฟต์แวร์ที่ Google ซึ่งเขาทำงานบน Google Talk และ Google Maps อดีตหัวหน้าโครงการที่ Pidgin โปรแกรมรับส่งข้อความโต้ตอบแบบทันทียอดนิยม
• ทักษะการสื่อสาร: ให้คำแนะนำที่ชัดเจนแก่ผู้อื่นที่ทำงานในโครงการ อธิบายให้ลูกค้าทราบถึงวิธีการทำงานของซอฟต์แวร์ และตอบคำถามใดๆ ที่อาจเกิดขึ้น
• ทักษะคอมพิวเตอร์: เข้าใจความสามารถคอมพิวเตอร์และภาษาโปรแกรมเพื่อออกแบบซอฟต์แวร์ที่มีประสิทธิภาพ
• ทักษะด้านมนุษยสัมพันธ์: ต้องสามารถทำงานได้ดีกับผู้อื่นที่มีส่วนร่วมในการออกแบบ พัฒนา และเขียนโปรแกรมซอฟต์แวร์ที่ประสบความสำเร็จ
• เน้นรายละเอียด: ทำงานในส่วนต่าง ๆ ของแอปพลิเคชันหรือระบบพร้อมกัน ดังนั้นจึงต้องมีสมาธิและใส่ใจในรายละเอียด
• สมาคมเพื่อการคำนวณเครื่องจักร: สังคมคอมพิวเตอร์เพื่อการศึกษาและวิทยาศาสตร์ที่ใหญ่ที่สุดในโลกมุ่งเน้นไปที่การพัฒนาคอมพิวเตอร์ในฐานะวิทยาศาสตร์และอาชีพ
• สมาคมปัญญาประดิษฐ์แห่งอเมริกา: สังคมวิทยาศาสตร์ที่ไม่แสวงหากำไรที่อุทิศให้กับการพัฒนาความเข้าใจทางวิทยาศาสตร์ของกลไกที่อยู่เบื้องหลังความคิดและพฤติกรรมที่ชาญฉลาดและศูนย์รวมของสิ่งเหล่านี้ในเครื่องจักร
• สมาคมสตรีในคอมพิวเตอร์: หนึ่งในองค์กรวิชาชีพสตรีแห่งแรกในแวดวงคอมพิวเตอร์ที่มุ่งเน้นส่งเสริมความก้าวหน้าของสตรีในวิชาชีพคอมพิวเตอร์
• สมาคมวิจัยคอมพิวเตอร์: เน้นส่งเสริมนวัตกรรมโดยร่วมมือกับภาคอุตสาหกรรม ภาครัฐ และภาควิชาการ เพื่อเสริมสร้างการวิจัยและการศึกษาขั้นสูงด้านคอมพิวเตอร์
• สถาบันวิศวกรรมและเทคโนโลยี: สร้างแรงบันดาลใจ แจ้งข่าวสาร และมีอิทธิพลต่อชุมชนวิศวกรรมระดับโลก สนับสนุนนวัตกรรมเทคโนโลยีเพื่อตอบสนองความต้องการของสังคม
• สมาคมคอมพิวเตอร์ IEEE: องค์กรสมาชิกชั้นนำของโลกที่อุทิศให้กับวิทยาการคอมพิวเตอร์และเทคโนโลยี แหล่งข้อมูล เครือข่าย และการพัฒนาอาชีพที่เชื่อถือได้สำหรับชุมชนผู้นำเทคโนโลยีระดับโลก