ฉันจะหลอกตัวเองเหรอ? นักวิเคราะห์ธุรกิจเปลี่ยนเป็นโปรแกรมเมอร์


11

งานปัจจุบัน: ทำงานเป็นนักวิเคราะห์ธุรกิจหลักสำหรับ บริษัท Big 4 นำทีมนักพัฒนาและผู้ทดสอบที่ทำงานในโครงการ re-platforming ขนาดใหญ่ (4 on dev dev, 4 devs นอกชายฝั่ง, ทดสอบนอกชายฝั่ง / นอกชายฝั่งหลาย) ยังทำงานในความสามารถที่คล้ายกันในโครงการขนาดเล็กอื่น ๆ

ขอบเขตของบทบาทของฉัน: การรวบรวม / การเขียนความต้องการ, การสร้างฟังก์ชั่นการใช้งาน, การออกแบบ UI (โดยทั่วไปจะทำการแมปส่วนหน้าทั้งหมดของระบบ), ทำงานอย่างใกล้ชิดกับ devs เพื่อสื่อสาร / ชี้แจงข้อกำหนดและหาแนวทางแก้ไข การเขียนกรณีทดสอบ (และทำการทดสอบจำนวนมาก) ทำงานร่วมกับผู้บริหารระดับสูงและผู้มีส่วนได้ส่วนเสียหลักการจัดการผู้ทดสอบเบต้าการสร้างคู่มือผู้ใช้และการฝึกอบรมชั้นนำโดยให้การสนับสนุนทางเทคนิคที่สำคัญ

ฉันยังเขียนมาโครสักสองสามตัวใน Excel โดยใช้ VBA (มาโครหลายตัวของฉันตอนนี้ใช้กันทั่วทั้ง บริษัท ดังนั้นอาจจะมีประมาณ 1,000 คนที่ใช้มัน) และใช้ SQL เป็นประจำทุกวัน อาศัยข้อมูล SQL Server และฐานข้อมูล Access ที่ฉันสร้าง นักพัฒนารู้สึกว่าฉันค่อนข้างดีในบทบาทนี้เพราะฉันเข้าใจเกี่ยวกับการเขียนโปรแกรมข้อ จำกัด ของระบบโครงสร้างของฐานข้อมูลและอื่น ๆ ดังนั้นจึงง่ายสำหรับฉันในการสื่อสารแนวคิดและหาคำแนะนำเมื่อเราประสบปัญหา

สิ่งที่ฉันสนใจจริงๆคือการพัฒนาซอฟต์แวร์ ฉันทำการเขียนโปรแกรมใน VBA และต้องการเรียนรู้ C # ชั่วขณะ (ทีม dev ใช้ C # - ฉันตรวจสอบรหัสเป็นครั้งคราวเพื่อประโยชน์ของตัวเอง แต่ไม่เคยมีประสบการณ์การใช้งานจริง) ฉันสนใจไม่ใช่เพียงแค่กระบวนการทางธุรกิจ แต่ยังรวมถึงด้านเทคนิคของสิ่งต่าง ๆ ดังนั้นบทบาท BA แบบดั้งเดิมไม่ได้กระตุ้นความอยากอาหารของฉันในแบบที่ฉันอยากทำ ตอนนี้ฉันมีโครงการเล็ก ๆ น้อย ๆ ที่ผู้จัดการให้ฉันและฉันกำลังหาวิธีใหม่ในการทำ (เช่นการสร้างแอปพลิเคชันการเข้าถึงแบบกำหนดเอง) ดังนั้นจึงมีบางสิ่งที่นี่และทำให้ฉันสนใจ

คำถามของฉันคือสิ่งที่ฉันต้องการทำคือสร้างแอปพลิเคชัน Excel หรือ Access แบบกำหนดเองสำหรับธุรกิจขนาดเล็กในฐานะธุรกิจอิสระ (ทำงานเป็นร้านขายสินค้าแบบคนเดียวอาจมีผู้รับเหมาเป็นครั้งคราวขึ้นอยู่กับความซับซ้อนของโครงการ) เห็นได้ชัดว่านี่จะเริ่มต้นจากการเป็นหุ้นส่วนชั่วคราวในขณะที่ฉันมีงานประจำวัน แต่ในที่สุดก็กลายเป็นงานเต็มเวลา ฉันจะหลอกตัวเองให้คิดว่าฉันสามารถไปทำงานกับโปรแกรมเมอร์ VBA / พาร์ทไทม์เพื่อทำธุรกิจอิสระได้อย่างเต็มเวลา (ที่ฉันจะเริ่มจากการเขียนแอป Excel / Access แบบกำหนดเองใน VBA)? หรือชนิดของสิ่งนี้มักจะไม่พยายามจนกว่าจะมีคนได้รับประสบการณ์การเขียนโปรแกรมแบบเต็มเวลาหลายปี? และยังมีตลาดสำหรับแอพพลิเคชั่นประเภทนี้ในธุรกิจขนาดเล็ก (และอาจเป็นธุรกิจขนาดกลาง)?


