Page 1 of 2 12 LastLast
Results 1 to 10 of 14

Thread: How to sharpen your tools as a senior software developer?

  1. Top | #1
    Contributor
    Join Date
    Jun 2010
    Location
    The North
    Posts
    9,216
    Archived
    9,514
    Total Posts
    18,730
    Rep Power
    46

    How to sharpen your tools as a senior software developer?

    Bit of a slow day at work so thought I'd throw this one out there for the amusement of our developers, and to get some ideas.

    To try to keep it concise, these things are true of my career right now:
    • I'm comfortable transitioning between languages, frameworks, and business domains
    • I'm up to date on all modern, popular technologies
    • I'm pretty good in the business / communication side of the field
    • I don't have the time or desire to code extensively in my spare time, but may tinker a bit
    • My current job isn't conducive to building architectural skills


    And yet given the above I feel like there's got to be something worthwhile out there for me to sink my teeth into. The more I read up on the field these days the more I feel like I'm hearing the same arguments and advice being re-hashed ad-nauseum.

    So - once you get pretty good at it, how do you get better?

  2. Top | #2
    Super Moderator
    Join Date
    Sep 2000
    Location
    Nevada
    Posts
    24,859
    Archived
    96,752
    Total Posts
    121,611
    Rep Power
    96
    Pick something you don't know how to write. Figure out how to write it.

  3. Top | #3
    Contributor
    Join Date
    Jun 2010
    Location
    The North
    Posts
    9,216
    Archived
    9,514
    Total Posts
    18,730
    Rep Power
    46
    Quote Originally Posted by Loren Pechtel View Post
    Pick something you don't know how to write. Figure out how to write it.
    That's where the - don't have the desire to code extensively in my spare time - point comes in. I wrote a bit of React a few months ago to get familiar with it, but save actually starting a small business it just doesn't feel like I'll get enough value out of serious coding in my spare time.

    I'm considering casually reading a few projects in technologies I'm not that familiar with - gets me a bit of novelty without the headache of banging my head against a wall for months.

  4. Top | #4
    Veteran Member
    Join Date
    Nov 2017
    Location
    seattle
    Posts
    4,966
    Rep Power
    12
    Seriously? It all depends what you mean by developer.

    Read Knuth's book Semi Numerical Algorithms. That will keep you busy. The bible of algorithms not mathematical. Also Sorting And Searching. Read books and code problems worked for me. One of the CS school projects has always been writing a text editor or word processor. I did not need to do those kinds of things, but that is the kind of thing I did to improve skill.

  5. Top | #5
    Veteran Member
    Join Date
    Nov 2017
    Location
    seattle
    Posts
    4,966
    Rep Power
    12
    Quote Originally Posted by rousseau View Post
    Quote Originally Posted by Loren Pechtel View Post
    Pick something you don't know how to write. Figure out how to write it.
    That's where the - don't have the desire to code extensively in my spare time - point comes in. I wrote a bit of React a few months ago to get familiar with it, but save actually starting a small business it just doesn't feel like I'll get enough value out of serious coding in my spare time.

    I'm considering casually reading a few projects in technologies I'm not that familiar with - gets me a bit of novelty without the headache of banging my head against a wall for months.
    That attitude is mutually exclusive with developing skill. If not you will stay at the level of relatively simple coding.


    There is one method, osmosis. Put a book under your pillow and sleep on it.

  6. Top | #6
    Veteran Member
    Join Date
    Dec 2010
    Location
    Riverside City
    Posts
    3,318
    Archived
    6,289
    Total Posts
    9,607
    Rep Power
    36
    Quote Originally Posted by rousseau View Post
    Quote Originally Posted by Loren Pechtel View Post
    Pick something you don't know how to write. Figure out how to write it.
    That's where the - don't have the desire to code extensively in my spare time - point comes in. I wrote a bit of React a few months ago to get familiar with it, but save actually starting a small business it just doesn't feel like I'll get enough value out of serious coding in my spare time.

    I'm considering casually reading a few projects in technologies I'm not that familiar with - gets me a bit of novelty without the headache of banging my head against a wall for months.
    Who said "extensively"? "something you don't know how to write" doesn't have to involve months of work. It can be that little thingy where a brute force iterative solution can be coded and tested on toy data in 10 minutes but runs for hours or days on realistic data sets, that requires you to think out of the box (and maybe look up some math) for a clever solution that can still be coded in half an hour and finishes in minutes or seconds.

  7. Top | #7
    Contributor
    Join Date
    Jun 2010
    Location
    The North
    Posts
    9,216
    Archived
    9,514
    Total Posts
    18,730
    Rep Power
    46
    Quote Originally Posted by steve_bank View Post
    Quote Originally Posted by rousseau View Post
    Quote Originally Posted by Loren Pechtel View Post
    Pick something you don't know how to write. Figure out how to write it.
    That's where the - don't have the desire to code extensively in my spare time - point comes in. I wrote a bit of React a few months ago to get familiar with it, but save actually starting a small business it just doesn't feel like I'll get enough value out of serious coding in my spare time.

    I'm considering casually reading a few projects in technologies I'm not that familiar with - gets me a bit of novelty without the headache of banging my head against a wall for months.
    That attitude is mutually exclusive with developing skill. If not you will stay at the level of relatively simple coding.

    There is one method, osmosis. Put a book under your pillow and sleep on it.
    That's the thing. I've already done a couple years of systems programming. I'm confident that if I pick out any app idea I can figure it out, just not without spending too much of my free time to do it, which I don't want to do.

    Some odd-ball tasks can be helpful, like familiarizing myself with some minor skills, just no desire to build a full blown Laravel, Rails, Mobile app etc.

    Quote Originally Posted by Jokodo View Post
    Quote Originally Posted by rousseau View Post
    Quote Originally Posted by Loren Pechtel View Post
    Pick something you don't know how to write. Figure out how to write it.
    That's where the - don't have the desire to code extensively in my spare time - point comes in. I wrote a bit of React a few months ago to get familiar with it, but save actually starting a small business it just doesn't feel like I'll get enough value out of serious coding in my spare time.

    I'm considering casually reading a few projects in technologies I'm not that familiar with - gets me a bit of novelty without the headache of banging my head against a wall for months.
    Who said "extensively"? "something you don't know how to write" doesn't have to involve months of work. It can be that little thingy where a brute force iterative solution can be coded and tested on toy data in 10 minutes but runs for hours or days on realistic data sets, that requires you to think out of the box (and maybe look up some math) for a clever solution that can still be coded in half an hour and finishes in minutes or seconds.
    I guess it depends on what you have in mind. I'm pretty confident in my ability to build things from scratch, which is why I believe just up and building an arbitrary app might have diminishing returns. I spent three years in college building smallish to medium sized apps, and two years at 3M building a prototype from the ground up.

    If I were to do something like build a full-blown PHP or Rails app that would provide a notch in the belt because it'd tack those skills onto the resume - the hard part is getting the motivation to actually do it.

  8. Top | #8
    Veteran Member KeepTalking's Avatar
    Join Date
    Jan 2010
    Location
    St. Louis Metro East
    Posts
    3,351
    Archived
    3,057
    Total Posts
    6,408
    Rep Power
    40
    Quote Originally Posted by rousseau View Post
    Bit of a slow day at work so thought I'd throw this one out there for the amusement of our developers, and to get some ideas.

    To try to keep it concise, these things are true of my career right now:
    • I'm comfortable transitioning between languages, frameworks, and business domains
    • I'm up to date on all modern, popular technologies
    • I'm pretty good in the business / communication side of the field
    • I don't have the time or desire to code extensively in my spare time, but may tinker a bit
    • My current job isn't conducive to building architectural skills


    And yet given the above I feel like there's got to be something worthwhile out there for me to sink my teeth into. The more I read up on the field these days the more I feel like I'm hearing the same arguments and advice being re-hashed ad-nauseum.

    So - once you get pretty good at it, how do you get better?
    I feel much the same way, especially with regard to not having the time or desire to code extensively in my spare time. For me the key seems to be that if you don't want your skills to stagnate, don't let your career stagnate. If you are not getting to branch out into new technologies to freshen up your skills on your current project, and feel you are getting left behind, then ask to be switched to another project. If your employer is unwilling, or unable to allow you to switch projects, or there or no other projects where you work that are engaging with new technologies, then it might be time to look for a new job that will allow you to do so.

    Switching jobs may also allow you the opportunity to improve your salary, so long as you have not hit the ceiling for Sr. Devs in your area. In general, I start looking for a new job after about 3 to 5 years in one place. I am 4 years into my current gig, and it is a great shop with a good number of teams working with different technologies. I have worked on at least 5 different projects since I have been here, and with most of those project changes a change of the tech stack came along with it. As a result, I have kept improving and expanding my skill set as a developer. Even at that, however, I am starting to get that 5 year itch. I know I haven't hit the salary ceiling for the area yet, but my salary is stagnating in my current position. I can jump ship and probably get a 20%-30% bump, or I can stick around until next spring and maybe get another 3%-4%, if I'm lucky. I just have to make sure that wherever I go they value embracing new technology as much as they do here.

  9. Top | #9
    Contributor
    Join Date
    Jun 2010
    Location
    The North
    Posts
    9,216
    Archived
    9,514
    Total Posts
    18,730
    Rep Power
    46
    Quote Originally Posted by KeepTalking View Post
    Quote Originally Posted by rousseau View Post
    Bit of a slow day at work so thought I'd throw this one out there for the amusement of our developers, and to get some ideas.

    To try to keep it concise, these things are true of my career right now:
    • I'm comfortable transitioning between languages, frameworks, and business domains
    • I'm up to date on all modern, popular technologies
    • I'm pretty good in the business / communication side of the field
    • I don't have the time or desire to code extensively in my spare time, but may tinker a bit
    • My current job isn't conducive to building architectural skills


    And yet given the above I feel like there's got to be something worthwhile out there for me to sink my teeth into. The more I read up on the field these days the more I feel like I'm hearing the same arguments and advice being re-hashed ad-nauseum.

    So - once you get pretty good at it, how do you get better?
    I feel much the same way, especially with regard to not having the time or desire to code extensively in my spare time. For me the key seems to be that if you don't want your skills to stagnate, don't let your career stagnate. If you are not getting to branch out into new technologies to freshen up your skills on your current project, and feel you are getting left behind, then ask to be switched to another project. If your employer is unwilling, or unable to allow you to switch projects, or there or no other projects where you work that are engaging with new technologies, then it might be time to look for a new job that will allow you to do so.

    Switching jobs may also allow you the opportunity to improve your salary, so long as you have not hit the ceiling for Sr. Devs in your area. In general, I start looking for a new job after about 3 to 5 years in one place. I am 4 years into my current gig, and it is a great shop with a good number of teams working with different technologies. I have worked on at least 5 different projects since I have been here, and with most of those project changes a change of the tech stack came along with it. As a result, I have kept improving and expanding my skill set as a developer. Even at that, however, I am starting to get that 5 year itch. I know I haven't hit the salary ceiling for the area yet, but my salary is stagnating in my current position. I can jump ship and probably get a 20%-30% bump, or I can stick around until next spring and maybe get another 3%-4%, if I'm lucky. I just have to make sure that wherever I go they value embracing new technology as much as they do here.
    You actually hit the issue I'm having on the head.

    In theory, I'd like to follow the move around advice, but not only have I hit the ceiling for senior devs in my area, but I'm also now a part of one of the strongest defined benefit pensions in the world. Every year I accrue makes me significantly wealthier, while I work in a job with minimal stress, great management, and a culture I enjoy. Meet golden handcuffs.

    Going into the role I knew the tech here was a bit outdated and that I'd have to keep up on the side or my skills would fall behind, but it was a trade off I took knowing the above advantages of the job. Now I'm three years in, and at best I get to work on something that's moderately challenging and interesting, although usually outdated, and at worst something that's tedious but needs doing.

    It actually feels like a bit of a rut. I'm somewhat bored, but also aware that the grass isn't always greener on the other side. I could jump ship but end up worse off financially, and have the stress meter fall too far on the other side.

    Oh and I forgot the other big thing - I also work a few minute walk from my alma mater, where I have alumni access to one of the biggest academic libraries in Canada. So the job has a lot of perks going for it - unfortunately the tech is certainly not one of them. Even my manager has joked about it a few times.

  10. Top | #10
    Veteran Member
    Join Date
    Nov 2017
    Location
    seattle
    Posts
    4,966
    Rep Power
    12
    Quote Originally Posted by rousseau View Post
    Quote Originally Posted by steve_bank View Post

    That attitude is mutually exclusive with developing skill. If not you will stay at the level of relatively simple coding.

    There is one method, osmosis. Put a book under your pillow and sleep on it.
    That's the thing. I've already done a couple years of systems programming. I'm confident that if I pick out any app idea I can figure it out, just not without spending too much of my free time to do it, which I don't want to do.

    Some odd-ball tasks can be helpful, like familiarizing myself with some minor skills, just no desire to build a full blown Laravel, Rails, Mobile app etc.

    Quote Originally Posted by Jokodo View Post
    Quote Originally Posted by rousseau View Post
    Quote Originally Posted by Loren Pechtel View Post
    Pick something you don't know how to write. Figure out how to write it.
    That's where the - don't have the desire to code extensively in my spare time - point comes in. I wrote a bit of React a few months ago to get familiar with it, but save actually starting a small business it just doesn't feel like I'll get enough value out of serious coding in my spare time.

    I'm considering casually reading a few projects in technologies I'm not that familiar with - gets me a bit of novelty without the headache of banging my head against a wall for months.
    Who said "extensively"? "something you don't know how to write" doesn't have to involve months of work. It can be that little thingy where a brute force iterative solution can be coded and tested on toy data in 10 minutes but runs for hours or days on realistic data sets, that requires you to think out of the box (and maybe look up some math) for a clever solution that can still be coded in half an hour and finishes in minutes or seconds.
    I guess it depends on what you have in mind. I'm pretty confident in my ability to build things from scratch, which is why I believe just up and building an arbitrary app might have diminishing returns. I spent three years in college building smallish to medium sized apps, and two years at 3M building a prototype from the ground up.

    If I were to do something like build a full-blown PHP or Rails app that would provide a notch in the belt because it'd tack those skills onto the resume - the hard part is getting the motivation to actually do it.
    I learned a long time ago people are motivated or they are not. You asked for advice and got it. Now you are saying you do not really need better skills.

    You have a history of threads asking for advice. Several on investing. Why not pick up a book?

    Maybe you are just looking for self reinforcement. Nothing wrong with that unless it is chronic.

    For me technology was often hard work and frustrating. What gives me satisfaction was completing something useful, and jus as importantly the people I got to work with.

    I feel sorry for those who never experience that.

    I have not played a video game since the early 80s. I'd rather read a book or work problems.

    When I worked at Intel in the 80s there was a name for some engineers, retiring in place. They get senior pay grade and are competent in an area and that is it for them. They get married, have kids and have no interest in it outside of work. It all depends on what you want.

    It is all about choices. I intentionally made the effort to build a foundation in physic and different areas. Thermodynamics, fluid mechanics and so on.

    It served me well. For 30 years I had a series of interesting challenging projects from optics to computer systems. and worked with many good people. I could not have just stood still. Sitting around talking science and engineering was always a pleasure.

    Learning something new is the best entertainment. The money was important for sure. More important was the work itself and the people, that is what got me out of bed in the morning.

    As a materials engineer I worked with put it, 'You mean they pay me to do this stuff?'. People who et intrinsic satisfaction form work be it an engineer or a carpenter.

    If it is just a job to make money that is ok. It is all about choices.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •