Showing posts with label github. Show all posts
Showing posts with label github. Show all posts

Friday, January 12, 2018

A Word of Thanks to Gleam.io

I wish to thank Gleam.io for the invaluable experience of working as a junior software development intern from August 2017 until January 2018.

When I started my internship, I had about seven months' self-study of Ruby and Rails, with a smattering of HTML, CSS, Github, etc.  During my time at Gleam.io, I got to learn the ins-and-outs of a large commercial codebase, and saw first hand how an excellent product is built, maintained, and supported with intelligence and empathy.

I navigated the choppy waters of dependencies and got a complex commercial application running on my local Linux machine.  (I also updated the README to make life a lot easier for the next person)

I got a bunch of pull requests approved.



I made mistakes, and learned from them, in using Github.

I kept on using Rubymine until it made sense to me.


I spent countless hours reading the code, hunting for clues; Google and Stack Overflow were my constant companions.

I wrote tests that failed, then passed, then failed again, then passed.



I went mountaineering on a learning curve of Ruby and Rails, especially Rails; now I understand essentially how it fits together and is used to build websites that serve the needs of customers. 

A fair representation of the ardour and the rigour of studying Rails.

I got to pair program a bit and work remotely a lot — I enjoy them both very much.



In short, I was given every opportunity to learn from seasoned veterans, the value of which is beyond measure, and was treated with tolerance and respect by everyone on the team.

Chief amongst the myriad things I am grateful for is the self-confidence I am imbued with.  When I started my journey into software development, self-belief was one part reason, two parts faith.  But now I can say that someone saw the potential in me, even though I didn't have the requisite skills and knowledge for the role, and gave me a chance to fail and succeed, fall down and pick myself up.  

The guys at Gleam.io didn't have to take me on, but they did; they didn't have to invest in me, but they did.  They allowed me to see how I measure up against people who have been working with software for half my lifetime, and what I saw (although daunting at times) gives me great hope for my own prospects as developer.

Now that I have been part of a commercial development environment, I know for a fact that I can become a genuinely good developer with a reasonable amount of study, regular practice, and some guidance.  I will apply for junior development positions confident that the requirements of the role are well within my zone of proximal development.

Every time I turn on my System76 laptop (currently running Ubuntu 16.04.1 with Gnome Shell, but I might switch to Arch), I am reminded of the countless kindnesses shown to me, and take heart that the Next Big Thing in my journey is just around the corner.

Monday, October 2, 2017

1,300 Pomodoros: Humility, Gratitude, Motivation

650 hours very well spent, but hardly an excuse to rest on my laurels.
It's been about a month-and-a-half since I started my internship at Gleam.io and now is as good a time as any to reflect on humility and gratitude.

Humility: Knowing Your Place

As a junior developer, all my considerations start from recognising the humbling fact that my company does not need me, yet.

So far, time and money spent on me have not profited the company.

As things stand, the company would be better off without me.

If I  do not significantly improve over the coming weeks and months, the case for terminating my position at the company will consolidate; reasons to keep me, evaporate.

Gratitude: Accepting Responsibility

In light of these discomfiting understandings, it is clear that a great responsibility is placed on my shoulders.  In spite of my limitations, my boss sees potential in me, and has already gambled a substantial amount of time and money on helping me get to my present position.  Even if I can't see how I am to cross over into profitable productivity, he can, and because I trust and respect his judgement, the onus is on me to find a way to come good.

The way I look at my internship is that the company — without really needing to do so — is giving me a gilt-edged chance to build a compelling business case for hiring me.  I have access to the code base, I can ask for help, I have an excellent Linux-based System 76 laptop, and most importantly, I have a generous allotment of goodwill and trust.

Motivation: Hunger and Hope

So what does this mean for me in practice? It means staying hungry and hopeful.

It means getting up every morning with a strong determination to do my best right now, for the next twenty-one minutes, and the next twenty-one minutes, and the next, until the end of the day.

It means poring over every detail of my assigned task, taking notes, searching for key terms in the code, reading and re-reading the manual.

It means making sure I've done everything I can and have the best possible understanding of the matter before contacting a senior developer, and then asking the most specific, intelligent question I can put together.

