Showing posts with label python. Show all posts
Showing posts with label python. Show all posts

Thursday, October 27, 2016

Atom Text Editor: My New IDE?


When I first learned Python I spent a lot of time in interactive mode:


And when I finally started using Gedit, the syntax highlighting and bracket completion felt luxurious.


But the time has come for a proper IDE.  I can't justify shelling out $200 for RubyMine just yet, but Atom 1.11.2 looks very promising.

Of course, I could learn to use Emacs or Vim, but that's probably a bit too far for me at this stage.  I'd like to get there one day though.

Wednesday, October 26, 2016

DevOps Career Path Map, Version 0.1

DevOps Career Path
DevOps Career Path, Version 0.1

This is my first attempt at charting the course towards DevOps.  From what I can tell, DevOps engineers are drawn from the ranks of experienced software developers, or failing that, Computer Science graduates who need minimal training to work competently in a DevOps role.

Unfortunately for me, I meet neither of those requirements, which means either working my way into a software development career or going to university.
I have spent enough years at university; as far as I am concerned, if I need a degree for the job, the job's not worth it.
Ergo, the path to DevOps will be via software development, which raises the question of how to become a successful software developer?

I see broadly two avenues:
  1. Working as a junior developer or serving an internship.
  2. Getting an auxiliary role, e.g. in technical support or on the customer helpdesk, to get into the company, from which point I can work to be promoted into the development team.
For the latter I am already eminently qualified.

For the former, my daily work can be divided into three areas:
  1. Studying programming, i.e. learning to code at a professional level.  A good starting point is Code Academy and Udemy.  Once I have completed the courses through those websites, I think I'll have a much better idea of where to go from there.
  2. Online self-promotion.  This includes my blog, using LinkedIn, etc.
  3. Schmoozing with professional developers and DevOps engineers.  In Melbourne, there are Meetup groups for DevOps, Python, Ruby, etc.  I have already joined those and will keep an eye out for any others.  At the moment I'm quite enjoying Ruby; although I started on Python, I think Ruby might become my favourite language.  I'll see how I feel in a couple of months.
That's it for now.  Does this seem like a good plan to you?  Any suggestions?

Saturday, October 22, 2016

Thoughts on My First Code Retreat

When I turned up at the annual Melbourne Coderetreat, I was nervous and reticent.  I am not a professional programmer -- yet -- and I had no illusions of keeping pace with people who do this for a living.  Nevertheless, I stuck it out and learned an awful lot.  The organisers Tomasz and Ilya did a fine job of running the event, and I appreciate their encouragement.

Conclusions and Ideas:
  1. Do puzzle programming.
  2. Make code kata a regular practice.
  3. Focus on one language, either Python or Ruby and learn programming concepts thoroughly.
  4. Attend programming meet-ups, preferably for Python or Ruby, and seek out a mentor.
  5. Attend a DevOps meet-up, at least once.
  6. Make code dojos and retreats a priority.
  7. Learn TDD. (Test-driven development)
  8. Familiarise myself with a testing framework.  Using a text editor and the terminal is all well and good when starting out, but using a properly kitted out IDE is essential.
I will return to this post and add more.  Feel free to leave suggestions in the comments.

UPDATE: Some useful comments
  • Choose one that supports multiple languages: python, ruby,
  • Eventually you'll want to learn emacs or vim, buth these can wait
  • Many of these are combinable: 1 + 2 + 3 + 7

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 ...