Thời gian cần thiết để bắt đầu mã hóa tại một công ty mới [đóng cửa]


12

Tôi là một kỹ sư phần mềm trong 4 năm và tôi mới thay đổi công ty lần đầu tiên.

Công ty làm việc với lập trình cặp và đã 3 ngày, tôi thậm chí không thể viết một dòng mã nào. Điều đó thật khó chịu đối với tôi vì tôi làm việc rất hiệu quả tại công ty trước đây.

Codebase rất lớn, họ đang sử dụng 5-6 ngôn ngữ / công cụ mà tôi không quen thuộc, như rspec, haml, hoa nhài và các ngôn ngữ khác. Nhưng tôi vẫn cảm thấy khủng khiếp.

Cuối tuần này tôi đã tạo UML để hiểu rõ hơn về ứng dụng, nhưng tôi vẫn đoán rằng tôi sẽ không thể viết số lượng mã kha khá trong tuần này.

Điều này có bình thường không?

Kinh nghiệm của bạn là gì khi bạn thay đổi công việc và đi sâu vào một cơ sở mã lớn được viết bằng các ngôn ngữ / thư viện mà bạn không quen thuộc.

Tất nhiên tôi không yêu cầu thời gian chính xác cần thiết, nhưng kinh nghiệm hoặc những điều trong quá khứ để làm cho quá trình sẽ là tuyệt vời.

Btw, tôi đã đọc các câu hỏi và câu trả lời dưới đây, Làm thế nào để bạn đi sâu vào các cơ sở mã lớn?

/programming/215076/whats-the-best-way-to-become-famrang-with-a-large-codebase

/programming/214605/the-best-way-to-famustomize-yourself-with-an-inherited-codebase

CẬP NHẬT

Tất cả những gợi ý tuyệt vời! Tôi vừa đi làm về, tôi đã làm việc rất nhiều!

Về lập trình cặp:

Nói chung họ viết mã, và tôi đang cố gắng không bỏ lỡ dù chỉ một giây! Nếu tôi cố gắng viết mã, tôi biết nó sẽ mất mãi mãi, vì tôi thậm chí không biết mình nên chỉnh sửa tập tin nào, nhưng bên cạnh đó, như tôi đã nói, họ đang sử dụng 6-7 ngôn ngữ / khung mà tôi không quen thuộc và học tất cả các cú pháp này cùng một lúc là không dễ dàng.

Công ty đã chuẩn bị tốt như thế nào cho các kỹ sư:

Tôi không thể nói rằng họ được tổ chức tốt, họ hy vọng tôi sẽ bắt đầu viết mã ngay lập tức.

Ghi chép, chủ động:

Tôi luôn ghi chú khi họ viết một lệnh mới / hoặc bất cứ điều gì về các mô hình dữ liệu. Các đồng nghiệp của tôi là những người rất thông minh và tốt bụng, và đôi khi tôi đang cố gắng hỏi nhiều câu hỏi, thậm chí rất nhiều câu hỏi ngu ngốc .

Đây có phải là phổ biến?:

@Telastyn, cảm ơn câu trả lời của bạn, nó làm tôi cảm thấy tốt hơn một chút. Có vẻ như vấn đề của tôi không phải là hiếm, nhưng tôi thực sự có năng suất trước công việc này, và bây giờ tôi thực sự cảm thấy vô dụng và không thông minh.

Tôi hy vọng tôi có thể bắt đầu giải quyết các lỗi / triển khai các vấn đề rất sớm.

Về khung / ngôn ngữ họ sử dụng:

Tôi thực sự thành thật về điều đó, tôi đã không nói rằng tôi biết điều gì đó mà tôi không thực sự biết. Nhưng tôi đã không mong đợi những điều khác biệt đó và vì tôi bắt đầu làm việc vào ngày tôi chấp nhận lời đề nghị, tôi không có thời gian để chuẩn bị.

