Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

Next Step as a Developer

Options
  • 13-01-2017 8:27pm
    #1
    Registered Users Posts: 12,775 ✭✭✭✭


    After a bit of toing and froing with college and my career I moved over to London from Cork and started a sort of apprenticeship kind of deal as a junior web developer towards the end of 2014.

    I'm now near enough 2.5 years into it.

    While I understand the need for patience in gaining experience in your job I don't feel like I'm progressing anymore and I don't like living in London much.

    We run an e-commerce site for a roofing company. It's a small team - me and the lead developer who's very experienced alongside the general marketing team who do a lot of the design and so forth.

    I mostly work with CSS/SCSS, PHP, JS, jQuery, HTML and then some data analysis, google analytics and that kind of thing to help out marketing and plan the website.
    My previous background was in my father's company - business management software, although I didn't do any of the programming for that - more admin, accountancy and data management/analysis.

    We use git source control, I've dabbled a little bit in the database (we use SQLite) and our server is CentOS based, but I don't work a lot in the day to day on SQL or Linux (so I'm familiar with them, but not necessarily competent).
    The website is Magento based.

    I've recently done a basic Python course part-time in a university in London.

    Sorry for the info dump but I'll get to the point.
    Where do I go from here? A lot of the jobs back in Ireland and staying in London seem to require half a dozen frameworks I haven't even heard of, minimum of 3 years, CS degree or other mixtures of languages like C (or it's variants).

    What's the quickest way to move on and what's the most pressing thing for me to work on?
    I've been thinking of all sorts of little projects to be getting on with and exploring things like Durandal/Angular/Node.js or more further afield, things like Unity but I feel so utterly overwhelmed by the extent of the knowledge base for this career that I just end up procrastinating.


    Edit: I forgot the thread prefix - soz.


