Trong thực tế, một nhà phát triển cũng quản trị DBMS và hệ thống? [đóng cửa]


21

Tôi thực sự không biết nơi nào khác để hỏi. Vì vậy, ở đây nó đi.

Tôi đang làm việc tại một công ty rất nhỏ chuyên sản xuất phần mềm và trang web ERP.

1 nhà phát triển với hơn 10 năm kinh nghiệm.
2 nhà phát triển với kinh nghiệm + 3 năm.
3 nhà phát triển với hơn 1 năm kinh nghiệm.

Đó là nó.
Không có đội, không có DBA, không có quản trị hệ thống.
Không có ai ở đây có chuyên môn về phát triển web, vì vậy tôi tình cờ phụ trách phát triển web. Nhưng tôi chỉ có 3 năm kinh nghiệm! là một nhà phát triển!


Tôi biết trong một công ty nhỏ, bạn được yêu cầu làm nhiều việc khác nhau nhưng có quá nhiều không, nếu tôi phải làm sysadmin, kiến ​​trúc cơ sở dữ liệu, thiết kế và phát triển phần mềm? Oh cộng với tôi được yêu cầu làm tất cả điều đó trên các nền tảng khác nhau.
Tôi hiện đang làm việc với JSP, ASP, MSSQL, MySQL, Oracle, Windows Server và Linux.
Trong cơ sở dữ liệu, tôi làm từ viết truy vấn đến sao lưu và phục hồi.
Thiết lập máy chủ, phục hồi sự cố hệ thống, di chuyển DB & Server cũng vậy.
Plush HTML, Javascript và CSS :)
Số dự án mà tôi phụ trách: 5

Tôi không phải là một chuyên gia về tất cả chúng!
Tôi phải tìm kiếm trên Internet, đọc hướng dẫn và đặt câu hỏi trong StackOverflow để hoàn thành mọi việc!

Vì vậy, tôi hỏi bạn, điều này là bình thường?
Đây có phải là một thực tế bình thường?
Tôi sẽ phải đối mặt với tình huống tương tự bất cứ công ty nhỏ nào tôi đi?
Tôi đang làm việc tại Hàn Quốc.
Làm thế nào là nó ở đất nước của bạn?

PS Cảm ơn tất cả các bạn cho ý kiến ​​của bạn. Tôi sẽ nâng cấp tất cả các bạn vì tất cả các bạn đã giúp tôi nhìn nhận nó theo một cách khác, nhưng rõ ràng bạn cần 15 danh tiếng để nâng cao :(


36
Tự coi mình là người rất may mắn. Bạn có cơ hội học được nhiều kỹ năng và được trả tiền để làm điều đó.
Robert Harvey

2
Vâng, tôi nghĩ theo cách đó. Tôi không đặc biệt phàn nàn nhưng hỏi liệu đó có phải là một thực tế bình thường. Oh có lẽ tôi nên thêm nó vào câu hỏi.
Lên ngôi

Cho dù đó là quá nhiều là thực sự xuống với bạn. NHƯ những người khác đã nói trong câu trả lời, không có gì lạ khi các công ty nhỏ có người nhân đôi vai trò khác. Nếu bạn cảm thấy nó quá sức đến mức mà công việc của bạn phải chịu đựng thì đó là điều cần phải làm với người quản lý của bạn. Tương tự như vậy nếu bạn làm quá nhiều thứ khác mà bạn không muốn làm cũng như những thứ bạn muốn làm (và được tuyển dụng), sau đó lại thảo luận với người quản lý của bạn hoặc bắt đầu tìm kiếm các vai trò khác. Cá nhân tôi thích làm những thứ sysadmin và nhớ nó khi tôi ở một công ty lớn nơi họ không cho tôi ở máy chủ. ;-)
Chris

3
Bạn không cô đơn. Tôi làm mọi thứ (và tôi cũng có nghĩa là tất cả mọi thứ ) tại công ty của tôi. DBA, sysadmin, lập trình viên, nhà phát triển web, hỗ trợ người dùng, kết nối mạng, các công trình.
MikeTheLiar