@Southpaw Hare, cảm ơn rất nhiều vì đã chia sẻ kinh nghiệm của bạn. Bạn hoàn toàn đúng. Không có gì đảm bảo rằng tôi sẽ học tất cả những thứ này, nhưng tôi đang cố gắng. Cuối cùng, thật khó để học tất cả các cú pháp cùng một lúc và tôi nghĩ đó cũng là vấn đề chính. Bởi vì tôi có thể điều hướng bằng mã ruby ​​tốt vì tôi biết ngôn ngữ đó và tôi điều hướng trong mã js nhờ người kiểm tra trình duyệt, nhưng vấn đề là viết mã thực tế với khung / ngôn ngữ tôi không biết.


Kể từ khi bạn đề cập Làm thế nào để bạn đi sâu vào các cơ sở mã lớn? , những gì trong câu trả lời không bao gồm trường hợp của bạn?
gnat

3
Vì bạn đang lập trình cặp, bạn không phải viết mã để có hiệu quả. Bạn có thể khá hữu ích khi chỉ quan sát người khác viết mã. Không lâu nữa bạn sẽ biết đủ để bắt đầu tự viết mã.
kevin cline

@kevincline nếu anh ấy đóng cặp với tư cách là nhà phát triển mới, anh ấy chắc chắn sẽ là người ở bàn phím nếu không đó sẽ là một thiết lập cặp khá tệ ...
Jimmy Hoffa

Nếu đây là cách công ty làm mọi việc, bạn thực sự không có lựa chọn nào khác. Hãy chắc chắn rằng bạn biết những gì họ mong đợi bạn biết khi thời gian đến. Hỏi câu hỏi. Nhận phản hồi. Bạn có thể lãng phí rất nhiều thời gian nếu bạn không cẩn thận.
JeffO

@JimmyHoffa, tôi biết rằng sẽ tốt hơn cho tôi, nhưng trong trường hợp đó, tôi sẽ làm chậm lại nhiều thứ. Vì tôi sẽ phải hỏi mọi cú pháp, tệp thực tế mà tôi cần chỉnh sửa, mô hình dữ liệu hoặc thứ gì khác, nó sẽ làm chậm tốc độ ngang hàng của tôi.
Robert Johnson

Câu trả lời:


10

Điều này phụ thuộc vào những thứ như sự phức tạp của hệ thống và tổ chức được chuẩn bị tốt như thế nào để đưa lên các lập trình viên mới. Nó có thể mất từ ​​30 phút đến nhiều tuần. Đó không nhất thiết là bất cứ điều gì bạn đang làm sai và bạn không nên cảm thấy tồi tệ về điều đó.

Tuy nhiên, những gì bạn nên làm là chủ động về việc sửa nó cho chính mình và những người khác. Nói với người quản lý của bạn về sự thất vọng của bạn và cùng nhau vượt qua chúng và cải thiện quy trình cho những người tuyển dụng mới khác.

Viết ghi chú về những điều mà bạn đang vật lộn, suy nghĩ các cách để khắc phục chúng hoặc khắc phục chúng, và ghi lại quá trình của bạn. Giữ những người khác có thể giúp bạn cập nhật tiến độ của bạn và tìm kiếm sự giúp đỡ. Không có gì đáng xấu hổ khi yêu cầu giúp đỡ.


1
Nhiều tháng không phải là hiếm đối với phức tạp, lớn (1 triệu + SLOC), đặc biệt là tên miền cũng thích hợp và / hoặc phức tạp.
mattnz

1
+1: Một số công ty có người cố vấn được chỉ định cho nhân viên mới cho dù họ có bao nhiêu kinh nghiệm vì những lý do cụ thể này. Tôi luôn mút tay người ngồi gần mình nhất, sẵn sàng giúp đỡ và hỏi họ TONNES câu hỏi - và sau đó tôi công khai đưa chúng cho người quản lý của mình khi họ giúp đỡ.
Steven Evers

@mattnz Yep. Nhiều tháng chỉ là rất nhiều tuần. ;)
Rein Henrichs

5

