Write better SoftwareWriting better software
Interview and feed-back
Have you ever looked for codes and muttered a series of "WTFs"? The number of times I don't, the cipher is my own. I' ve devoted my whole working life to creating software I can be proud of. It' s hard to write software that "works". To write software that works while being error-free, legible, expandable, maintainable and safe is a monumental challenge.
Mozillianer have proved themselves again and again in Webmaker, MDN, Firefox and Firefox OS as well. Sending software to tens of thousands of people is more than just coding, so I look at the issue from many angles: It is aimed at anyone who develops software, regardless of their preference for languages or experiences.
What other software writers do with high-quality, serviceable software? Which does "high-quality, serviceable software" even mean? What is the procedure for others to use the source reviewer? How can I as a designer write great software and make the whole proces easier? My first interviewee is Fernando Jimenez Moreno, a Firefox OS programmer from Telefonica.
Last fall I had the chance to work with Fernando when we were integrating Firefox accounts into Firefox OS. Not only was I struck by Fernando's technological capabilities, but also by his capacity to unite the people of three businesses in six different nations on two different planets to work towards a shared objective.
Ferdinand speaks about how Telefonica got into Firefox OS, how to unite an unequal group, how to share shared norms, how to review codes and above all how to be practical. At Telefonica we have several different crews, one focusing on front-end deployment in Gaia, the other on the platforms themselves, such as Gecko, Gonk and outside agencies.
Our work covers different parts of the Firefox operating system, from Gecko to Gaia, up to the SimplePush-servers. I' ve worked on things like the Radio Interface Layer (RIL), payment, application API and other web based interfaces and almost always go from Gecko to Gaia and back. Recently I began working on a web RTC for Firefox OS.
While we began working on a similar projekt to Firefox OS, we were working with WebKit instead of Gecko. This was quite a challange, especially in the first few years of Firefox OS. However, this does not mean that we cannot work with them in a shared goal, as was the case with Firefox accounts.
So how did you determine which joint practice you would apply and how did you develop a shared arsenal? As Gecko already had a very familiar development method and method, I think we concentrated more on the front-end parts of this flexible method. Those who did the most were the greatest efforts to find the joint work flow, because we began working on Gaia and Gaia was a new unconventional work.
But when it turns out that we need to develop geckos and concentrate on it, we just do it their way. How important are shared benchmarks such as stylesheets, tooling and procedures in a multidisciplinary, cross-company projec? Now, I think that when it comes to software engeneering, in general terms the standard is very important.
It' s pretty simple to spend too much of your free day trying to define and defend the use of these norms and joint procedures and lose sight of the actual goal. We' re doing a bunch of coding review about the coding styles, but in the end you want to get the patches and fix the problem.
When you have problems with the coding styles, I want you to fix them, but if you need to touch down the patches to make a move, touch it down and report an error to fix the problems, or maybe the examiner can do it if he has the axe. The Firefox OS consists of Gonk, Gecko and Gaia.
They are submitting regular updates to Gecko and Gaia. I try to try to read as much as possible inside and outside the source if possible. I' m trying to ask the owner of this script if necessary, and even if that's possible, because sometimes they just don't work in the same script or are not available.
I' m trying to prevent myself from read the source text line by line first, and I always try to get the big picture first. Over the years, I think you somehow acquire this capability to recognize pattern in your source codes and find shared architecture that will help you better understanding the software you have.
Yeah, essentially testing, testing and more testing. They need testing, smoking testing, blackening testing, general testing. At first glance, too, you are very dependent on what the inspector said, and you can rely on the inspector, or you can ask Quality Assurance or the inspector to include testing in the pie. I' m also trying to run the test on the "try" machine, or ask the developers to start a "try" run.
OK, so testing... Lots of testing. Yes, now that we are beginning to have good testing in Firefox OS, we need to use it. I too see that the source is strong and safe, and even when I do, I always try to ask for testing to see if I think it can be written for the bug.
Lastly, I look for things like general source text qualitiy and documenting, encoding styles, contributions, procedural accuracy. You' ve checked one of my major fixes for integrating Firefox accounts into the Firefox operating system. And I mean, I always try to think of the feedback as a good educational opportunity. And I know that critics usually don't have much free space to write their own review of their lives.
You must also write your own codes. So they write quickly "must be repaired" without wasting too much thought and too much thought to say it. Reviewer only say things about bad things in your source text, not bad things, but things they don't think are right. However, they don't usually say that the things that are right in your source codes, and I know that can be difficult in the beginning.
Have you got a piece of your or someone else's piece of coding you think is particularly stylish from whom others could be learning? I' m quite a bit discerning with my own source cipher, so I can't really think of a piece of custom cipher I' m proud enough to show:).
However, if I have to take a fast example, I was very satisfied with the results of the last major call history repository for the Gaia Dialer application or the recently implemented Mobile Identity API. Comes with Firefox OS of course! Seriously, I think Firefox OS gives software developers the opportunity to join an astonishing open software development environment with many technological issues ranging from low-level to front-end-coding.
He is a safety specialist who shared his thoughts on architecture for safety, threat analysis, "belts and braces" and write codes that can be checked.