Câu trả lời:


33

Theo kinh nghiệm của tôi, vâng, việc các nhà phát triển trong các công ty nhỏ được kỳ vọng sẽ đảm nhận một loạt các vai trò là điều hoàn toàn bình thường. Điều chắc chắn là bình thường đối với một công ty nhỏ đến mức chỉ có ba nhà phát triển để không có DBA hoặc sysadmin chuyên biệt.

Tuy nhiên, tôi sẽ thấy bất thường khi một công ty nhỏ như vậy sử dụng một loạt các công nghệ như vậy. JSP và ASP? Windows và Linux? Máy chủ SQL, MySQL và Oracle ?? Thông thường, các công ty nhỏ sẽ tập trung vào một nền tảng công nghệ để tránh lây lan bản thân quá mỏng.

Nếu công việc của bạn liên quan đến phát triển toàn ngăn xếp trên một nền tảng - ví dụ: ASP.NET + SQL Server + Windows hoặc Java + Oracle + Linux - bạn vẫn sẽ cảm thấy quá tải?

Dù sao, nếu bạn muốn chuyên môn hóa ở một mức độ lớn hơn, vâng, bạn nên tìm đến các công ty lớn hơn. Đội ngũ càng lớn, càng có nhiều sự hợp lý và có lợi khi có các chuyên gia.


Cảm ơn. Chỉ cần thêm một điều nữa, nếu tôi được yêu cầu phát triển và duy trì phần mềm ERP trong SAP PowerScript, liệu nó có còn là một thông lệ bình thường không? hoặc nó sẽ được lan truyền quá mỏng?
Lên ngôi

Trong khi @PerinfGundam chưa giải thích lý do tại sao chủ nhân của anh ta có sự đa dạng về nền tảng như vậy; kết thúc với việc sử dụng đáng kể một số thứ không khó lắm nếu bạn không có lợi ích trong việc viết lại các hệ thống cũ của mình khi bạn thay đổi nền tảng cho sự phát triển mới. Các trường hợp ngoại lệ chỉ là một phần nhỏ trong tổng số có thể xảy ra khi một phân khúc không thường xuyên không có tùy chọn tốt trên nền tảng ưa thích của công ty. Và nếu công ty đang phát triển phần mềm cho bên thứ ba; tạo công cụ để phù hợp với ngăn xếp ưa thích của khách hàng có thể dẫn đến một sự nhầm lẫn lớn của các nền tảng được sử dụng một hoặc hai lần.
Dan Neely

@DanNeely - oh, tôi không nghi ngờ gì chính xác là nó đã xảy ra như thế nào. Đối với một công ty nhỏ, luôn có rủi ro khi nói "có" với bất cứ điều gì vì việc bán hàng quan trọng hơn những chi tiết nhỏ như "chúng ta có ai thực sự có thể làm công việc này không?" :-)
Carson63000

14

Từ kinh nghiệm tôi có thể nói rằng sống như một nhà phát triển phần mềm rất khác nhau dựa trên quy mô của công ty bạn đang làm việc.

Các cửa hàng nhỏ hơn có xu hướng đòi hỏi nhiều tác vụ hơn và đảm nhận nhiều vai trò, trong khi các công ty lớn thường có vai trò được mô tả rất nghiêm ngặt đối với mỗi người.

Một người cực kỳ là một người đàn ông, trong đó bạn (rõ ràng) phải làm tất cả công việc, cho dù nó có phù hợp với lĩnh vực mạnh của bạn hay không.

Một công ty lớn là đa quốc gia với một số địa điểm trong thành phố của bạn: ở đây bạn có xu hướng có một mô tả vị trí chính xác cho bạn biết chính xác những gì bạn đang làm việc.

Tương tự, tôi giả sử, nó cũng thay đổi dựa trên khu vực kinh doanh chính xác và vị trí địa lý / văn hóa của bạn.


13