3
ตอนนี้คุณคงอยู่ในตำแหน่งสูงสุดของอาชีพ คุณสามารถทำงานที่มีทักษะเดียวกันได้ใน 5 ปีโดยไม่ต้องอ่านหนังสือ ถ้าคุณเป็นโปรแกรมเมอร์คุณจะเริ่มจากด้านล่างสุดของบันไดและในเวลา 5 ปีมันอาจจะไม่มีบันไดเลย !!! อย่าผสมงานอดิเรกกับอาชีพ แน่นอนคุณอาจเป็นโปรแกรมเมอร์ แต่โปรแกรมเมอร์ทั่วไปส่วนใหญ่ทำอะไรหลังจาก 10 ปี การอยู่รอดในฐานะโปรแกรมเมอร์ในตลาดทุกวันนี้และการขยับขึ้นมาเป็นเรื่องยากสำหรับคนทั่วไปเนื่องจากการแข่งขันสูงและความท้าทายทางเทคโนโลยีอย่างต่อเนื่อง
NoChance

ฉันยอมรับว่าในฐานะนักวิเคราะห์ธุรกิจและนักธุรกิจฉันมีความสามารถในการก้าวไปสู่ตำแหน่งที่สูงขึ้น ปัญหาคือยิ่งคุณไปมากโดยทั่วไปยิ่งห่างจากเทคโนโลยีและการนำไปปฏิบัติมากเท่าไร ฉันได้สัมภาษณ์กับ บริษัท ที่ปรึกษาหลายแห่งสำหรับตำแหน่งที่ปรึกษาด้านการจัดการในสาขาเทคโนโลยี แต่บทบาทประเภทนี้ไม่ได้สนใจฉันจริงๆ เป้าหมายของฉันคือไม่เป็นโปรแกรมเมอร์ที่บริสุทธิ์ ในความเป็นจริงฉันไม่มีความสนใจในการทำงานเป็นนักพัฒนาที่จะได้รับการว่าจ้างในฐานะพนักงาน แต่มีร้านให้คำปรึกษาขนาดเล็กที่ฉันสามารถจัดการกับธุรกิจและด้านการพัฒนา
Ryan

"ร้านให้คำปรึกษาเล็ก ๆ ที่ฉันสามารถจัดการทั้งด้านธุรกิจและด้านการพัฒนา" ดูเหมือนความเสี่ยงมากเกินไปสำหรับฉัน คุณเห็นแล้วว่าตลาดนั้นเต็มไปด้วยโซลูชั่นแบบปิดชั้นวางและ บริษัท และผู้รับเหมาจำนวนมากที่พร้อมที่จะสร้างระบบในราคาต่ำถึง $ 200 หรือน้อยกว่า ฉันไม่คิดว่า 'เล็ก' จะอยู่ได้นานเป็นเวลานานเนื่องจากเศรษฐกิจและอัตราการเปลี่ยนแปลงอย่างรวดเร็วของเทคโนโลยีเว้นแต่คุณจะมีกลยุทธ์ในการดึงดูดลูกค้าและมุ่งเน้นเทคโนโลยีที่เปลี่ยนแปลงช้า
NoChance

7
@EmmadKareem "อย่าผสมผสานงานอดิเรกกับอาชีพ" ... คุณหมายถึง: ตรวจสอบให้แน่ใจว่าชีวิตที่ตื่นมาเกือบทั้งหมดของคุณกำลังทำสิ่งที่คุณไม่ชอบและ 5% ทำสิ่งที่คุณชอบ ... ฟังเหมือน แผนการที่ดีสำหรับความสุข (แต่ยอมรับกันทั่วไป)
JoelFan

4
@EmmadKareem ฉันคิดว่ามีโปรแกรมเมอร์จำนวนมากที่ทำงานมาแล้ว 10, 20 ปีขึ้นไปและมีความสุขกับอาชีพของพวกเขา
JoelFan

คำตอบ:


15

ไม่คุณไม่ได้หลอกตัวเองก็สามารถทำได้! หนึ่งในนั้นที่นี่ทำอย่างนั้นแม้ว่าฉันจะไม่ทราบรายละเอียดของวิธีการ แต่ฉันคิดว่าเขาเริ่มต้นเป็นผู้จัดการการจัดจำหน่ายกลายเป็น BA สำหรับการพัฒนาการจัดจำหน่ายซอฟต์แวร์ระหว่างการจัดจำหน่ายแล้วก็เปลี่ยนไปเป็นการพัฒนาเต็มเวลา ฉันเดาว่าเขามีพื้นฐานด้านเทคนิคอยู่แล้วเช่นคุณ

มันอาจจะทำงานได้ดีขึ้นถ้าคุณพยายามที่จะทำกับนายจ้างปัจจุบันของคุณก่อนไปเดี่ยว คุณจะได้รับการสนับสนุนและความช่วยเหลือเพิ่มมากขึ้น อาจพูดคุยกับผู้จัดการของคุณและถามว่าคุณจะเปลี่ยนไปใช้บทบาทการพัฒนาภายในองค์กรได้อย่างไรอาจอยู่ในทีมเดียวกันเพื่อเริ่มต้น วิธีนี้ทำให้คุณรู้จักทุกคนและพวกเขารู้จักคุณและสิ่งที่คุณมีอยู่แล้วและสามารถช่วยคุณในการฝึกฝนต่อไป หากคุณจริงๆจริงๆ จริงๆโชคดีที่ บริษัท ของคุณจะมีงบประมาณที่จะส่งคุณในหลักสูตรที่จะจับขึ้นได้เร็วยิ่งขึ้น


2
ฉันแค่ก้องว่ามันสามารถทำได้อย่างแน่นอน - ในตำแหน่งก่อนหน้านี้ฉันทำงานกับผู้รับเหมาที่ทำอย่างนั้น เขาเริ่มสร้างแอปพลิเคชัน Access สำหรับ บริษัท จากบทบาทที่ไม่ใช่นักพัฒนาจากนั้นก็กลายเป็นที่ปรึกษาภายนอกสำหรับพวกเขาและในที่สุดก็ปั่นมันเข้าไปในธุรกิจของเขาเองและดูเหมือนว่าจะทำได้ค่อนข้างดี
bunglestink

4

VBA and Access คือส่วนล่างของบันไดโปรแกรม ถ้าฉันเป็นคุณฉันจะยิงสูงขึ้นเพราะคุณมีทักษะ SQL พิจารณาการเรียนรู้บริการรายงานของ SQL Server และสร้างรายงานหรือ SSIS และทำการประมวลผล ETL สิ่งเหล่านี้เป็นทักษะที่มีความต้องการค่อนข้างสูงในขณะนี้และคุณพร้อมที่จะทำเพราะพวกเขาสามารถเข้าร่วมได้ง่ายในขณะที่อยู่ในสภาพแวดล้อมขององค์กรโดยเฉพาะถ้าคุณไม่มีใครจัดการบทบาทเหล่านั้นให้กับ บริษัท ของคุณ ฉันจะเห็นประสบการณ์นักวิเคราะห์ธุรกิจเป็นประโยชน์อย่างมากสำหรับนักเขียนรายงาน


2

มันสามารถทำได้ มันจะไม่ง่ายโดยเฉพาะถ้าคุณต้องการทำให้ดีเพราะการพัฒนาซอฟต์แวร์เป็นวินัยทางวิศวกรรมที่มีปัญหาและข้อผิดพลาดที่ไม่ชัดเจนคุณจะต้องเรียนรู้ที่จะรู้จักและหลีกเลี่ยง นั่นจะใช้เวลาไม่กี่ปีในการศึกษาและฝึกฝนอย่างจริงจัง แต่ถ้าคุณสามารถมุ่งหน้าไปรอบ ๆ แนวคิดคุณสามารถเป็นโปรแกรมเมอร์ได้อย่างแน่นอนแม้ว่าภูมิหลังของคุณจะแตกต่างกัน


หลักสูตรการศึกษาใด ๆ ที่แนะนำ? ฉันเป็นผู้เรียนด้วยตนเองมากกว่าเดิมดังนั้นตอนนี้ฉันสมัครสมาชิก MIT opencourseware (Intro to Comp Sci) ซึ่งใช้ Python เป็นภาษาการเรียนการสอนส่วนใหญ่ดังนั้นฉันจึงสามารถลงทฤษฎีการเขียนโปรแกรมที่แข็งและคิดให้มากขึ้น บรรทัดของโปรแกรมเมอร์ ยังขยายความรู้ Excel / Access / VBA ของฉันอย่างต่อเนื่องผ่านโครงการจริงในที่ทำงาน
Ryan

