-5
\$\begingroup\$

I am self thought c# kiddy and wonder if little projects like one here, are worth showing to potential employers when looking for junior developer position. This code has some issues that i do not know how to tackle, and error handling is poor. What do you think ?

https://github.com/moment93/SimpleServerClientApplication

Program is very simple, it is server that accepts incoming connections and spawn two threads for every connection. One to handle incoming packets other to handle outbound packets.

    static void Main(string[] args)
    {
        Server server = new Server(8000, 30);
        server.Start();
    }
\$\endgroup\$

closed as off-topic by Jesse C. Slicer, Jamal May 7 at 2:19

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Lacks concrete context: Code Review requires concrete code from a project, with sufficient context for reviewers to understand how that code is used. Pseudocode, stub code, hypothetical code, obfuscated code, and generic best practices are outside the scope of this site." – Jesse C. Slicer, Jamal
If this question can be reworded to fit the rules in the help center, please edit the question.

-5
\$\begingroup\$

I looked at your code. I like that you're thinking about improving for your future career! Because this is for a new position, we have to assume they're looking for the basics. So of course, comment your code. Another thing I noticed is that the entire project was uploaded in one commit. Now, I know that if you were told to upload your code to a public repository for review, it would would all be one big git add ., but as a technical reviewer for some potential employer, I'd also like to see some git history. This would show me that you know version control already. A hiring manager won't look at your code, and a technical someone may want to see someone who is easy to work with. Who leaves a history and some code comments.

This is a great example program. Web sockets are an advanced topic these days. I've been developing web apps for a year, and I haven't even touched the stuff. The guy at my job who does understand web sockets? legend...

That being said, in a couple places I can pick up three lines of your code and find the websites that helped you build this program.

Listening with sockets Tcp Client

It's a good thing you're resourceful and can build a program from ideas and google searches into reality. It's not bad that I could find these websites, but I'm going to suggest you build upon the functionality that is currently in your repo.

A good demonstration of your ability to engineer solutions for a potential employer would be to leave this repo's master branch as it is, and then make some dev branches in this repo that use this server to make new clients.

  • Make a branch called "battleship", use it to have a client connect to the server and play battleship with the server.
  • Make a branch called "banking-app", use it to remember user's names and, money, interest. maybe even have it calculate interest in terms of dates.
  • if you have any programs from a programming class, shoe-horn them in to a new branch and just host the input-output needed to make the program work.

When you present your repo, include a description that shows what you're done, give the technical instructions on cloning which branch to get which piece of functionality. and make sure to frame the entire thing as you being this amazing builder of customer-facing services that can manipulate technology to do whatever you want.

I would hire that candidate and I would definitely give them a sign-on bonus!

\$\endgroup\$
  • \$\begingroup\$ Wow :) Thanks dude thats enpowering :) And i will definitely do just what you told me :) Create some other branches and play with functionality :D Thanks! You give me so many good ideas here :) \$\endgroup\$ – Djdndb Rjrjjr May 7 at 2:11
  • 4
    \$\begingroup\$ Please don't answer off-topic questions. \$\endgroup\$ – 200_success May 7 at 2:34

Not the answer you're looking for? Browse other questions tagged or ask your own question.