It means overcoming the fear and frustration, the anger and anxiety, of not knowing the answer, day in, day out.

It means being honest with myself and making available a regular feed of how I'm getting along; not a sugar-coated status update, but an unobtrusive stream of reports by means of which those above me can realistically appraise my progress.

It means reminding myself of where I started and where I want to be.

And finally, it means that as long as I am in the game, I have everything to play for.

Wednesday, May 3, 2017

State of the Mission, 2017-05-03: Lots of Coding

I know I've been very quiet lately, but there's a good reason for it.

Here's what I've been doing on Verbalyser:










And this is what I've been focused on for the last few days.  I'm not at liberty to share my code, but I think it's pretty clear how I've gone about it.




 



Sunday, February 19, 2017

Closed [envato_coding_test] Need to initialize CustomerTotalSpend in order to get the global $customer_total_spend list


Closed [envato_coding_test] Need to initialize CustomerTotalSpend in order to get the global $customer_total_spend list by clockworkpc via GitHub

Closed [envato_coding_test] RSpec error on customer_total_spend_spec.rb


Closed [envato_coding_test] RSpec error on customer_total_spend_spec.rb by clockworkpc via GitHub

Saturday, February 18, 2017

Closed [envato_coding_test] payments.json contains more than one entry per customer


Closed [envato_coding_test] payments.json contains more than one entry per customer by clockworkpc via GitHub

Closed [envato_coding_test] Stuck! Decided to go back to my whiteboard and think it over


Closed [envato_coding_test] Stuck! Decided to go back to my whiteboard and think it over by clockworkpc via GitHub

Closed [envato_coding_test] JSON.load produces deeply nested hashes of coffee names and prices


Closed [envato_coding_test] JSON.load produces deeply nested hashes of coffee names and prices by clockworkpc via GitHub

Friday, February 17, 2017

Closed [envato_coding_test] Trying to create a Hash of customer history, but keep on over-writing the previous entry


Closed [envato_coding_test] Trying to create a Hash of customer history, but keep on over-writing the previous entry by clockworkpc via GitHub

Closed [envato_coding_test] Difference between expected JSON output and actual


Closed [envato_coding_test] Difference between expected JSON output and actual by clockworkpc via GitHub

Closed [envato_coding_test] There is a data set, but it's not the one we want.


Closed [envato_coding_test] There is a data set, but it's not the one we want. by clockworkpc via GitHub

Closed [envato_coding_test] Need JSON constant


Closed [envato_coding_test] Need JSON constant by clockworkpc via GitHub

Closed [envato_coding_test] Undefined Method "call"


Closed [envato_coding_test] Undefined Method "call" by clockworkpc via GitHub

Closed [envato_coding_test] Original Error Messages


Closed [envato_coding_test] Original Error Messages by clockworkpc via GitHub

Saturday, February 11, 2017

Sunday, January 22, 2017

Closed [tree-house-prince] Case Conditional in Kitchen.rb not filtering for both conditions


Closed [tree-house-prince] Case Conditional in Kitchen.rb not filtering for both conditions by clockworkpc via GitHub

Closed [tree-house-prince] Error thrown up by River.rb


Closed [tree-house-prince] Error thrown up by River.rb by clockworkpc via GitHub

Assigned [tree-house-prince] Case Conditional in Kitchen.rb not filtering for both conditions

Case Conditional in Kitchen.rb not filtering for both conditions
By clockworkpc
Closed to

I want the first condition to be satisfied when the user input includes both strings, "sudo" and "sandwich", but at the moment it is satisfied by "sandwich" only. ` def sandwich_selection(user_selection) @choice = false case user_selection when /sudo/ && /sandwich/ puts "The robot happily complies and makes you a sandwich." @status = "success" return @status @choice = true when /give up/ puts "No problem, you're welcome to try again." @status = "failure" return @status @choice = true else puts "Sorry, I can't make you a sandwich, you do not have super-user authority. You can ask again or give up." @status = "try_again" return @status end end `

Labeled:

January 22, 2017 at 07:27PM
via GitHub http://ift.tt/2iZXB5Z

1,050 hours

It took me 13 working days to complete my first 100 "work" pomodoros as a Junior Software Tester at Profectus Group.  Much of ...