@ Ryan คุณเข้าใจผิดเกี่ยวกับสิ่งหนึ่ง: ไม่มีทฤษฎีการเขียนโปรแกรมที่มั่นคง การเขียนโปรแกรมเป็นงานฝีมือที่ยังไม่สมบูรณ์มาก (งานฝีมือเป็นคำที่เหมาะสม!) - มันยังเด็กเกินไป โปรแกรมเมอร์อ่านหนังสือจำนวนมาก แต่การปฏิวัติในสาขานี้เกิดขึ้นนานกว่ากำหนด ซึ่งหมายความว่าทัศนคติของการเรียนรู้เป็นสิ่งที่จำเป็นเท่านั้น :)
K.Steff

1
@ ไรอัน: ฉันเรียนรู้ด้วยตัวเองเป็นส่วนใหญ่ "หลักสูตรการเรียนรู้" ของฉันคือ "โปรแกรมนี้แย่มากฉันทำได้และทำได้ดีกว่าที่ผู้เขียนทำดังนั้นเรามาดูกันว่าฉันมีคอมไพเลอร์แล้ว
Mason Wheeler

2

ไม่ว่าจะใช้เวลาเป็นปีหรือปีขึ้นอยู่กับคุณเป็นส่วนใหญ่ตารางงานของคุณ แต่ที่สำคัญที่สุดคือระดับความสนใจของคุณซึ่งมีแนวโน้มที่จะเชื่อมโยงกับความถนัด หากคุณอาศัยหรือทำงานในเมืองและมีตัวเลือกในการเดินทางจำนวนมากลองใช้เวลาเดินทางในตัวเพื่ออ่านหนังสือเทคโนโลยี อะไรก็ได้ที่คุณสนใจ

ตราบใดที่คุณกล้าคิดกล้าทำก็อย่าเหงื่อออก การตัดสินใจว่าคุณอาจจัดการกับ <แทรกกองความซับซ้อนที่ไม่สามารถรู้ได้ของที่นี่> คือสิ่งที่ devs ทำ นั่นไม่ใช่ความเย่อหยิ่ง แต่เป็นเพียงก้าวแรก

ผู้หยิ่งผยองในดินแดนผู้พัฒนาเรียกตัวเองว่าเป็นนักพัฒนามืออาชีพเมื่อคุณมีทางออกเดียวสำหรับทุกสิ่งและคุณยังไม่ได้เรียนรู้อะไรใหม่ตั้งแต่เรียนจบ นั่นคือการถูกับการพัฒนา เมื่อคุณหยุดเรียนรู้อาชีพของคุณเริ่มตกต่ำดังนั้นความสนใจจึงเป็นกุญแจสำคัญ ฟังดูเหมือนคุณจะเป็นแบบนั้น

ดังนั้นไปเลย

คุณเห็นเป้าหมายของคุณแล้ว ที่เหลือกำลังทำลายปัญหาใหญ่ที่น่ากลัวไปสู่ปัญหาที่ไม่น่ากลัว ทำซ้ำคลื่นไส้โฆษณาและคุณจะเป็นนักพัฒนาเต็มเวลาที่ต้องเสียเงินซึ่งหวังว่าจะมีปัญหาที่ใหญ่กว่า / น่ากลัวกว่าที่เคยเป็นมาเร็วกว่าที่คุณคิด


การสังเกตด้านข้าง: ความเย่อหยิ่งมีประโยชน์ในระยะเริ่มแรก ถ้าฉันรู้ว่าการเขียนโปรแกรมเกี่ยวกับอะไรจริง ๆตอนที่ฉันเริ่มฉันอาจจะเลิกสองชั่วโมงหลังจาก 'Hello world'
K.Steff

1

ฉันจะบอกว่า (ถ้าคุณต้องการเริ่มต้นสิ่งต่าง ๆ ) ไปกับ SICP - โครงสร้างและการตีความของโปรแกรมคอมพิวเตอร์ ฉันควรจะเชื่อมโยงมัน แต่มันมากกว่าแค่หนังสือ ทุกวันนี้คุณสามารถหาคนอื่นมาเรียนหลักสูตรออนไลน์ได้ มันเป็นหนังสือที่ยากมาก - การทำแบบฝึกหัดทั้งหมดเป็นสิ่งที่นักพัฒนาส่วนใหญ่ทำไม่ได้ (น่าเสียดาย) แต่เป็นหนังสือที่ดีที่สุด MIT OCW ก็ดีเช่นกัน แต่ IMHO มันเป็น SICP เวอร์ชั่นที่ใช้แล้วสำหรับการเขียนโปรแกรม Python ถูกออกแบบมาเพื่อซ่อนความซับซ้อนออกไปแทนที่จะทำให้คุณสนุกกับมันในลักษณะที่ไม่สบาย (เหมือนที่ SICP ทำ)

