Đối với một lập trình viên, trong quá trình làm việc chắc hẳn sẽ tiếp xúc với những phần mềm hỗ trợ để giải quyết các nhu cầu công việc của mình một cách nhanh chóng. Hãy cùng Thư viện lập trình điểm qua những phần mềm không thể thiếu cho một lập trình viên.
1. Trình Editor hay IDE
Lập trình viên thì không thể thiếu được một IDE hay Text Editor được, nó giống như việc đi cày thì phải cần cày vậy 🙂
Hiện tại có rất nhiều IDE hay Editor sử dụng để lập trình trên các ngôn ngữ khác nhau, cùng điểm qua một số IDE & Editor phổ biến nhé.
1. Visual Studio: C#, .NET, F#, HTML, CSS ….Lập trình Winform hay Web Form với framework .NET thì IDE này là điều bắt buộc
2. Visual Studio Code: Lập trình frontend như JS, CSS, HTML…lập trình backend với .Netcore, nodejs… một trình Editor khá nổi tiếng được hậu thuẩn từ Microsoft
3.Android Studio: Lập trình Android, Java Mobile …nghe tên chắc hẳn đã biết nó làm gì rồi nhỉ :))
4. Xcode: Để lập trình IOS, bắt buộc bạn phải cài đặt trình IDE này để mà làm việc và nó chỉ chạy được trên MacOS (Apple thật là biết cách hút máu)
5. Sublime Text: Một trình editor khá gọn nhẹ và không kém phần mạnh mẽ, hỗ trợ code trên nhiều ngôn ngữ khác nhau
6. Atom: Tương tự như Sublime hay Visual Studio Code thì Atom cũng là một trong số IDE được cộng đồng lập trình viên khá ưu chuộng, đặc biết là các lập trình viên PHP
7. Eclipse: Một IDE khá nổi tiếng dùng để code Java, Android …
8. Netbean: Tương tự như Eclipse, Netbean cũng là một IDE rất mạnh mẽ trong Java Dev
Ngoài ra còn có hằng hà sa số các Editor & IDE mà các lập trình viên có thể sử dụng, bá đạo nhất là dùng Notepad để code :))
2. Phần mềm cắt sửa ảnh
Dev thì cần phần mềm cắt sửa ảnh làm gì nhỉ ? Cần đấy bạn ạ, đặc biệt với các bạn là về frontend web developer thì làm việc với các file thiết kế như PSD, AI ….thì kỹ năng cắt ảnh để làm giao diện cũng là một kỹ năng cần thiết, bên cạnh đó biết sử dụng các phần mềm cắt sửa ảnh cũng là một kỹ năng tốt. Điểm qua các phần mềm cắt sửa ảnh các Dev hay dùng nhé.
1. Photoshop: Nhắc đến cắt sửa ảnh mà không nhắc đến Photoshop thì là một tội lỗi lớn
2. Illustrator: Giống như Photoshop, illustrator cũng là một trong những phần mềm cắt sửa ảnh khá nổi tiếng, chuyển xử lý với vector do Adobe phát hành
3. Gimp: Nếu như trên Window hoặc MacOS, Photoshop hoặc illustrator chiếm ưu thế thì trên Linux Gimp được gọi là bá đạo vì hai thằng kia không có trên nền tảng này, Gimp thì hoàn toàn free nhé.
4. Paint: Paint ư? Paint thì làm được gì? Paint có thể dùng để cắt ảnh đơn giản, crop hình, resize hình khá là okie, nhanh chóng và gọn nhẹ nhất.
3. Trình Debug & Emulator
Vâng, dev mà không debug thì không xong rồi. Debuger hoặc Emulator là các trình hỗ trợ lập trình viên kiểm tra sản phẩm trong quá trình phát triển. Nếu như Web Dev cần trình duyệt và các dev tool để làm việc thì với các Mobile Dev thì các Emulator là bạn đồng hành không thể thiếu.
Web server: Xampp (php), Lampp(php), Tomcat(java), glassfish(java), IIS_Express (.NET)
Mobile Emulator: Genimotion, Virtual Box (Chạy máy ảo)
Trình duyệt: Google Chrome, Firefox…
4.Trình quản lý source code
Developer thì phải quản lý code như thế nào cho khoa học, dễ dàng tìm kiếm cũng như lưu trữ. Sử dụng thành thạo các trình quản lý source code cũng là một ưu thế khi đi xin việc. Các trình quản lý source code phổ biến thường gặp.
1. Git: Đã là dev thì ít nhất phải biết dùng Git, còn git là gì thì Google nhé
2. SVN: Tương tự như git SVN cũng là một trình quản lý source khá phổ biến, thường các doanh nghiệp sẽ build SVN trên server riêng để quản lý
3. TFS: Là một trong những trình quản lý source khá hay, đặc biệt dành cho các Dev nào làm việc trên Visual Studio và các sản phẩm của Microsoft.
5. Các tool hỗ trợ lập trình
Tất nhiên, trong quá trình Dev một số tool hỗ trợ là không thể thiếu. Dưới đây là một số tool hỗ trợ mà mình thường dùng
1. Postman: Trình kiểm tra & test Rest API nhanh chóng, mạnh mẽ có đồng bộ với tài khoản google, share hoặc lưu trữ đều ổn.
2. Trình ghi chú: Trong quá trình dev, ghi chú lại thông tin là vô cùng cần thiết, các cấu hình, kết nối hoăc mật khẩu …. bạn có thể sử dụng các trình ghi chú. Hiện tại mình đang sử dụng sticky note của Window (Version mới nhất đã được đồng bộ với tài khoản Microsoft), Simplenote một ứng dụng ghi chú đa nền tảng đồng bộ trên tất cả các thiết bị, Ghi chú của IOS
3. Các ứng dụng lưu trữ online như One Drive, Dropbox, Google Drive… hỗ trợ chúng ta lưu trữ tài liệu, thông tin làm việc …
4. Các trình quản trị CSDL: Đối với các Dev Backend thì làm việc với CSDL là chuyện như cơm bữa, nên sử dụng một trình quản lý tốt sẽ tiết kiệm được kha khá thời gian của chúng ta. Đối với SQL Server mình thường dùng Microsoft SQL Server Managerment Studio, MySQL mình sử dụng MySQL Workbench, MongoDB thì sử dụng Robomongo…
5. Terminal: Dev hiện nay từ FE đến BE đều làm việc với Terminal để build, deploy hoặc Remote SSH vào server để quản trị. Trên Window bạn có thể sử dụng CMD mặc định của window hoặc Powershell, hiện tại trên Window 10 mới nhất, CMD đã tích hợp rất nhiều thứ hay ho như SSH client, SCP client mà các version trước đó không hề có. Ngoài ra trên MacOS, Linux thì terminal của nó bá đạo quá rồi nên không cần cài thêm. Bạn nào dùng Window thấp hơn window 10 có thể sử dụng Putty để dùng làm SSH client
6. Quản lý file FTP – SFTP: Trên MacOS, Linux bản có thể quản lý file từ xa qua trình quản lý file mặc định, nhưng nó không có một số tính năng nâng cao và khó sử dụng. Một số trình quản lý file FTP & SFTP minh hay sử dụng như Transmit trên MacOS, WinSCP trên Window và Nautilus trên Ubuntu.
6. Các tool hỗ trợ chat chit & trao đổi thông tin
Trong quá trình làm việc chắc hẳn sẽ cần trao đổi thông tin với Đồng nghiệp, khách hàng hoặc đại loại là nơi nhận các thông báo từ ứng dụng hoặc thông báo thay đổi nào đó từ project thì các tool hỗ trợ này sẽ rất cần thiết.
1. Skype: Quá quen thuộc đúng không nào (Dùng để chat chit, trao đổi thông tin, tạo nhóm để chat), gọi điện, video
2. Zalo: Thằng này thì nhanh, có gọi điện, gọi video, trao đổi file, dung lượng file lớn nhất cho phép hiện nay là 300MB
3. Slack: Là một trong nhưng nền tảng chat mạnh mẽ, có thể tích hợp với trello, gitlab hoặc có thể kết hợp để monitor ứng dụng qua web hook của nó. Mình đang sử dụng slack để monitor công việc trên trello và các thông báo khi build, deploy ứng dụng
4. Facebook: Là một kênh mạng xã hội ai cũng dùng, ít thì 1 nhiều thì n tài khoản :), đây cũng là kênh rất tiện lợi để trao đổi với khách hàng.
5. Email: Là một kênh uy tín, chuyên nghiệp, thường sử dụng để trao đổi thông tin công việc là chính. Các doanh nghiệp thường yêu cầu nhân viên trao đổi công việc qua email để dễ kiểm soát 🙂