A leap from user to developer, status: mid-air

My transition from a GNOME user to a developer has been in progress for two months now. I’m enjoying the challenges, but one constant annoyance has been bothering me along my journey:

The transition from user to developer seems to assume that in between I have had time to hack Linux for 10 years.

Well, I had a total of 0 days for that. I have grown up with the pleasure of not needing to know all the mysterious commands in terminal to get my Ubuntu running. Yes, I have memorized a couple of handy ones (killall -9 the programs!) but as a whole I’m a GUI-girl. I love to make small apps for myself to use, I like coding, but still without the OPW I would have given up already. For me the stumbling block is that the leap from user to developer is huge!

The thing that prompted this post was the setup for JHBuild. I felt uncertain and there were many things I wouldn’t have dared to do without the help of a friend. My dream would be to able to concentrate to the main thing itself with necessary information available without the presumption of being a hardcore Linux hacker.

There is need for both kinds of documentation: for those who are familiar with every nook and cranny of GNOME and Linux, and for those who have just had the great idea that they could have something to give to this community. I’m working towards my dream of having the latter, and I hope my documentation efforts will make this path easier for the enthusiastic hackers that come after me!

Like this:

Related

6 Responses

Thanks for writing this! It is totally true. Perhaps our biggest road block for new contributors. Please do not refrain from detailing the problems you encounter, or even better, proposing documentation for it.

Jhbuild has received lots of love recently, but it still is an experienced hacker tool :-/. Again, please do not refrain from commenting on this problem, the fresh and first hand experience is gold!

I also second this post, thanks for writing it. Great progress have been made on the GNOME Docs in general (I’m thinking about developer.gnome.org), but there is a lot of room for improvement indeed. Thanks for sharing!

This might help a lot. Also, throwing yourself into a terminal helps. I had to learn how to use some basic commands as RedHat 6.2 didn’t support my graphics card without lengthy manual configuration as it was a cheapo piece of junk. I was left in the CLI for a long time, which was a good learning experience. Also, I did not have an Internet connection so learning was slow from magazines.

I had this feeling for many years now. Linux in general (all DEs and distributions) does not allow for quick and easy development (without a huge amount of previous hacker-like knowledge). You could argue that that’s not the case: just fire up gEdit or your favorite editor and start writing code. And you would be right, that’s quite easy for scripts, and very small programs.

But my point is that there should be a way (the OFFICIAL way) of clicking an icon which starts up a development environment where you can write code, click another button to build/run/debug and be done with it, rinse and repeat until you have your program ready.

It’s a shame that we don’t have that. Yes, there is MonoDevelop (which is the closest to what I have in mind — but is mono ). Nothing similar (and mature enough to be usable) for python, c, c++, vala.

There is this thing called Quickly which tries to tackle the same problem, but it’s not integrated enough: you have to use the command line, gedit and glade. Three different applications: not well integrated.

Although I do prefer Linux over Windows or OSX, we have to give credit for what they achieved with VisualStudio and XCode respectively.

It’s interesting, I think use of the terminal is very symbolic of the transition from user to developer. There’s simply no better way to expose the internals of the OS and allow poking around and following on from that, development. However, it’s a completely new way of operating, because generally graphical user interfaces go “Here is everything you can do, do it”, whereas the terminal gives you nothing.