นอกจากนี้คุณต้องแยกความแตกต่างระหว่างการเขียนโปรแกรมเป็นอาชีพและการเขียนโปรแกรมเป็นทักษะ หนึ่งต้องการการอุทิศให้กับสิ่งต่าง ๆ เช่นรหัสที่สวยงามสะอาดและขยายได้ในขณะที่อื่น ๆ ต้องใช้อะไรนอกจากทักษะอัลกอริทึม (ซึ่งค่อนข้างมากจริง ๆ ) 'เผด็จการใจดี' ของ Python, Guido van Rossum ระบุว่าการเขียนโปรแกรมจะเป็นทักษะที่สำคัญในอีกไม่กี่ปีข้างหน้า แต่ทักษะการพัฒนาซอฟต์แวร์จะไม่เกิดขึ้นในทุกกรณี นักพัฒนาที่ไม่ใช่นักพัฒนาส่วนใหญ่เขียนโค้ดเพื่อละทิ้งมัน (นักพัฒนาทำสิ่งนี้บ่อยเกินไป) สิ่งคือการเขียนโปรแกรมเป็นอาชีพที่มีหลายสิ่งมากกว่าการเขียนโปรแกรมและเป็นสิ่งสำคัญที่จะต้องจัดลำดับความสำคัญของคุณ

สิ่งสำคัญที่สุด: อย่าลืมรักการเขียนโปรแกรมไม่ใช่แค่ชอบมัน มันเป็นมากกว่า 9 ถึง 5 งาน แต่ต้องยอมรับปรัชญาการเรียนรู้อย่างต่อเนื่อง : วิศวกรส่วนใหญ่ได้รับการฝึกฝนในช่วง BS หรือ MSc และไม่เห็นการเปลี่ยนแปลงที่สำคัญในสาขาความเชี่ยวชาญของพวกเขา อาชีพตลอดชีวิตในการเขียนโปรแกรมจะทำให้คุณเห็นกระบวนทัศน์อย่างน้อย 10 กระบวนทัศน์ (ไม่ใช่แค่ภาษา แต่เครื่องมือเครื่องมือฐานข้อมูล ฯลฯ ) ดังนั้นคุณควรพร้อม (และเต็มใจ) ที่จะยอมรับสิ่งนี้


+1 สำหรับ "ปรัชญาการเรียนรู้อย่างต่อเนื่อง" การเขียนโปรแกรมส่วนใหญ่เกี่ยวกับการเรียนรู้และการปรับปรุงทุกวัน หากคุณต้องการทำ 2 สิ่งเหล่านี้คุณอาจมีประสบการณ์ที่ดีและประสบความสำเร็จ
B เซเว่น

1

ฉันคิดว่าคุณอยู่ในสถานะที่ดีที่จะทำสิ่งนี้

อาชีพส่วนใหญ่ของฉันฉันได้รับการฝังลึกในด้านเทคนิคของสิ่งต่าง ๆ อย่างไรก็ตามกว่าปีของการสังเกตหลายโครงการสำเร็จหรือล้มเหลวฉันได้ข้อสรุป: -

หากคุณไม่เข้าใจผู้ใช้ทางธุรกิจและข้อกำหนดของพวกเขาโครงการของคุณจะล้มเหลว

ฉันไม่เคยเห็นข้อยกเว้นสำหรับกฎนี้และไม่มีเงินจำนวนมากฮาร์ดแวร์หรือโปรแกรมอัจฉริยะที่ดูเหมือนว่าจะสร้างความแตกต่าง โครงการทรูที่มีความเข้าใจในข้อกำหนดเป็นอย่างดีอาจล้มเหลวเนื่องจากฮาร์ดแวร์ซอฟต์แวร์ที่เลือกไม่ดีขาดงบประมาณหรือขาดทักษะ - แต่ส่วนใหญ่โครงการเหล่านี้สามารถหรือได้รับการช่วยเหลือ

ดังนั้นพื้นฐานที่ดีของคุณในหลักสูตรปริญญาตรีและความต้องการจะทำให้คุณมีมุมมองของวิทยาลัยเทคโนโลยีที่มีพรสวรรค์มากขึ้นของคุณอาจขาดเรียนส่วนที่เหลือคุณสามารถเรียนรู้ได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.