Comments

  • Moderators, Society & Culture Moderators Posts: 17,642 Mod ✭✭✭✭Graham


    You're never going to know it all so first thing you should do is stop beating yourself up over it.

    What direction do you fancy heading in? App development, mobile apps, web dev, small business, enterprise? If you don't know, at least rule out the ones you don't fancy and we can work from there.


  • Registered Users Posts: 403 ✭✭counterpointaud


    My advice would be to learn ES6 and React, and try land a role using that stack.

    My reasons are:

    - React with ES6 is lovely to work with
    - You tend to become a much better Javascript dev using React, whereas with other frameworks you tend to become just a better framework x dev.
    - You can leverage your current JS/CSS/HTML skills
    - Lots of React jobs in London

    If there is time, I would dabble a bit in Node and Webpack too, but focus on React and how it fits in with your current skill set.


  • Registered Users Posts: 800 ✭✭✭a fat guy


    If you're planning on coming back to Ireland, Java is always in demand (read head first Java to get most of your day-to-day Java).

    Or just wait for Niall to post. The man's word is gospel!


  • Moderators, Society & Culture Moderators Posts: 17,642 Mod ✭✭✭✭Graham


    Both suggestions very valid depending on the direction the OP wants to head in.


  • Registered Users Posts: 12,775 ✭✭✭✭Gbear


    Graham wrote: »
    You're never going to know it all so first thing you should do is stop beating yourself up over it.

    What direction do you fancy heading in? App development, mobile apps, web dev, small business, enterprise? If you don't know, at least rule out the ones you don't fancy and we can work from there.

    I don't have any strong opinions on what to do.
    Web dev is grand and it's where the core of my skills lie.
    I can't imagine I'll be able to go too far afield from that in whatever step I take next.
    a fat guy wrote: »
    If you're planning on coming back to Ireland, Java is always in demand (read head first Java to get most of your day-to-day Java).

    Or just wait for Niall to post. The man's word is gospel!

    A book?
    What is this? 1998?:p

    I tried getting through a couple of programming books before, when I was in my late teens. Think they were VB and ASP.NET.
    I stopped when my eyes started bleeding.:pac:


  • Advertisement
  • Registered Users Posts: 6,150 ✭✭✭Talisman


    GBear: What do you want to do with your career? Do you want to focus on your current strengths or broaden your skills base?

    Magento is a niche market. You could focus on the platform and become an expert in the area. This would mean having to extend yourself to learn the ins and outs of the MySQL database side of things. You could develop some plugins and publish them on Github, this will stand to you when you're looking for another job.

    Magento was built using the Zend Framework, so delving deeper into Zend is an option. Zend has been around since 2006 so there have been a lot of legacy PHP applications built with it - It's another niche market.

    If you want to get away from Magento and Zend but stick with PHP it's also an option because 25-30% of all websites run some version of PHP. There are a multitude of other frameworks you could familiarise yourself with, the biggest ones being Laravel, Symfony, Phalcon, Yii, CodeIgniter and CakePHP.

    If you want to move into the realm of JavaScript then my recommendation would be to learn the language. Wes Bos created a free course which will help you familiarise yourself with the JavaScript language without relying on frameworks, you should check it out and decide whether JavaScript is for you. https://javascript30.com/

    You'll get plenty of recommendations to learn front end frameworks (React, Angular, Ember, Knockout, Backbone etc.) but learn JavaScript first. React is becoming the new jQuery, plenty of people are jumping on the wagon because it makes life easier for the frontend developer. But you don't need the React framework because you can apply the concept of the framework yourself if you are familiar with the JavaScript language and some common patterns.


  • Registered Users Posts: 403 ✭✭counterpointaud


    Talisman wrote: »

    If you want to move into the realm of JavaScript then my recommendation would be to learn the language. Wes Bos created a free course which will help you familiarise yourself with the JavaScript language without relying on frameworks, you should check it out and decide whether JavaScript is for you. https://javascript30.com/

    Good advice (and great course), but bear in mind the OP indicates he/she has been developing in JS for a couple of years now.


  • Registered Users Posts: 6,150 ✭✭✭Talisman


    Good advice (and great course), but bear in mind the OP indicates he/she has been developing in JS for a couple of years now.
    You can never be sure. I know people that have been working in the realm of Web Development for a lot longer than the OP. They think they know JavaScript because they can use jQuery and can also add analytics tags to pages and links.

    When you take away jQuery and their bloated plugins they **** themselves. Some of the same people use Bootstrap to do Responsive Design and tell themselves they're doing "Mobile First" because they toggle the device toolbar button in Chrome Dev Tools.


  • Registered Users Posts: 800 ✭✭✭a fat guy


    Gbear wrote: »
    I don't have any strong opinions on what to do.
    Web dev is grand and it's where the core of my skills lie.
    I can't imagine I'll be able to go too far afield from that in whatever step I take next.



    A book?
    What is this? 1998?:p

    I tried getting through a couple of programming books before, when I was in my late teens. Think they were VB and ASP.NET.
    I stopped when my eyes started bleeding.:pac:

    Under the section "Free Downloads" (You have to scroll down a little) you can check out a couple of chapters for free:

    http://www.headfirstlabs.com/books/hfjava/

    They're not suited to everyone, as they do explain things quite slowly/thoroughly. But for new subjects they're pretty awesome. Don't knock it until you've tried it.


  • Registered Users Posts: 12,775 ✭✭✭✭Gbear


    Talisman wrote: »
    What do you want to do with your career? Do you want to focus on your current strengths or broaden your skills base?

    I kinda just want a new job at this point.

    I don't feel like I can give any firm answer about what I want long term.
    I've had one job in one non-tech company in one tiny section of the industry.
    I'm not sure I know in any way what it means to be a programmer other than the most rudimentary sense.

    I'm happy enough doing what I'm doing. I just can't really afford to live off it and the specifics are a bit stifling.
    Talisman wrote: »
    You can never be sure. I know people that have been working in the realm of Web Development for a lot longer than the OP. They think they know JavaScript because they can use jQuery and can also add analytics tags to pages and links.

    When you take away jQuery and their bloated plugins they **** themselves. Some of the same people use Bootstrap to do Responsive Design and tell themselves they're doing "Mobile First" because they toggle the device toolbar button in Chrome Dev Tools.

    I fear you may be right.

    I've written a fair bit with JS - APIs, web apps and that kind of thing in addition to the day-to-day website functionality, but I worry about my capacity to effectively implement OOP and in general, manage a larger project.

    One of the reasons I feel I'm stagnating is because so much of my work is bolted on to existing code and I do very little from the ground up.
    It means my knowledge of PHP and JS are probably a lot patchier than they should be given the amount of time I spend using them.

    I worry that I'm trapped because the range of work I do isn't particularly transferrable on its own.
    It's a tricky question to answer for people who haven't watched me work, but I need to know if I'm good enough to get a job as things stand or whether I need to go off on my own bat outside of work hours and push for something.

    It could be as you say. Maybe the best would be to use my existing skills to really nail down the fundamentals of the languages I'm familiar with.


  • Advertisement
  • Registered Users Posts: 18,272 ✭✭✭✭Atomic Pineapple


    If you feel your stagnating in your job then you need to start working on stuff you enjoy outside your work hours, do some courses in JavaScript and use what you learn from them to create a web app. Stick it up on GitHub. Then repeat with something else.

    I agree with the advice on doing courses on core JavaScript, as it will stand to you much more in the long term, however be aware that job specs will be looking for the frameworks as key words so it is worthwhile doing some courses to understand how something like React or Angular works and perhaps rewriting the web app you done in standard JS with them.

    But my main point is that in software development you can't be reliant on what you do in your job to help improve yourself or show you capabilities to new potential employers.


  • Registered Users Posts: 6,150 ✭✭✭Talisman


    Gbear wrote: »
    I've written a fair bit with JS - APIs, web apps and that kind of thing in addition to the day-to-day website functionality, but I worry about my capacity to effectively implement OOP and in general, manage a larger project.
    You have a couple of years experience in a closed environment, I wouldn't expect you to have the level of experience to tackle large projects on your own. If you are looking for things to improve yourself then here's a list to get you started:

    Git - If you don't know how to use the version control system then you definitely need to start learning it.

    Write Tests - If you aren't already doing so unit test your code. Test Driven Development (TDD) practices will remove the fear of 'breaking' the application.

    Regular Expressions - Regular expressions can be used with just about any language so they will stand to you no matter what path your career takes. Regular Expressions Tutorial

    Basic SEO - Keyword research is the realm of marketing, but a web developer should have sound strategies for targeting the keywords on a web page. Using clean markup and proper use of <title>, <meta>, <h1>, <h2>, <img> and <a href> tags etc. SEOmoz Beginner's Guide to SEO Search Ranking Factors

    Databases - Familiarise yourself with the inner workings of SQL and NoSQL databases. MySQL/MariaDB are widely used in the PHP realm, but PostgreSQL is the best open source RDBMS offering and MongoDB is the dominant NoSQL offering. You don't have to become a DBA to know how to create indexes, identify slow running queries and know how to write more performant queries. Too many developers take the lazy option of assuming that either the ORM library or DB will magically clean up their mis-informed efforts.

    Learn Functional Programming - PHP code is imperative, JavaScript is pretty much anything that you want it to be once you know how. Functional programming is an absolute mind **** for developers who have become entrenched in the imperative/OOP way of doing things. Learning a purely functional language will alter how you approach problems and force you to create smaller functions that are easier to test and less prone to bugs.

    Functional Programming Languages to consider:

    Clojure - http://www.braveclojure.com
    Elm - https://github.com/isRuslan/awesome-elm
    F# - http://www.tryfsharp.org/
    Haskell - http://learnyouahaskell.com
    Scala - https://blog.codacy.com/2015/07/03/how-to-learn-scala

    Afterwards you can apply what you've learned to the JavaScript code that you'll write. By harnessing the power of libraries like Ramda and ramda-fantasy you will write beautiful clean code. Professor Frisby's Mostly Adequate Guide to Functional Programming
    One of the reasons I feel I'm stagnating is because so much of my work is bolted on to existing code and I do very little from the ground up.
    It means my knowledge of PHP and JS are probably a lot patchier than they should be given the amount of time I spend using them.
    That's very common with legacy systems, once the code is in place nobody gets to touch it. Instead of rewriting elements, code is bolted into the existing structure. This should change over time when TDD becomes prevalent.
    I worry that I'm trapped because the range of work I do isn't particularly transferrable on its own.
    It's a tricky question to answer for people who haven't watched me work, but I need to know if I'm good enough to get a job as things stand or whether I need to go off on my own bat outside of work hours and push for something.

    It could be as you say. Maybe the best would be to use my existing skills to really nail down the fundamentals of the languages I'm familiar with.
    Set yourself some project tasks related to your work and then try to implement them. Try simple things first - such as export inventory lists to Google Sheets. See how long it takes and where you get stuck, this will help you to identify areas you can improve, it will also improve your confidence in your own abilities. Use BitBucket as your Git solution if you don't want your efforts to be visible to the public.


  • Registered Users Posts: 586 ✭✭✭Aswerty


    While the OP has a gap in terms of experience with frameworks. I feel there is a bit much of an emphasis being made on what he should be learning as opposed to steering him towards doing up his CV so he can actually engage with the job market. Because that is the first and best step to finding a new job.

    From the sounds of it OP, I think you should definitely start looking for a new role as a junior PHP developer or junior front-end developer (or a full stack PHP developer). A few years ago I was in a similar position to what you've described and a change of jobs did me a world of good.
    While I understand the need for patience in gaining experience in your job...
    This is flat out untrue for junior developers. Any decent position should have had you on a pretty decent learning curve.


  • Closed Accounts Posts: 22,649 ✭✭✭✭beauf


    If you feel your stagnating in your job then you need to start working on stuff you enjoy outside your work hours, do some courses in JavaScript and use what you learn from them to create a web app. Stick it up on GitHub. Then repeat with something else......

    There was a time I used to do this, do a lot of stuff outside of work. haven't had the free time for that in years.


  • Registered Users Posts: 18,272 ✭✭✭✭Atomic Pineapple


    beauf wrote: »
    There was a time I used to do this, do a lot of stuff outside of work. haven't had the free time for that in years.

    Same as myself, its extremely hard but if you do have the time its a massive bonus when looking for a new job to be able to show work you done outside your normal job.


  • Registered Users Posts: 6,252 ✭✭✭Buford T Justice


    I will also add that unless you've got a serious cv of experience without some sort of formal qualifications you are drastically restricting your pool of potential employers. Most of the time you'll struggle to get past recruiters without it, and even then getting into the higher salaries will be a challenge.

    I was in a similar situation. I stagnated with my current employer quite some time ago, and I took the plunge and went back to college to get a formal qualification.


    Something to consider.


  • Registered Users Posts: 800 ✭✭✭a fat guy


    beauf wrote: »
    There was a time I used to do this, do a lot of stuff outside of work. haven't had the free time for that in years.
    Same as myself, its extremely hard but if you do have the time its a massive bonus when looking for a new job to be able to show work you done outside your normal job.

    Serious question, but how does this happen? I'm assuming you guys have kids/family to look after, but does it really become that difficult to find an hour every couple of days to do your own thing?

    I go to the gym three days a week and work on my Android app when I'm not in the gym or doing stuff with my girlfriend. It terrifies and completely puts me off the idea of having kids if I won't be able to find ten minutes a day to work on a side project or have to give up my fitness for years and become slovenly.

    If it makes any difference I'm 26.


  • Closed Accounts Posts: 22,649 ✭✭✭✭beauf


    As you get older you end up looking after older family and young family. As with all things in life you might have kids, (or parents) who are mainly undemanding. However you may have a kid or a parent, who is very demanding. Its the lottery of life. I find its also an issue of mind space. If you are are coding, or such you can't have constant interruptions. It breaks your train of though. Its a bit like trying to build a house of cards in the middle of a train station at peak. That said some kids have the opposite effect they actually make your life easier. But lets not make this about family life ;)

    Its a bit like doing support work. A but is fine and it gives the programmer a appreciation for the user group use the application, and you learn how to code out support issues by seeing the impact in real life. So you pre-empt them in your code and design. However the risk is you get interrupted constantly and which entirely incompatible with getting development done. Its a bit like running your own business as a developer. Trying to do sales, accounts and coding is a tough balancing act. Same with any self employed person running their own business.

    That said all the comments by other posters are exactly right. You need to be constantly learning in IT, knowing what skillets are in demand, and get those skills and maintain them.


  • Closed Accounts Posts: 22,649 ✭✭✭✭beauf


    I will also add that unless you've got a serious cv of experience without some sort of formal qualifications you are drastically restricting your pool of potential employers. Most of the time you'll struggle to get past recruiters without it, and even then getting into the higher salaries will be a challenge.

    I was in a similar situation. I stagnated with my current employer quite some time ago, and I took the plunge and went back to college to get a formal qualification.


    Something to consider.


    This exactly. Its much more important now for IT workers than it has ever been.


  • Registered Users Posts: 768 ✭✭✭14ned


    a fat guy wrote: »
    Or just wait for Niall to post. The man's word is gospel!

    Heh. Web programming is far from my experience, I wouldn't be able to advise on recent frameworks usefully. I'm still using Microsoft Expression Web which is terrible but matches where I'm at regarding web technologies :)
    As you get older you end up looking after older family and young family. As with all things in life you might have kids, (or parents) who are mainly undemanding. However you may have a kid or a parent, who is very demanding. Its the lottery of life. I find its also an issue of mind space. If you are are coding, or such you can't have constant interruptions. It breaks your train of though. Its a bit like trying to build a house of cards in the middle of a train station at peak. That said some kids have the opposite effect they actually make your life easier. But lets not make this about family life

    I couldn't agree more. With my two kids it was the first six months which were the worst. They are extremely demanding at that age, lots of walking around till 3am with them on your shoulder puking, that sort of thing. After that they get enough understanding to give you a very slight break when you need it, it makes a huge difference.

    I worked around the children problem by getting up even earlier and squeezing in 90 mins of coding on exciting non-work stuff before I go wake them up for school. It does come at the cost of you needing to go to bed with the kids though, and given I can't sleep after a big meal any more that meant I had to scrap dinner with the family after work too (which had a big effect on my weight gain, so it's worth it). That then places a big strain on your marriage because you never see each other. None of this stuff comes for free, and it feels like a zero sum game a lot of the time. But in the end, as with everything in life, it's all a balancing act and at any moment it can all fall down.

    One of the best things, in a way, with remote contracting is the long downtime gaps between contracts. I came out of contract start of this year after more than a year in contract. Actually have been spending quality time with the family these past two weeks. We're all heading to Galway and Limerick tomorrow for a fun day out. No idea how I'm going to keep the lights on and provide shelter, but while you're unemployed, enjoy yourself.

    Niall


  • Advertisement
  • Registered Users Posts: 12,775 ✭✭✭✭Gbear


    This is all really good advice.

    I'm definitely not going back to 3rd level education. I've tried that twice and failed it twice. It's not an environment I can work in. If that somewhat limits the heights I can reach, I'm not too concerned about that.
    I don't have any plans to start a family and I'm not that bothered about money in general, beyond a fairly low point. I'm a frugal-minded person.

    I still haven't actually done up my CV, so I'll probably throw that together. It's worth gathering all my skills together for my own brain if nothing else.

    I think it's a good idea to start off with some quick short term bits and pieces, like brushing up on git or getting a proper knowledge of SQL - making sure I know everything I currently work on. Some of the tutorials mentioned here and elsewhere will be a big help with that.

    If nothing else it'll make me better at my job and put me in a better position when my contract's up for renewel. If I can push towards taking more responsibility at work it'll be a chance to keep developing while I'm at my current job.

    After that I think I'll move to starting a couple of little pet projects, putting into practice what I've learned, and then maybe moving on to new material, frameworks or languages.

    I think I've had a few mistakes in my thinking. I've been overly concerned about box-ticking different skills rather than gaining a deeper understanding of things on a fundamental level.
    If I get a good enough grasp of programming then the new skills will come more easily and their endless number and fancy names will seem less daunting.

    Also, doing something; anything, actively to improve my skills will make me feel a lot less pessimistic about the whole enterprise, and from there I can build up some momentum, and try and fit improvement in programming into my day-to-day, rather than it being like a once off course I do and then never touch again.

    Cheers everyone.


Advertisement