เมื่อคุณไปบาร์กับเพื่อนที่ทํางานในด้านไอทีคุณไม่จําเป็นต้องสิ้นสุดลงในการพูดคุยเกี่ยวกับปัญหาปัจจุบันในอุตสาหกรรม ในครึ่งแรกของปีนี้เรามีจํานวนมากที่จะพูดคุยเกี่ยวกับและนี่คือjust a few general observations we both made:
-
besides the usual impostor syndrome that many software developers have, there's also a lot of anxiety about all the chatter around AI taking over jobs
-
leaders and managers can’t help but get into conversations about how much of a performance boost (and when) to expect from developers, whether it’ll be x10, x40 or x200
-
at the same time, the push for AI adoption makes both tears and laughter
-
everywhere you look, you can find many near-absurd product features that use AI only to justify that it is from an AI-first company
-
drought and nervous foot tapping are common in the startup world, yet discussing them is often considered bad form
-
hiring is becoming increasingly difficult for everyone, especially for people just starting out in their careers
One of the biggest concerns about the impact of hype surrounding AI is that it could discourage new people from entering the software development industry.
"นี่ไม่ได้เป็นงานสร้างสรรค์อีกต่อไป การเรียนรู้การพัฒนาซอฟต์แวร์ในวันนี้เป็นโกหกสําหรับคนโง่ เกมนี้ได้รับการแก้ไข" (เรื่องราวดังกล่าว)
"This is no longer creative work; learning software development today is a scam for fools; the game is solved" (this kind of rumors).
"นี่ไม่ได้เป็นงานสร้างสรรค์อีกต่อไป การเรียนรู้การพัฒนาซอฟต์แวร์ในวันนี้เป็นโกงสําหรับคนโง่ เกมนี้ได้รับการแก้ไข"
เพื่อให้อุตสาหกรรมเทคโนโลยีเคลื่อนไหวไปข้างหน้าเป็นสิ่งสําคัญที่จะถ่ายโอนความรู้เกี่ยวกับวิธีการทํางานของสิ่งต่างๆและช่วยให้ผู้เข้าชมใหม่ได้รับทักษะที่พวกเขาต้องการเพื่อให้ทุกอย่างทํางานได้อย่างราบรื่นและพัฒนาเทคโนโลยีต่อไป (Jonathan Blow แสดงความคิดนี้อย่างดีในคําพูดของเขา)
ฉันซื้อความคิดว่าเรามีจุดเริ่มต้นของการเปลี่ยนแปลงอย่างมีนัยสําคัญในอุตสาหกรรมของเรา อย่างไรก็ตามสําหรับฉันมันคล้ายกับการพัฒนาเว็บจากรอบ 2008 ถึง 2014 แทนที่การเติบโตของ PC ของปี 1980 (การขยายตัวมากกว่าหมวดหมู่ใหม่)
ในช่วงเวลานั้นมีหลายวิธีในการทําขั้นพื้นฐาน ทุกสัปดาห์ก็รู้สึกเหมือนว่าเรากําลังพยายามหาวิธีใหม่ในการทําสิ่งต่าง ๆ มันคล้ายกับวิศวกรรม AI ปัจจุบันซึ่งมีเครื่องมือรุ่นวิธีการ benchmark กรอบหรือ บริษัท ใหม่ที่ปรากฏขึ้นทุกสัปดาห์กล่าวว่าพวกเขากําลังจะปฏิวัติทุกอย่าง
ไม่มีข้อบกพร่อง แต่สําหรับฉันเครื่องมือเช่นโจมตีมีจํานวนมากเช่นสิ่งที่โปรแกรม Adobe Dreamweaverสําหรับการพัฒนาเว็บในปี 2010
ที่เราอยู่ในขณะนี้
การพัฒนาซอฟต์แวร์มีอยู่มานานกว่า 70 ปี ตั้งแต่นั้นโลกได้ผ่านการเปลี่ยนแปลงจํานวนมาก ลองดูคําอธิบายสั้น ๆ ของวิธีที่มันได้พัฒนาในช่วงหลายปีที่ผ่านมา
นี่คือ aเวอร์ชันขนาดเต็มจากภาพด้านบน
ดังที่คุณสามารถเห็นฟิลด์ของเรากําลังพัฒนาอย่างต่อเนื่องในทิศทางของการแยกแยะมากขึ้นและวิธีการอัตโนมัติมากขึ้นในการจัดการความซับซ้อนที่เพิ่มขึ้น แต่ละยุคใหม่นําความคิดใหม่ ๆ ที่ช่วยเราจัดการปัญหาก่อนหน้านี้ในขณะที่เรากําลังขับเคลื่อนไปสู่ความเชี่ยวชาญสูงขึ้นและทีมขนาดเล็ก ๆ ให้เรามีวิธีมากขึ้นในการเก็บรวบรวมความคิดเห็นเร็วขึ้น
What complexities are we facing in the 2020s (so far)?
- Supply chain security
- modern software development relies on numerous third-party components, with even simple applications often incorporating thousands of them, each posing a potential security risk that could compromise the entire application
- Observability data overload
- metrics, logs, and traces generate vast amounts of data daily, but pinpointing the root cause is becoming increasingly challenging because dashboards display everything yet explain nothing (debugging is still hard)
- Configuration management
- use of IaC, feature flags, env variables, and secrets has created massive configuration spaces that are hard to validate
- AI/ML integration complexity
-
integrating AI components with traditional software is still quite challenging, as SOTA and toolchains change every two weeks, and approaches evolve even faster
-
Replacing software developers with AI agents can't be a solution for any of today's complexities.
A few things to watch for:
-
AI tooling consolidation
-
commoditization of AI workflow creation
-
even better ways of distributing software
-
changes in the way we build software that cultivate higher quality as consumer expectations rise due to software abundance
การพนันในการพัฒนาซอฟต์แวร์
การสร้างรหัสเป็นกรณีเริ่มต้นที่ยอดเยี่ยมสําหรับ LLMs เนื่องจากมีข้อมูลที่เปิดเพียงพอเพื่อให้ทํางานและผล wow ใหญ่ที่ทําให้ทุกคนพูดคุยเกี่ยวกับมัน การเพิ่มประสิทธิภาพปัจจุบันที่เราได้รับจาก copilots สามารถหายไปได้อย่างง่ายดายในความวิตกกังวลที่เกิดจากสื่อหรือเมื่อผู้คนเริ่มมองหาการแสดงด้านข้างเพื่อทําเงินเพิ่มเติมและรักษาอนาคตของพวกเขา
มันเป็นไปไม่ได้ที่จะบอกอย่างแม่นยําว่าสิ่งที่จะเกิดขึ้นอย่างไร อย่างไรก็ตามเราควรพิจารณาว่าความสามารถของ LLMs ในการสร้างรหัสจะเพิ่มขึ้นเมื่อเวลาผ่านไปเท่านั้น (เช่นนี้ดูเหมือนสัมผัสลักษณะที่แข็งแกร่งที่สุดจนถึงขณะนี้) การแก้ไขปัญหาปัจจุบันของพวกเขา (เช่นความยาวที่รวดเร็วส่งผลกระทบต่อประสิทธิภาพฯลฯ
The effect of AI on cutting costs might be tricky, as everyone has the same chances to optimize. What's most likely to happen is that AI will make the whole pie bigger.
สิ่งที่เกิดขึ้นเมื่อคนส่วนใหญ่เรียนรู้วิธีการอ่านเขียนพิมพ์เผยแพร่และในที่สุดก็แบ่งปันผลงานของพวกเขาออนไลน์กับโลกทั้งหมด? สิ่งที่เกิดขึ้นเมื่อคนส่วนใหญ่มีความสามารถในการถ่ายภาพแก้ไขเพิ่มตัวกรองและเอฟเฟกต์แล้วเผยแพร่ให้ทุกคนดู (หรือซื้อและดูในภายหลัง) หรือสิ่งเดียวกัน แต่ด้วยเนื้อหาการศึกษา?
จํานวนมากของเถื่อน stuffแต่ฟังฉัน: นักเขียนผู้สร้างภาพยนตร์และครูยังคงอยู่รอบ ๆ และมีความต้องการสูง (โดยเฉพาะอย่างยิ่งผู้ที่ยอดเยี่ยม)
ดูเหมือนว่าเรากําลังมองหาสถานการณ์ที่คล้ายกันกับวันแรกของเว็บเมื่อทุกคนเริ่มสร้างเว็บไซต์สําหรับตัวเอง สิ่งนี้จะเพิ่มแถบสําหรับธุรกิจและบุคคล (เช่นเดียวกับเว็บไซต์และเว็บแอพพลิเคชัน) นําเสนอเครื่องมือและวิธีการใหม่และแนะนําข้อกําหนดใหม่สําหรับนักพัฒนา
กล่าวอีกนัยหนึ่งฉันชอบความคิดที่แสดงออกอย่างสวยงามในบทความล่าสุด: "การสิ้นสุดของการเขียนโปรแกรมตามที่เรารู้จัก“และ”AI และโปรแกรม: การเริ่มต้นของยุคใหม่»
So, what is next?
เราจะมีแพลตฟอร์ม "IKEA" ที่ให้ภาชนะแอปที่มีคุณสมบัติพื้นฐานทั้งหมดช่วยให้คุณสามารถขอให้ผู้ช่วย AI ปิดใช้งานคุณสมบัติที่คุณไม่ต้องการและเพิ่มคุณสมบัติที่คุณต้องการแล้วปรับแต่งด้วยตนเอง
หรือการเข้ารหัสลับในที่สุดจะนําเสนอเว็บที่ดีขึ้นสําหรับทุกคน (อาจมีความสุขร่วมกับหลักการท้องถิ่นแรก)
หรือมันจะเป็นกระบวนการทํางาน AI ที่เป็นมิตรกับระดับ Excel สําหรับทุกคนหรือไม่
เราจะออกแบบใหม่บริการที่มีอยู่และสร้างบริการใหม่เพื่อตอบสนองความต้องการของสิ่งที่ดูเหมือนจะเป็นผู้เล่นใหม่:ชุมชน (หรือเครือข่าย) และตัวแทน AI
ฉันไม่มีแนวโน้ม แต่เป็นอาการบวมจูงใจ หากเราได้เข้าสู่ขั้นตอนใหม่ของวงกลมการพัฒนาซอฟต์แวร์จํานวนมากจะเปลี่ยนแปลงและมากขึ้นจะปรากฏขึ้น
คําเชิญ
ในสภาพแวดล้อมที่เพิ่มโค้ดเป็นราคาไม่แพงนักพัฒนาซอฟต์แวร์ที่ยอดเยี่ยมดูเหมือนนักวิศวกรคลาสสิกมากกว่านักวิศวกรคลาสสิก
พวกเขาล้อมรอบด้วยหนังสือโบราณ (The Big Blue, The Green และ The Dragon ฯลฯ) พวกเขามักจะนําหนังสือเล่มกับพวกเขา (รูปแบบและหลักการทางสถาปัตยกรรมที่ชื่นชอบของพวกเขาแนวทางปฏิบัติที่ดีที่สุด) พวกเขาพูดภาษาแปลก ๆ (สั้น ๆ, acronyms, lexicon) พวกเขาวาดภาพลึกลับบางอย่าง (แผนภูมิ) เชื่อมต่อบางจุดบนกระดาษ (อินเทอร์เฟซ) และเมื่อมันทําแล้วพวกเขากล่าวว่า "สร้างและทํางาน" (abracadabra)
ก่อนหน้านี้นักพัฒนาจะขึ้นอยู่มากขึ้นและ จํากัด ในสิ่งที่พวกเขาสามารถทําได้ นักพัฒนาวันนี้มีเครื่องมือที่ทันสมัยมากขึ้นและคนใหม่ ๆ จะเป็นรุ่นของนักพัฒนาที่สามารถทําได้มากกว่าทุกรุ่นของนักพัฒนาก่อนหน้านี้
แต่สิ่งนี้ยังคงต้องเข้าใจและเรียนรู้วิธีการใช้
Some things can significantly enable you on this journey:
-
When code is generated, it will eventually lack evident vulnerabilities and be validated against requirements using automated tests.
- Your job is to ensure that the code is maintainable (this makes it easier for both machines and humans to troubleshoot and extend the codebase).
-
You need to understand, appreciate, and delve into the fundamentals of software architecture and the core principles of computer science.
- The best way to go is to a) study hard, b) build from scratch, and c) revise and exercise (regularly).
-
The programming languages won't matter much, but mastering two languages - a dynamic, high-level one and a static, low-level one - will give you enough opportunities to practice all the essential concepts and broaden your perspective.
แสดงให้เห็นว่าสิ่งต่าง ๆ ไม่ดีสําหรับอุตสาหกรรม ในกรณีนี้คุณสามารถหางานได้เสมอรัฐบาลสหรัฐอเมริกาการเดิมพันในหลาย อื่น ๆ สถานที่เช่นเดียว) หรือหลายธนาคารในฐานะที่เป็นอ้างอิงอย่างมากจากรหัสฐานที่เขียนในภาษาโปรแกรม COBOL (ยืนยันเป็นภาษาตายในปี 80) กีฬาด้านข้างในขณะที่อุตสาหกรรมเทคโนโลยีเคลื่อนไหวอย่างไม่น่าเชื่ออย่างรวดเร็วความเร็วของการใช้เทคโนโลยีในอุตสาหกรรมอื่น ๆ และกระบวนการจัดซื้อของพวกเขามักจะดูเหมือนจะแช่แข็งในเวลา (เช่น Windows XP, Excel, Fortran, Perl)
คนยังต้านการเปลี่ยนแปลง นี่คือที่ขาดประสบการณ์ของคนใหม่มักจะทํางานเพื่อประโยชน์ของพวกเขา หลายคน (โดยเฉพาะอย่างยิ่งกับอายุ) พบว่ามันยากที่จะ:
- การเอาชนะรูปแบบพฤติกรรมและแนวคิดล่วงหน้าที่เรียนรู้และเสริมสร้างขึ้น
- เอาความเสี่ยงโดยการทิ้งสิ่งที่ทํางานสําหรับพวกเขาที่จะลองบางสิ่งใหม่ ๆ
- กําหนดเวลาและพลังงานที่เพียงพอเพื่อเรียนรู้และปฏิบัติสิ่งที่ใหม่อย่างสม่ําเสมอ
Heads-up สําหรับผู้ใหม่
ในขณะที่ความคล้ายคลึงกันทางประวัติศาสตร์อาจสอดคล้องกับความเป็นจริงสมัยใหม่เราไม่ควรหลอกลวงตัวเอง ความเป็นจริงมีความซับซ้อนและไดนามิกในขณะที่ประวัติศาสตร์เป็นแบบคงที่และ contextual ไม่มีใครรู้ว่าสิ่งต่าง ๆ จะเกิดขึ้นอย่างไร
Many people will likely attempt to automate software development tasksและมันเป็นความปลอดภัยที่จะบอกว่าการสร้างรหัสจะปรับปรุงตามเวลา
คุณควรพิจารณาว่าตลาดไม่สม่ําเสมอและอาจเป็นเรื่องยากที่จะหางานที่ดีหรือคุณอาจสูญเสียในระหว่างการลดต้นทุนอื่น ๆ
มันเกือบจะปลอดภัยที่จะบอกว่าsoftware development shouldn't be your end goalดูมันเป็นวิธีการเพื่อจุดสิ้นสุดไม่ว่าจะเป็นจุดสิ้นสุดในวิทยาศาสตร์ธุรกิจศิลปะการสื่อสารหรือที่อื่น ๆ
การเป็นคนใหม่ในอุตสาหกรรมพัฒนาซอฟต์แวร์วันนี้เป็นเรื่องเกี่ยวกับตัวแทนส่วนบุคคล คุณต้องการหลีกเลี่ยงตําแหน่งนี้ดังนั้นจึงเริ่มทํางานระดับต่อไปของคุณเร็วที่สุดเท่าที่จะเป็นไปได้
The great way to prepare for it is to:
- เรียนรู้แนวคิดที่น่าเบื่อ แต่ช่วยให้ทุกคนลืมเพราะพวกเขามีความเบื่อ
- ค้นหาเพื่อนหรือชุมชนที่ตรงกับประเภทของพลังงานและความกระตือรือร้นของคุณ
- ใช้เครื่องมือ AI สําหรับการเรียนรู้และประดิษฐ์จากวันแรก
- การปฏิบัติการปฏิบัติการปฏิบัติ
สิ่งที่จะทําให้ความแตกต่างอย่างมากคือความปรารถนาที่จะเรียนรู้และเข้าใจธุรกิจที่อยู่เบื้องหลังผลิตภัณฑ์ที่คุณสร้าง (ลูกค้ากระบวนการปัญหาและโอกาส) เรียนรู้ที่จะสื่อสารกับผู้คนระบุความต้องการของพวกเขาบรรจุช่องว่างในบรรทัดฐานการประดิษฐ์โซลูชั่นปรับปรุงสถาปัตยกรรมและร่วมมือกับ AI เพื่อสร้างมัน
ในบางจุด (แต่อย่าเร่ง) มีเหตุผลที่จะพัฒนาความเชี่ยวชาญในพื้นที่เฉพาะ โปรดให้ความสนใจกับสิ่งที่กระตือรือร้น (หรือโกรธ) คุณและพยายามที่จะไปลึกเข้าไปในพวกเขา
ภาษาไทย
AI ไม่นําไปสู่การคิดและสร้างสรรค์ใหม่ มันเปิดเผยสถานที่ที่ความคิดและสร้างสรรค์ที่แท้จริงเป็นสิ่งจําเป็นได้อย่างง่ายดายเติมสูญญากาศด้วยการจําลองของมันในพื้นที่อื่น ๆ
การพัฒนาซอฟต์แวร์จะไม่ทําให้ทุกคนมีความสุข หากคุณมีพลังงานผู้สร้างและความปรารถนาอย่างจริงจังที่จะสํารวจและเรียนรู้คุณควรไปสําหรับมัน! คุณจะคิดค้นทุกสิ่งในขณะที่การบิน
อย่างไรก็ตามฉันขอให้คุณดีที่สุดในการเดินทางของคุณ มีความสนุกสนานทํามัน!
P.S. หากคุณชอบโพสต์นี้โปรดพิจารณาconnecting with me on X or การเชื่อมโยง.
Xการเชื่อมโยง