Điều này có bình thường không?

Đối với hầu hết các cơ sở mã đó là. Chết tiệt, tại công ty của tôi, bạn sẽ gặp HR trong 2 ngày trước khi bạn được phép chạm vào máy tính. Đó là một ngoại lệ, nhưng hãy xem xét mất bao lâu để thiết lập môi trường phát triển, làm quen một cách mơ hồ với tên miền, cấu trúc mã, quy tắc nhóm ...

Với tư cách là trưởng nhóm, tôi hy vọng bạn sẽ không làm gì hiệu quả trong 1 (hai tuần) nước rút và làm việc ở mức ~ 50% cho 1-2 lần chạy nước rút tiếp theo.


2

chuyển sang một thái cực khác mã.

Đừng đánh bại bản thân vì điều đó, nếu bạn trung thực trong cuộc phỏng vấn về sự thiếu hiểu biết của bạn trên các nền tảng này, họ biết họ đang làm gì với chính mình. Phải mất thời gian và thời gian không thể mở rộng, cắt ngắn hoặc nén, chỉ cần đảm bảo bạn tận dụng tối đa.


1

Nó thực sự phụ thuộc vào công việc bạn đang làm và vai trò của bạn.

Nếu bạn đang làm công việc dựa trên hợp đồng, bạn sẽ thực sự bắt đầu chạy, sử dụng tất cả các kỹ năng theo ý của bạn để hoàn thành công việc. Công việc hợp đồng thường được xác định rõ và bạn (thường) có thể làm điều này, ít nhất là theo kinh nghiệm của tôi.

Mặt khác, tôi đã bắt đầu ở một nơi có cơ sở mã di sản khổng lồ với đường cong học tập khổng lồ. Chúng tôi không mong đợi được viết mã sản xuất trong sáu tháng đầu tiên chúng tôi ở đó.

Hãy kiên nhẫn, tiếp thu càng nhiều càng tốt và đưa nó vào sử dụng thực tế tốt khi bạn bắt đầu viết mã. Nếu bạn đang điều trị nội trú hoặc vội vàng, có một cơ hội tốt trong một hệ thống lớn như vậy, bạn có thể sẽ phá vỡ một cái gì đó, đặc biệt nếu phạm vi kiểm tra của họ không xuất sắc.


0

Một số lượng thời gian là hoàn toàn bình thường để làm quen với một thứ hoàn toàn xa lạ - tôi sẽ không tự trách mình hoặc cảm thấy tồi tệ. Tuy nhiên, điều quan trọng là sẵn sàng chấp nhận khả năng công việc này có thể không nằm trong bộ kỹ năng của bạn. Điều này không nhất thiết phải như vậy, nó chỉ đáng để lại khả năng mở trong tâm trí của bạn.

Vấn đề có thể không nằm ở kích thước cơ sở mã, nhưng thực tế là bạn không biết các ngôn ngữ liên quan. Theo kinh nghiệm cá nhân của riêng tôi, tôi đã có một công việc tại một công ty nơi tôi không biết bất kỳ ngôn ngữ nào được sử dụng trong một cơ sở mã khá rộng rãi. Thật không may, tôi đã không thể học đủ điều này sau 5 tháng hoặc lâu hơn, và thay vào đó đã đi đến một công ty khác. Ở đó, tôi thành thạo ngôn ngữ chính và mặc dù kích thước cơ sở mã tương đương, tôi đã làm khá tốt.

Khi nói đến việc học các ngôn ngữ mới, mọi người thường nghĩ rằng nó dễ hơn thực tế và giữ cho mình các tiêu chuẩn cao để học chúng một cách nhanh chóng. Có khả năng nó sẽ khiến bạn mất nhiều thời gian hơn bạn nghĩ, vì vậy hãy ghi nhớ điều đó bất kể bạn quyết định điều gì.


2
Một số người nghĩ rằng nó khó hơn thực tế. Nó thường đi xuống sự tự tin hơn là tài năng.
ChaosPandion
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.