Trong bảng liệt kê các nhiệm vụ mà nhà phát triển phải thực hiện, bạn cũng có thể đặt:

  • Thiết kế tương tác,
  • Thiết kế trực quan,
  • Tính khả dụng,
  • Bảo vệ,
  • Yêu cầu thu thập,
  • Kiểm tra và QA,
  • Triển khai,
  • Bảo trì,
  • Quản lý dự án,
  • Quản lý đội
  • v.v.

Về bản chất, đây là sự khác biệt giữa lập trình viênnhà phát triển .

  • Công việc của một lập trình viên , dù khéo léo đến đâu, là viết mã , cuối cùng suy nghĩ một chút về các cách tiếp cận khác nhau (tức là thiết kế sơ bộ).

  • Công việc của một nhà phát triển là có thể điều hành một dự án nhỏ hoặc quy mô trung bình , đòi hỏi kiến ​​thức rộng hơn (và đồng thời nông hơn).

Để vượt qua thực tế là một nhà phát triển duy nhất sẽ không thể biết nhiều như một người duy nhất đã dành nhiều năm để học chỉ một điều, các dự án được thực hiện bởi một nhóm. Đây là cách các dự án (hoặc ít nhất nên được tổ chức). Hầu hết thời gian, một dự án nhỏ không yêu cầu quá nhiều kỹ năng trong bất kỳ miền nào, trong khi những dự án lớn hơn thì có.

  • Nếu tôi làm hỏng, với tư cách là một nhà phát triển, với sự bảo mật của một trang web thương mại điện tử của một công ty nhỏ, thì thật tệ, vì công ty có thể mất vài trăm hoặc, hiếm khi, hàng ngàn đô la, nhưng không quan trọng. Nếu tôi làm hỏng hệ thống an ninh hoặc hệ thống kiểm soát không lưu, điều đó thực sự tồi tệ.
  • Nếu thiết kế tương tác của sản phẩm phần mềm kế toán nội bộ được thực hiện cho một công ty nhỏ và chỉ được sử dụng bởi hai kế toán viên làm việc ở đó là xấu, thì điều này không quá nguy hại. Nếu thiết kế tương tác của một sản phẩm mới của Apple kém, điều này có thể có hậu quả quan trọng đối với doanh số và uy tín của công ty.
  • v.v.

Điều này có nghĩa là bằng cách làm việc trong các công ty nhỏ trong các dự án quy mô nhỏ, bạn sẽ thường thấy mình làm được nhiều việc . Các công ty đó không thể đủ khả năng chuyên gia trong tất cả hàng trăm lĩnh vực liên quan đến CNTT, vì vậy họ tìm kiếm một jack của tất cả các ngành nghề thay thế.

Bắt đầu làm việc trên các dự án lớn và bạn sẽ thấy rằng vai trò của mình sẽ hẹp hơn, đồng thời sâu hơn cùng một lúc. Toàn bộ công việc của bạn có thể là viết mã CSS, nhưng bạn sẽ được yêu cầu biết bất kỳ cách giải quyết CSS nào và có thể tạo kiểu cho ứng dụng web rất nhanh, dựa trên công việc của một nhà thiết kế hình ảnh. Bạn sẽ không có lý do gì nếu bạn không thể giải thích những lợi ích của Sass so với LESS hoặc nếu bạn không biết các sprite CSS là gì.

Tùy thuộc vào bạn để chọn những gì bạn thích.

  • Không có gì xấu khi là người nắm giữ tất cả các giao dịch, đặc biệt là vì nó cho phép bạn đủ linh hoạt: nếu có nhu cầu cho quản trị viên hệ thống, bạn có các kỹ năng. Nếu, một vài năm sau, không ai cần sysadins, nhưng bây giờ, các nhà phát triển web được trả tiền tốt, bạn cũng có thể áp dụng.
  • Không có gì xấu trong việc tập trung vào một lĩnh vực hẹp cả. Nếu bạn có kiến ​​thức sâu rộng về một lĩnh vực, các công ty lớn có nhiều tiền có thể quan tâm đến việc thuê bạn, bởi vì sẽ có ít chuyên gia về trình độ kỹ năng của bạn.
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.