Graduate Developer (4th Year Students are welcome)

Graduate Developer (4th Year Students are welcome)2021-01-21T09:10:33-05:00<ul> <li><span style="font-weight: 400;">Want to spend the first 5 weeks of your technical career in China or India with peers from around the world?</span></li> </ul> <p>&nbsp;</p> <ul> <li><span style="font-weight: 400;">How would you use 40,000THB to improve your technical skills each year?</span></li> </ul> <p>&nbsp;</p> <ul> <li><span style="font-weight: 400;">Want to spend the first 5 weeks of your technical career in China or India with peers from around the world?</span></li> </ul> <p>&nbsp;</p> <p><span style="font-weight: 400;">Then read on…</span></p> <p>&nbsp;</p> <p><span style="font-weight: 400;">ThoughtWorks is a global software consultancy with an aim to create a positive impact on the world through technology. Our community of technologists thinks disruptively to deliver pragmatic solutions for our clients' most complex challenges. We are curious minds who come together as collaborative and inclusive teams to push boundaries, free to be ourselves and make our mark in tech.</span></p> <p><span style="font-weight: 400;">Our developers have been contributing code to major organizations and open source projects for over 25 years. They’ve also been writing books, speaking at conferences and helping push software development forward, changing companies and even industries along the way.&nbsp;</span></p> <p><span style="font-weight: 400;">As consultants, we </span><a href=""><span style="font-weight: 400;">work onsite with our clients</span></a><span style="font-weight: 400;"> to ensure we’re evolving their technology and empowering adaptive mindsets to meet their business goals. You could influence the digital strategy of a retail giant, build a bold new mobile application for a bank or redesign platforms using event sourcing and intelligent data pipelines. You will learn how to apply the latest Lean and Agile thinking, create pragmatic solutions to solve mission-critical problems and challenge yourself every day.&nbsp;</span></p> <p><span style="font-weight: 400;">Our entry-level consultants jumpstart their careers with a trip to </span><a href=""><span style="font-weight: 400;">ThoughtWorks University</span></a><span style="font-weight: 400;"> (TWU): a five-week training program in India or China. </span><span style="font-weight: 400;">When you return home, the </span><a href=""><em><span style="font-weight: 400;">First Year Experience</span></em></a><span style="font-weight: 400;"> provides continual on-boarding support to help you settle into ThoughtWorks. </span><span style="font-weight: 400;">And it’s important to call out that we consider tech talent from all walks of life. Whether you’re a Computer Science major with less than 1 year of professional experience, a coding boot camp graduate or a “career changer” who is working toward becoming a software developer, you have the opportunity to join our community.&nbsp;</span></p> <p><span style="font-weight: 400;">&nbsp;</span></p> <p><strong>You’ll spend time on the following:</strong></p> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">You will pair to write clean and iterative code using practices like TDD, SOLID principles, OO design, and pair programming</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">You will use continuous delivery practices to improve software delivery speed</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">You will work in collaborative, product-focused teams to build innovative customer experiences for a variety of clients</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Learn, digest and subsequently apply the latest technology thinking from our</span><a href=""> <span style="font-weight: 400;">tech radar</span></a><span style="font-weight: 400;"> to solve client problems</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Tackle a variety of challenges for clients of all industries, while collaborating with new teammates from diverse backgrounds</span></li> </ul> <p><strong>Here’s what we’re looking for:</strong></p> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">You have less than 1 year of professional experience working as a developer</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">You understand analysis, design, coding and OO concepts</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">You thrive in a collaborative and un-hierarchical environment </span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">You have a passion for learning and a desire to create meaningful solutions for business problems</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">You’re resilient in ambiguous situations and can approach challenges from multiple perspectives</span></li> <li style="font-weight: 400;"><span style="text-decoration: underline;">You're also welcome to apply eventhough you are in the Senior Students, or in the 4th year of your university.</span></li> </ul> <p>&nbsp;</p> <h2><strong>Do you want to accelerate your interview process?&nbsp; Let's solve some problem and submit your solution.&nbsp; it will save a lot of time!</strong></h2> <p>Instruction for Coding Problem: Open-Closed Game</p> <p><strong>The Open-Closed Game</strong></p> <p><span style="font-weight: 400;">Rules of the game:</span></p> <p><span style="font-weight: 400;">This game is played between two players.</span></p> <p><span style="font-weight: 400;">One player will be the predictor.</span></p> <p><span style="font-weight: 400;">To play the game, after a count of three, the players will need to simultaneously show their hands with each hand either open or closed, and the predictor need to shout out how many hands they think will be open on total.</span></p> <p><span style="font-weight: 400;">If the predictor is correct, they win, otherwise the other player becomes the predictor and they go again. This continues until the game is won.</span></p> <p>&nbsp;</p> <p><span style="font-weight: 400;">The challenge:</span></p> <p><span style="font-weight: 400;">You need to create a program to play this game against the computer. This can just be a simple console application.</span></p> <p><span style="font-weight: 400;">You will always be the predictor first.</span></p> <p><span style="font-weight: 400;">The “AI” player will just do things randomly.</span></p> <p><span style="font-weight: 400;">For each round, the computer will expect player input in the following format if you are the predictor:</span></p> <p><span style="font-weight: 400;">OC2</span></p> <p><span style="font-weight: 400;">Or if you are not:</span></p> <p><span style="font-weight: 400;">CO</span></p> <p>&nbsp;</p> <p><span style="font-weight: 400;">That is, the first two characters will show how you will play your hands, O for open or C for closed. If you are the predictor, you also need to enter a third character which is your prediction for how many open hands in total.</span></p> <p><span style="font-weight: 400;">The program should then reveal the “AI” players input and indicate if the game was won, or move to the next round.</span></p> <p>&nbsp;</p> <p><span style="font-weight: 400;">Example of what game play could look like:</span></p> <p><span style="font-weight: 400;">Welcome to the game!</span></p> <p><span style="font-weight: 400;">You are the predictor, what is your input?</span></p> <p><span style="font-weight: 400;">OO4</span></p> <p><span style="font-weight: 400;">AI: CO</span></p> <p><span style="font-weight: 400;">No winner.</span></p> <p><span style="font-weight: 400;">AI is the predictor, what is your input?</span></p> <p><span style="font-weight: 400;">CC</span></p> <p><span style="font-weight: 400;">AI: OO0</span></p> <p><span style="font-weight: 400;">No winner.</span></p> <p><span style="font-weight: 400;">You are the predictor, what is your input?</span></p> <p><span style="font-weight: 400;">CO3</span></p> <p><span style="font-weight: 400;">AI: OO</span></p> <p><span style="font-weight: 400;">You WIN!!</span></p> <p><span style="font-weight: 400;">Do you want to play again?</span></p> <p><span style="font-weight: 400;">N</span></p> <p><span style="font-weight: 400;">Ok, bye!</span></p> <p>&nbsp;</p> <p><span style="font-weight: 400;">Tips:</span></p> <p><span style="font-weight: 400;">Remember to validate the input and give the user useful messages if their input is not valid.</span></p> <p><span style="font-weight: 400;">Valid input should be either a C or O for the first two character and a number between 0 and 4 for the prediction.</span></p> <p>&nbsp;</p> <p><span style="font-weight: 400;">For example, if the user enters “chicken” on their turn, you could display a message such as:</span></p> <p><span style="font-weight: 400;">Bad input: correct input should be of the form CC3, where the first two letters indicate [O]pen or [C]losed state for each hand, followed by the prediction (0-4).</span></p> <p><span style="font-weight: 400;">If the user enters “CC8” the error could be:</span></p> <p><span style="font-weight: 400;">Bad input: prediction should be in the range of 0-4.</span></p> <p><span style="font-weight: 400;">Or, if they are not the predictor:</span></p> <p><span style="font-weight: 400;">Bad input: no prediction expected, you are not the predictor.</span></p> <p>&nbsp;</p> <p><span style="font-weight: 400;">Try and write unit tests for your code, if you can, use TDD (test driven development) when writing the solution.</span></p> <p>&nbsp;</p> <p><span style="font-weight: 400;">Think about the design of your objects and cleanliness of your code. Will it be easy for you to make changes to your code to implement some of the extensions? How about for someone else?</span></p> <p><span style="font-weight: 400;">The coding problem ends here.</span></p> <p>&nbsp;</p> <p><span style="font-weight: 400;">&nbsp;</span></p> <p>&nbsp;</p> <div> <p><strong>Not quite ready to apply? Or maybe this isn’t the right role for you?</strong></p> </div> <div> <p>That’s OK, you can stay in touch with&nbsp;<a href=";utm_medium=jd&amp;utm_campaign=access-thoughtworks" target="_blank" data-saferedirecturl=";q=;source=gmail&amp;ust=1527062844618000&amp;usg=AFQjCNH-d9OFRKlnhqNNjMM8fC6D2Uax4w">AccessThoughtWorks</a>, our learning community (tick '<em>contact me about recruitment opportunities</em>' to hear about jobs in the future).</p> </div> <p style="color: white;">#LI-SEA</p>ThoughtworksBangkokThailand