Semantic Versioning and Public Interfaces
June 03, 2015 @ 09:16:33
voice your opinion now!
Paul Jones has an interesting post to his site that makes the link between software versioning and public interfaces your code provides. He points out that, despite semantic versioning helping to define how to version your code, there's still some ambiguity about it and backwards compatibility.
Adherence to Semantic Versioning is just The Right Thing To Do, but it turns out you have to be extra-careful when modifying public interfaces to maintain backwards compatibility. This is obvious on reflection, but I never thought about it beforehand. Thanks to Hari KT for pointing it out. Why do you have to be extra-careful with interfaces and SemVer? [...] If we remove a public method, that's clearly a BC break. If we add a non-optional parameter to an existing public method, that's also clearly a BC break. [...] However, if we add a new public method to the concrete class, that is not a BC break. Likewise, changing the signature of an existing method to add an optional parameter is not a BC break either. [...] But what happens with an interface?
He suggests that changing current functionality (such as adding a non-optional parameter) is a backwards compatibility break but in an interface so is adding a new method. By adding a method you "break" the implementation someone already has, causing plenty of trouble for the users. He wonders about the right approach for making these updates, if it's creating a new interface or just extending the current one and having users migrate. He also includes a few update notes about abstract classes and how Symfony handles BC breaks too.
TheChange.com Seeks Lead Web Developer - PHP (Vancouver, BC)
June 29, 2010 @ 08:07:39
voice your opinion now!
||Lead Web Developer (PHP)
Passionate about using technology for social change?! Want to be a part of the founding team of a promising start-up? If you are a self-motivated, entrepreneurial web developer then keep reading!
TheChange is a media platform for sustainability engagement, in a local context. People use our platform to shop, work and study for change while organizations use TheChange to connect with a highly targeted and motivated audience interested in their sustainability initiatives and opportunities. We launched TheChange.com on May 15th with the participation of over 50 of BC's leading sustainable companies and NGO's. We have big plans for future development. It's an exciting time to join our team!
As the back-end development lead you will be responsible for architecting, implementing and maintaining the back end functionality of our platform. You'll be responsible for various additional tasks including bug fixes, server troubleshooting and strategic technical input. You will work closely with our web design and marketing team members to develop and create a continually better customer experience. Growth and new challenges will be endless with this job as the company scales up at a continually faster pace.
This is not your regular 9 - 5 job. We are looking for someone who shares our vision, has an entrepreneurial spirit, a strong work ethic and is keen to be part of a start-up environment. If you are a motivated self-starter with strong interpersonal skills, and enjoy working in an agile and iterative development environment, then you'll fit right in.
Please note: Our start-up is supported by a government program that funds innovative technology start-ups; this program requires that new hires are 30 years or younger and have post secondary education.
Recent graduates with a strong portfolio are encouraged to apply!
- Post secondary degree or diploma in a related field
- 3+ years of demonstrated web development experience
- Strong working ability in PHP
- Strong working knowledge of MySQL and experience building scalable database driven web sites
- Experience using open source software and services
- Knowledge of MVC frameworks (CakePHP, Codeigniter, Elgg)
- Basic sysadmin skills for linux-based deployments
- E-commerce experience is preferred
Who you are
- Passionate about web technologies, usability and analytics
- Entrepreneurial spirit; you love iterating and shipping quickly and frequently
- Excited at the prospect of putting everything into your work
- A deep belief in learning through doing
- Excellent communicator with good project management skills
- Dedicated to constant refinement and improvement in every task you take on
- Understanding and interest in Web 2.0 concepts - social media, UGC, online communities
- You're innately driven to create web applications that users love
- Previous start-up experience
- Experience with the Elgg framework
- Experience with social media integration (Facebook Connect, Twitter API etc.)
Why Join Us?
- Get involved with a start-up that has garnered early traction and grow with the company
- Lead technology development and use your skills to make a mark!
- We can offer a base salary and equity participation
We Want to Hear From You!
Please direct all inquiries and resumes to email@example.com. Please include links to previous projects!
Junxion Strategy Inc Seeks Web Developer (Vancouver, BC)
March 06, 2008 @ 15:22:00
voice your opinion now!
||Junxion Strategy Inc.
||Vancouver, BC (Downtown)
Who We Are
Junxion Strategy is a full-service communications and consulting firm committed to community involvement, environmental sustainability, and social justice. Since our founding more than 10 years ago, we've guided, branded and supported high-profile projects that build stronger communities, protect our environment, and promote social justice.
Position and Duties
- You will work with a multi-player web team.
- You are good with people, and have the ability to work on a team.
- You are committed to sustainability.
- You are looking for a full-time on-location position.
Input on user interfaces, develop HTML and CSS pages from design compositions, converting the code into templates for open source CMS such as Drupal and WordPress. Developing and enhancing open source CMS applications with module and plug-in integration. Using shared hosting control panels in the production of client projects, primarily for a LAMP environment. Related web development, production, and maintenance duties as required.
For additional information, see our posting online at: http://www.junxionstrategy.com/about-us/job-opportunities/
This is a 4-6 month in-house contract position beginning March 24, 2008. Regular 37.5 hours/week with competitive hourly rate for qualified candidates.
Please send cover letter about using the web to forward sustainability, resume and 4-5 URLs to info[at]junxionstrategy.com by March 19, 2008. No calls or drop-bys, please. Only short-listed candidates will be contacted.
Engine Digital Seeks LAMP Developer (Vancouver, BC)
September 21, 2007 @ 12:55:00
voice your opinion now!
||LAMP (Linux, Apache, MySQL, PHP) Developer
Vancouver based Engine Digital is seeking an immediate, in-house, contract-based LAMP (Linux, Apache, MySQL, PHP) programmer to assist with current web and application based projects.
We provide award-winning web development and interaction marketing to an international client list spanning Entertainment, Residential and Resort Real Estate, Consumer Goods, and Services.
You have 5+ years experience working within a team environment, developing defined web system and application project requirements on time and on budget. Your skill set will be measured alongside your aptitude to take ownership and provide innovation. Your workload will include both new developments and modifications to existing build outs - you should be comfortable writing code from scratch, or making revisions to pre-developed functions. You'll be responsible for various additional tasks including bug fixes, server troubleshooting, and technical strategic input.
This is a 3-month contract with an option for full-time employment. Applicants must have proven track record with LAMP-based web application planning, development, and documentation. Applicants should be well versed in Content Management functionality and interfacing.
This is a full-time, in-house position; applicants must live in, or be willing to relocate to the Vancouver area. International candidates will be considered.
To apply, send email to people[a]enginedigital[dot]com with PDF cover letter and resume, 3-5 recent URLs w/ description of personal contribution for each. If you have an online portfolio or blog, please send those URLs along too.
Neverblue Media Seeks a Intermediate Developer/Systems Administrator (Victoria, BC)
June 04, 2007 @ 14:32:00
voice your opinion now!
||Neverblue Media, Inc.
||Intermediate Developer/Systems Administrator
As the successful applicant, you have a mixed skill set consisting of both a Linux systems administration and PHP software development. You have experience deploying, administering and maintaining Linux based web and database servers. You are able to design and build dynamic database driven web applications using open source resources. You are eager to work in a results driven environment and have excellent verbal and written communication and documentation skills.
- PHP development of PostgreSQL and MySQL database driven web applications in a Linux environment
- Support and refine existing web applications
- Linux server administration supporting the following applications:
- MySQL and PostgreSQL
- Asterisk PBX
- Working with the Sr. Systems Administrator to maintain office network infrastructure including:
- Development servers
- Open LDAP
- Asterisk phone system
- XP and Ubuntu user workstations
- Team Support
- Receiving and responding to technical questions and providing support to non-technical team members in a respectful, accurate and thorough manner
- Communicating regularly with the Manager of Technology to ensure complete understanding of how projects and tasks are to be prioritized
Required Skills and Experience
- Minimum 2-3 years dynamic web site development applications/programming experience in PHP, working in a Linux environment
- Strong database knowledge using MySQL and/or PostgreSQL
- Experience administrating Apache web servers (SSL, vhost, 10+ million hits/day)
- Understanding of common network security exploits and their remedies
- Understanding of NFS and Samba file services
- Excellent verbal and written communication skills and the ability to clearly report to managers and to coordinate well with other technical and business development team members
Preferred Skills and Experience
- Knowledge of SIP VoIP systems a strong asset, particularly Asterisk PBX systems
- SQL application and database performance tuning
- Experience administrating a Linux, Red Hat or Fedora network
- Hardware and software RAID
To apply, please email cover letter and resume referencing "Intermediate Developer/Systems Administrator" outlining why you want to join the Neverblue Media team and salary expectations to: firstname.lastname@example.org.
We would like to thank all applicants for your interest however, only candidates selected for an interview will be contacted.
Recruitment for this position will be ongoing until we find the most suitable candidate.
Don't see your event here?
Let us know!